ngwr 7.2.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 +8 -7
- 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 +3 -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 +18 -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 +13 -3
- package/dialog/styles/_index.scss +3 -3
- package/divider/styles/_index.scss +1 -1
- package/drawer/styles/_index.scss +13 -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 +50 -9
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- 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 +39 -15
- 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 +18 -8
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer.mjs +80 -19
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- 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 +60 -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 +14 -16
- 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 +18 -7
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
- 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 +20 -14
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +45 -11
- 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 +99 -25
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +13 -6
- package/fesm2022/ngwr-toolbar.mjs.map +1 -1
- 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 +31 -10
- package/list/styles/_index.scss +3 -3
- package/llms-full.txt +668 -0
- package/llms.txt +106 -0
- package/mention/styles/_index.scss +2 -2
- package/overlay/styles/_index.scss +1 -1
- package/package.json +1 -6
- package/pagination/styles/_index.scss +36 -25
- 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 +5 -3
- package/speed-dial/styles/_index.scss +1 -0
- package/splitter/styles/_index.scss +7 -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 +69 -8
- package/tabs/styles/_index.scss +46 -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 +15 -5
- package/toolbar/styles/_index.scss +30 -1
- package/tree/styles/_index.scss +18 -17
- package/types/ngwr-alert.d.ts +16 -6
- package/types/ngwr-carousel.d.ts +8 -1
- 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 -3
- 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-drag-drop.d.ts +13 -1
- package/types/ngwr-drawer.d.ts +11 -3
- 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 +14 -1
- package/types/ngwr-pagination.d.ts +10 -10
- package/types/ngwr-radio.d.ts +14 -3
- package/types/ngwr-rating.d.ts +5 -1
- package/types/ngwr-rotating-text.d.ts +1 -0
- 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-table.d.ts +7 -1
- package/types/ngwr-tabs.d.ts +6 -0
- package/types/ngwr-textarea.d.ts +25 -3
- package/types/ngwr-toast.d.ts +7 -1
- package/types/ngwr-toolbar.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
package/tree/styles/_index.scss
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
display: block;
|
|
7
7
|
font-family: var(--wr-font-family-base);
|
|
8
|
-
font-size:
|
|
8
|
+
font-size: var(--wr-text-sm);
|
|
9
9
|
color: var(--wr-color-dark);
|
|
10
10
|
|
|
11
11
|
&__list {
|
|
@@ -29,19 +29,18 @@
|
|
|
29
29
|
color var(--wr-transition-base);
|
|
30
30
|
|
|
31
31
|
&:hover:not(.wr-tree__row--disabled) {
|
|
32
|
-
background:
|
|
32
|
+
background: var(--wr-color-hover);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
&--selected {
|
|
36
|
-
background:
|
|
36
|
+
background: var(--wr-color-primary-soft);
|
|
37
37
|
color: var(--wr-color-primary);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// Visible ring only when the row truly has keyboard focus — not
|
|
41
41
|
// just because it's the roving-tabindex cursor row.
|
|
42
42
|
&:focus-visible {
|
|
43
|
-
|
|
44
|
-
box-shadow: 0 0 0 2px rgba(var(--wr-color-primary-rgb), 0.25);
|
|
43
|
+
@include theme.focus-ring;
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
&--disabled {
|
|
@@ -100,11 +99,13 @@
|
|
|
100
99
|
--wr-tree-trigger-color: var(--wr-color-dark);
|
|
101
100
|
--wr-tree-trigger-bg: var(--wr-color-white);
|
|
102
101
|
--wr-tree-trigger-border: var(--wr-color-light);
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
--wr-tree-trigger-
|
|
106
|
-
--wr-tree-trigger-
|
|
107
|
-
--wr-tree-trigger-
|
|
102
|
+
// Combobox trigger on the md control contract (30px, radius 6) so it lines
|
|
103
|
+
// up with select / input / button when used as a tree-select.
|
|
104
|
+
--wr-tree-trigger-radius: var(--wr-control-radius-md);
|
|
105
|
+
--wr-tree-trigger-padding-y: var(--wr-control-padding-y-md);
|
|
106
|
+
--wr-tree-trigger-padding-x: var(--wr-control-padding-x-md);
|
|
107
|
+
--wr-tree-trigger-font-size: var(--wr-control-font-size-md);
|
|
108
|
+
--wr-tree-trigger-line-height: var(--wr-control-line-height-md);
|
|
108
109
|
--wr-tree-panel-max-height: 18rem;
|
|
109
110
|
|
|
110
111
|
display: inline-flex;
|
|
@@ -138,9 +139,8 @@
|
|
|
138
139
|
box-shadow var(--wr-transition-base);
|
|
139
140
|
|
|
140
141
|
&:focus-visible {
|
|
141
|
-
outline: none;
|
|
142
142
|
border-color: var(--wr-color-primary);
|
|
143
|
-
|
|
143
|
+
@include theme.focus-ring;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
&:disabled {
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
&__placeholder {
|
|
165
|
-
color:
|
|
165
|
+
color: var(--wr-color-text-muted);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
&__chevron {
|
|
@@ -202,7 +202,8 @@
|
|
|
202
202
|
flex-wrap: wrap;
|
|
203
203
|
align-items: center;
|
|
204
204
|
padding: 0.25rem 0.5rem;
|
|
205
|
-
|
|
205
|
+
// Empty / one-row floor = single-mode height (+2px for the border).
|
|
206
|
+
min-height: calc(var(--wr-tree-trigger-line-height) + var(--wr-tree-trigger-padding-y) * 2 + 2px);
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
&__chips {
|
|
@@ -221,9 +222,9 @@
|
|
|
221
222
|
max-width: 100%;
|
|
222
223
|
padding: 0.125rem 0.25rem 0.125rem 0.5rem;
|
|
223
224
|
border-radius: 999px;
|
|
224
|
-
background:
|
|
225
|
+
background: var(--wr-color-primary-soft);
|
|
225
226
|
color: var(--wr-color-primary);
|
|
226
|
-
font-size:
|
|
227
|
+
font-size: var(--wr-text-sm);
|
|
227
228
|
line-height: 1.4;
|
|
228
229
|
user-select: none;
|
|
229
230
|
}
|
|
@@ -246,7 +247,7 @@
|
|
|
246
247
|
transition: background 0.12s ease;
|
|
247
248
|
|
|
248
249
|
&:hover {
|
|
249
|
-
background:
|
|
250
|
+
background: var(--wr-color-primary-active);
|
|
250
251
|
}
|
|
251
252
|
}
|
|
252
253
|
|
package/types/ngwr-alert.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import * as _angular_core from '@angular/core';
|
|
|
9
9
|
/**
|
|
10
10
|
* Visual variant of the alert.
|
|
11
11
|
*/
|
|
12
|
-
type WrAlertType = 'info' | 'success' | 'warning' | 'danger';
|
|
12
|
+
type WrAlertType = 'info' | 'success' | 'warning' | 'danger' | 'neutral' | 'offline';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Inline status banner. Use for feedback messages — saved/failed/notice etc.
|
|
@@ -23,14 +23,24 @@ type WrAlertType = 'info' | 'success' | 'warning' | 'danger';
|
|
|
23
23
|
* @see https://ngwr.dev/components/alert
|
|
24
24
|
*/
|
|
25
25
|
declare class WrAlert {
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Optional headline shown at the top of the alert.
|
|
28
|
+
*
|
|
29
|
+
* @default null
|
|
30
|
+
*/
|
|
31
|
+
readonly title: _angular_core.InputSignal<string | null>;
|
|
28
32
|
/**
|
|
29
33
|
* Visual variant.
|
|
30
34
|
*
|
|
31
35
|
* @default 'info'
|
|
32
36
|
*/
|
|
33
37
|
readonly type: _angular_core.InputSignal<WrAlertType>;
|
|
38
|
+
/**
|
|
39
|
+
* Override the default per-type icon with any ngwr icon name.
|
|
40
|
+
*
|
|
41
|
+
* @default null
|
|
42
|
+
*/
|
|
43
|
+
readonly iconName: _angular_core.InputSignal<string | null>;
|
|
34
44
|
/**
|
|
35
45
|
* Optional secondary message rendered below the title.
|
|
36
46
|
*
|
|
@@ -38,8 +48,8 @@ declare class WrAlert {
|
|
|
38
48
|
*/
|
|
39
49
|
readonly message: _angular_core.InputSignal<string | null>;
|
|
40
50
|
/**
|
|
41
|
-
* When `true`, renders a leading status icon matching the `type
|
|
42
|
-
*
|
|
51
|
+
* When `true`, renders a leading status icon matching the `type`.
|
|
52
|
+
* Pass `false` to hide. Ignored when `iconName` is set.
|
|
43
53
|
*
|
|
44
54
|
* @default true
|
|
45
55
|
*/
|
|
@@ -61,7 +71,7 @@ declare class WrAlert {
|
|
|
61
71
|
protected readonly liveLevel: _angular_core.Signal<"assertive" | "polite" | null>;
|
|
62
72
|
protected onClose(): void;
|
|
63
73
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrAlert, never>;
|
|
64
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAlert, "wr-alert", never, { "title": { "alias": "title"; "required":
|
|
74
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAlert, "wr-alert", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "iconName": { "alias": "iconName"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "closeable": { "alias": "closeable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
|
|
65
75
|
}
|
|
66
76
|
|
|
67
77
|
export { WrAlert };
|
package/types/ngwr-carousel.d.ts
CHANGED
|
@@ -39,7 +39,10 @@ declare class WrCarousel {
|
|
|
39
39
|
readonly loop: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
40
40
|
protected readonly slides: _angular_core.Signal<readonly WrCarouselSlide[]>;
|
|
41
41
|
protected readonly count: _angular_core.Signal<number>;
|
|
42
|
-
/**
|
|
42
|
+
/** Live horizontal drag offset (px) during a touch swipe. */
|
|
43
|
+
protected readonly dragX: _angular_core.WritableSignal<number>;
|
|
44
|
+
protected readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
45
|
+
/** CSS transform for the track — the per-slide offset plus any live drag. */
|
|
43
46
|
protected readonly trackStyle: _angular_core.Signal<string>;
|
|
44
47
|
private timer;
|
|
45
48
|
private readonly paused;
|
|
@@ -50,6 +53,10 @@ declare class WrCarousel {
|
|
|
50
53
|
goTo(index: number): void;
|
|
51
54
|
next(): void;
|
|
52
55
|
prev(): void;
|
|
56
|
+
private swipeStartX;
|
|
57
|
+
protected onSwipeStart(event: TouchEvent): void;
|
|
58
|
+
protected onSwipeMove(event: TouchEvent): void;
|
|
59
|
+
protected onSwipeEnd(event: TouchEvent, viewport: HTMLElement): void;
|
|
53
60
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCarousel, never>;
|
|
54
61
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCarousel, "wr-carousel", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "showArrows": { "alias": "showArrows"; "required": false; "isSignal": true; }; "showDots": { "alias": "showDots"; "required": false; "isSignal": true; }; "autoplay": { "alias": "autoplay"; "required": false; "isSignal": true; }; "intervalMs": { "alias": "intervalMs"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["slides"], ["*"], true, never>;
|
|
55
62
|
}
|
package/types/ngwr-cascader.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ interface WrCascaderOption<T = string> {
|
|
|
43
43
|
*
|
|
44
44
|
* @see https://ngwr.dev/components/cascader
|
|
45
45
|
*/
|
|
46
|
+
type WrCascaderSize = 'sm' | 'md' | 'lg';
|
|
46
47
|
declare class WrCascader<T = string> implements ControlValueAccessor {
|
|
47
48
|
/** Root-level options. Each may have `children` for deeper levels. */
|
|
48
49
|
readonly options: _angular_core.InputSignal<readonly WrCascaderOption<T>[]>;
|
|
@@ -50,6 +51,8 @@ declare class WrCascader<T = string> implements ControlValueAccessor {
|
|
|
50
51
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
51
52
|
/** Disable the cascader. */
|
|
52
53
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
54
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
55
|
+
readonly size: _angular_core.InputSignal<WrCascaderSize>;
|
|
53
56
|
/** Show a clear-all (×) button on the trigger when a path is selected. @default true */
|
|
54
57
|
readonly clearable: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
55
58
|
/**
|
|
@@ -100,8 +103,8 @@ declare class WrCascader<T = string> implements ControlValueAccessor {
|
|
|
100
103
|
private openOverlay;
|
|
101
104
|
private closeOverlay;
|
|
102
105
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCascader<any>, never>;
|
|
103
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCascader<any>, "wr-cascader", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "changeOnSelect": { "alias": "changeOnSelect"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
106
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCascader<any>, "wr-cascader", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "changeOnSelect": { "alias": "changeOnSelect"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
104
107
|
}
|
|
105
108
|
|
|
106
109
|
export { WrCascader };
|
|
107
|
-
export type { WrCascaderOption };
|
|
110
|
+
export type { WrCascaderOption, WrCascaderSize };
|
package/types/ngwr-checkbox.d.ts
CHANGED
|
@@ -25,6 +25,7 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
25
25
|
*
|
|
26
26
|
* @see https://ngwr.dev/components/checkbox
|
|
27
27
|
*/
|
|
28
|
+
type WrCheckboxSize = 'sm' | 'md' | 'lg';
|
|
28
29
|
declare class WrCheckbox implements ControlValueAccessor {
|
|
29
30
|
/**
|
|
30
31
|
* Stable id used to associate the native input with its label.
|
|
@@ -43,6 +44,8 @@ declare class WrCheckbox implements ControlValueAccessor {
|
|
|
43
44
|
* @default false
|
|
44
45
|
*/
|
|
45
46
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
47
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
48
|
+
readonly size: _angular_core.InputSignal<WrCheckboxSize>;
|
|
46
49
|
/**
|
|
47
50
|
* Optional icon name rendered inside the box when checked, in place of the
|
|
48
51
|
* default checkmark. Use any registered NGWR icon.
|
|
@@ -65,7 +68,7 @@ declare class WrCheckbox implements ControlValueAccessor {
|
|
|
65
68
|
protected onInputChange(event: Event): void;
|
|
66
69
|
protected onInputBlur(): void;
|
|
67
70
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCheckbox, never>;
|
|
68
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckbox, "wr-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
71
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckbox, "wr-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
/**
|
|
@@ -136,4 +139,4 @@ declare class WrCheckboxGroup implements ControlValueAccessor, WrCheckboxGroupCo
|
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
export { WR_CHECKBOX_GROUP, WrCheckbox, WrCheckboxGroup };
|
|
139
|
-
export type { WrCheckboxGroupContext };
|
|
142
|
+
export type { WrCheckboxGroupContext, WrCheckboxSize };
|
|
@@ -19,7 +19,12 @@ type WrClickSparkEasing = 'linear' | 'ease-in' | 'ease-in-out' | 'ease-out';
|
|
|
19
19
|
* @see https://www.reactbits.dev/animations/click-spark
|
|
20
20
|
*/
|
|
21
21
|
declare class WrClickSpark {
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Spark line colour. Accepts any CSS colour, or a `var(--wr-…)` token which is
|
|
24
|
+
* resolved against the host so it tracks the theme. The default flips with the
|
|
25
|
+
* theme — dark sparks in light mode, light sparks in dark.
|
|
26
|
+
* @default 'var(--wr-color-dark)'
|
|
27
|
+
*/
|
|
23
28
|
readonly sparkColor: _angular_core.InputSignal<string>;
|
|
24
29
|
/** Length of each spark line in pixels (at t=0; tapers to 0 at t=1). @default 10 */
|
|
25
30
|
readonly sparkSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
@@ -41,6 +46,13 @@ declare class WrClickSpark {
|
|
|
41
46
|
private sparks;
|
|
42
47
|
constructor();
|
|
43
48
|
protected onClick(event: MouseEvent): void;
|
|
49
|
+
/**
|
|
50
|
+
* Canvas `strokeStyle` can't read CSS custom properties, so a `var(--wr-…)`
|
|
51
|
+
* token is resolved against the host's computed style here. Plain colours
|
|
52
|
+
* pass through untouched. Falls back to a dark literal if the custom
|
|
53
|
+
* property resolves to nothing.
|
|
54
|
+
*/
|
|
55
|
+
private resolveColor;
|
|
44
56
|
private syncCanvasSize;
|
|
45
57
|
private watchResize;
|
|
46
58
|
private startLoop;
|
|
@@ -41,7 +41,18 @@ declare class WrClipboard {
|
|
|
41
41
|
* when the user denied the permission prompt.
|
|
42
42
|
*/
|
|
43
43
|
read(): Promise<string | null>;
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Report whether clipboard read / write is available and, when the
|
|
46
|
+
* browser exposes it, what the user has granted.
|
|
47
|
+
*
|
|
48
|
+
* The answer is grounded in the actual Clipboard API capability
|
|
49
|
+
* (`writeText` / `readText`), then refined by the Permissions API when
|
|
50
|
+
* it can speak for the requested name. `clipboard-read` / `clipboard-write`
|
|
51
|
+
* are not recognised everywhere — Firefox and Safari throw on the query —
|
|
52
|
+
* so a missing or throwing Permissions API is treated as "supported,
|
|
53
|
+
* will resolve at use time" (`'prompt'`), not `'unsupported'`. We only
|
|
54
|
+
* return `'unsupported'` when the capability genuinely isn't there.
|
|
55
|
+
*/
|
|
45
56
|
permission(name: 'read' | 'write'): Promise<WrClipboardPermission>;
|
|
46
57
|
/** Hidden-textarea + `execCommand('copy')` write. Synchronous, no permissions. */
|
|
47
58
|
private legacyWrite;
|
|
@@ -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).
|
|
@@ -146,6 +153,16 @@ declare class WrContextMenuItem {
|
|
|
146
153
|
*/
|
|
147
154
|
static disposeAll(immediate: boolean): void;
|
|
148
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;
|
|
149
166
|
/** @internal Keyboard activation — Enter / Space. */
|
|
150
167
|
protected activate(event: Event): void;
|
|
151
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 };
|
|
@@ -47,6 +47,18 @@ declare class WrSortableList<T = unknown> {
|
|
|
47
47
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
48
48
|
/** Locked axis — restrict drag movement to one axis even diagonally. */
|
|
49
49
|
readonly lockAxis: _angular_core.InputSignal<"x" | "y" | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Delay (ms) before a drag begins after the pointer goes down. The touch
|
|
52
|
+
* delay is the fix for the classic CDK touch snag: without it, the
|
|
53
|
+
* `touch-action: none` CDK puts on each item blocks scrolling the list on a
|
|
54
|
+
* phone. With a small touch delay, a quick swipe scrolls and a brief hold
|
|
55
|
+
* starts the drag; mouse stays instant. Pass a single number to apply one
|
|
56
|
+
* delay to both pointers. @default { touch: 150, mouse: 0 }
|
|
57
|
+
*/
|
|
58
|
+
readonly dragStartDelay: _angular_core.InputSignal<number | {
|
|
59
|
+
touch: number;
|
|
60
|
+
mouse: number;
|
|
61
|
+
}>;
|
|
50
62
|
/** `trackBy` for the inner `@for`. Defaults to identity. */
|
|
51
63
|
readonly trackBy: _angular_core.InputSignal<(index: number, item: T) => unknown>;
|
|
52
64
|
/** Fired after a successful reorder with the new array + indices. */
|
|
@@ -54,7 +66,7 @@ declare class WrSortableList<T = unknown> {
|
|
|
54
66
|
protected readonly rowTemplate: _angular_core.Signal<TemplateRef<any>>;
|
|
55
67
|
protected onDrop(event: CdkDragDrop<T[]>): void;
|
|
56
68
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSortableList<any>, never>;
|
|
57
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSortableList<any>, "wr-sortable-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "lockAxis"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "reorder": "reorder"; }, ["rowTemplate"], never, true, never>;
|
|
69
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSortableList<any>, "wr-sortable-list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "lockAxis": { "alias": "lockAxis"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "trackBy": { "alias": "trackBy"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "reorder": "reorder"; }, ["rowTemplate"], never, true, never>;
|
|
58
70
|
}
|
|
59
71
|
|
|
60
72
|
/**
|
package/types/ngwr-drawer.d.ts
CHANGED
|
@@ -51,9 +51,9 @@ declare class WrDrawer {
|
|
|
51
51
|
*/
|
|
52
52
|
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
53
53
|
/**
|
|
54
|
-
* Render a grab handle at the leading edge
|
|
55
|
-
*
|
|
56
|
-
* @default false
|
|
54
|
+
* Render a grab handle at the leading edge and enable swipe-to-dismiss:
|
|
55
|
+
* drag the handle toward the drawer's edge (down for `bottom`, left for
|
|
56
|
+
* `left`, …) and release past ~30% of the panel to close. @default false
|
|
57
57
|
*/
|
|
58
58
|
readonly showHandle: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
59
59
|
/**
|
|
@@ -69,6 +69,14 @@ declare class WrDrawer {
|
|
|
69
69
|
readonly closeOnEscape: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
70
70
|
protected readonly panelTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
71
71
|
protected panelClass(): string;
|
|
72
|
+
private swipeStartX;
|
|
73
|
+
private swipeStartY;
|
|
74
|
+
private swiping;
|
|
75
|
+
protected onSwipeStart(event: TouchEvent): void;
|
|
76
|
+
protected onSwipeMove(event: TouchEvent, panel: HTMLElement): void;
|
|
77
|
+
protected onSwipeEnd(event: TouchEvent, panel: HTMLElement): void;
|
|
78
|
+
/** Axis + sign of the closing direction for the current position. */
|
|
79
|
+
private closeAxis;
|
|
72
80
|
private readonly overlay;
|
|
73
81
|
private readonly vcr;
|
|
74
82
|
private readonly destroyRef;
|
|
@@ -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 };
|