ngwr 11.0.0 → 11.2.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/action-sheet/styles/_index.scss +4 -1
- package/anchor/styles/_index.scss +2 -1
- package/calendar/styles/_index.scss +11 -2
- package/cascader/styles/_index.scss +3 -1
- package/circular-text/styles/_index.scss +11 -0
- package/command-palette/styles/_index.scss +14 -1
- package/context-menu/styles/_index.scss +2 -1
- package/falling-text/styles/_index.scss +2 -1
- package/fesm2022/ngwr-action-sheet-testing.mjs +313 -0
- package/fesm2022/ngwr-action-sheet-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bar-chart-testing.mjs +89 -0
- package/fesm2022/ngwr-bar-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-blur-text-testing.mjs +203 -0
- package/fesm2022/ngwr-blur-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-blur-text.mjs +15 -1
- package/fesm2022/ngwr-blur-text.mjs.map +1 -1
- package/fesm2022/ngwr-border-glow-testing.mjs +325 -0
- package/fesm2022/ngwr-border-glow-testing.mjs.map +1 -0
- package/fesm2022/ngwr-border-glow.mjs +2 -2
- package/fesm2022/ngwr-breadcrumbs.mjs +2 -2
- package/fesm2022/ngwr-calendar-heatmap-testing.mjs +95 -0
- package/fesm2022/ngwr-calendar-heatmap-testing.mjs.map +1 -0
- package/fesm2022/ngwr-calendar-testing.mjs +368 -0
- package/fesm2022/ngwr-calendar-testing.mjs.map +1 -0
- package/fesm2022/ngwr-calendar.mjs +43 -3
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +2 -2
- package/fesm2022/ngwr-cascader.mjs +14 -2
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +8 -0
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text-testing.mjs +230 -0
- package/fesm2022/ngwr-circular-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-circular-text.mjs +2 -2
- package/fesm2022/ngwr-circular-text.mjs.map +1 -1
- package/fesm2022/ngwr-color-picker-testing.mjs +432 -0
- package/fesm2022/ngwr-color-picker-testing.mjs.map +1 -0
- package/fesm2022/ngwr-color-picker.mjs +29 -3
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu.mjs +25 -5
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker-testing.mjs +10 -79
- package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -1
- package/fesm2022/ngwr-decrypt-text-testing.mjs +261 -0
- package/fesm2022/ngwr-decrypt-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-decrypt-text.mjs +6 -1
- package/fesm2022/ngwr-decrypt-text.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart-testing.mjs +93 -0
- package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-drag-drop.mjs +2 -2
- package/fesm2022/ngwr-drawer.mjs +36 -7
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +32 -2
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-event-calendar-testing.mjs +446 -0
- package/fesm2022/ngwr-event-calendar-testing.mjs.map +1 -0
- package/fesm2022/ngwr-event-calendar.mjs +43 -18
- package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text-testing.mjs +218 -0
- package/fesm2022/ngwr-falling-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-falling-text.mjs +2 -2
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text-testing.mjs +134 -0
- package/fesm2022/ngwr-fuzzy-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-gauge-testing.mjs +86 -0
- package/fesm2022/ngwr-gauge-testing.mjs.map +1 -0
- package/fesm2022/ngwr-glitch-text-testing.mjs +181 -0
- package/fesm2022/ngwr-glitch-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-glitch-text.mjs +2 -2
- package/fesm2022/ngwr-gradient-text-testing.mjs +223 -0
- package/fesm2022/ngwr-gradient-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-gradient-text.mjs +2 -2
- package/fesm2022/ngwr-i18n-en.mjs +14 -0
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +14 -0
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-image-cropper-testing.mjs +156 -0
- package/fesm2022/ngwr-image-cropper-testing.mjs.map +1 -0
- package/fesm2022/ngwr-image-cropper.mjs +10 -3
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
- package/fesm2022/ngwr-input-number.mjs +73 -6
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-knob-testing.mjs +220 -0
- package/fesm2022/ngwr-knob-testing.mjs.map +1 -0
- package/fesm2022/ngwr-lightbox-testing.mjs +223 -0
- package/fesm2022/ngwr-lightbox-testing.mjs.map +1 -0
- package/fesm2022/ngwr-lightbox.mjs +9 -2
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart-testing.mjs +119 -0
- package/fesm2022/ngwr-line-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-list.mjs +2 -2
- package/fesm2022/ngwr-loading-bar.mjs +2 -2
- package/fesm2022/ngwr-marquee-testing.mjs +336 -0
- package/fesm2022/ngwr-marquee-testing.mjs.map +1 -0
- package/fesm2022/ngwr-marquee.mjs +2 -2
- package/fesm2022/ngwr-meter-group-testing.mjs +80 -0
- package/fesm2022/ngwr-meter-group-testing.mjs.map +1 -0
- package/fesm2022/ngwr-overlay.mjs +28 -1
- package/fesm2022/ngwr-overlay.mjs.map +1 -1
- package/fesm2022/ngwr-popover.mjs +14 -0
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-rotating-text-testing.mjs +220 -0
- package/fesm2022/ngwr-rotating-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-rotating-text.mjs +2 -2
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +70 -11
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text-testing.mjs +237 -0
- package/fesm2022/ngwr-shiny-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-shiny-text.mjs +2 -2
- package/fesm2022/ngwr-slider.mjs +44 -6
- package/fesm2022/ngwr-slider.mjs.map +1 -1
- package/fesm2022/ngwr-sparkline-testing.mjs +76 -0
- package/fesm2022/ngwr-sparkline-testing.mjs.map +1 -0
- package/fesm2022/ngwr-speed-dial-testing.mjs +279 -0
- package/fesm2022/ngwr-speed-dial-testing.mjs.map +1 -0
- package/fesm2022/ngwr-splash-cursor-testing.mjs +89 -0
- package/fesm2022/ngwr-splash-cursor-testing.mjs.map +1 -0
- package/fesm2022/ngwr-split-text-testing.mjs +224 -0
- package/fesm2022/ngwr-split-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-split-text.mjs +15 -1
- package/fesm2022/ngwr-split-text.mjs.map +1 -1
- package/fesm2022/ngwr-splitter-testing.mjs +245 -0
- package/fesm2022/ngwr-splitter-testing.mjs.map +1 -0
- package/fesm2022/ngwr-spotlight-card-testing.mjs +368 -0
- package/fesm2022/ngwr-spotlight-card-testing.mjs.map +1 -0
- package/fesm2022/ngwr-spotlight-card.mjs +2 -2
- package/fesm2022/ngwr-star-border-testing.mjs +172 -0
- package/fesm2022/ngwr-star-border-testing.mjs.map +1 -0
- package/fesm2022/ngwr-star-border.mjs +2 -2
- package/fesm2022/ngwr-table.mjs +13 -3
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +15 -1
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-tilt-card-testing.mjs +190 -0
- package/fesm2022/ngwr-tilt-card-testing.mjs.map +1 -0
- package/fesm2022/ngwr-tilt-card.mjs +21 -3
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-toast.mjs +36 -7
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-tour-testing.mjs +173 -0
- package/fesm2022/ngwr-tour-testing.mjs.map +1 -0
- package/fesm2022/ngwr-tour.mjs +2 -2
- package/fesm2022/ngwr-tour.mjs.map +1 -1
- package/fesm2022/ngwr-tree.mjs +10 -3
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter-testing.mjs +228 -0
- package/fesm2022/ngwr-typewriter-testing.mjs.map +1 -0
- package/fesm2022/ngwr-typewriter.mjs +2 -2
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +2 -2
- package/fesm2022/ngwr-waves-testing.mjs +128 -0
- package/fesm2022/ngwr-waves-testing.mjs.map +1 -0
- package/fesm2022/ngwr-waves.mjs +2 -2
- package/fesm2022/ngwr-window-testing.mjs +361 -0
- package/fesm2022/ngwr-window-testing.mjs.map +1 -0
- package/fesm2022/ngwr-window.mjs +84 -10
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/file-upload/styles/_index.scss +7 -2
- package/i18n/en.json +16 -2
- package/i18n/ru.json +16 -2
- package/llms-full.txt +147 -0
- package/llms.txt +27 -8
- package/mcp/providers.js +29 -0
- package/mcp/tools.js +1 -29
- package/package.json +145 -1
- package/result/styles/_index.scss +3 -1
- package/segmented/styles/_index.scss +5 -1
- package/select/styles/_index.scss +3 -1
- package/skills/ngwr/SKILL.md +115 -0
- package/skills/ngwr/references/catalog.md +212 -0
- package/skills/ngwr/references/setup.md +73 -0
- package/stepper/styles/_index.scss +18 -2
- package/table/styles/_index.scss +3 -1
- package/theme/styles/_colors.scss +15 -2
- package/theme/styles/_dark.scss +24 -12
- package/tree/styles/_index.scss +4 -2
- package/types/ngwr-action-sheet-testing.d.ts +260 -0
- package/types/ngwr-bar-chart-testing.d.ts +77 -0
- package/types/ngwr-blur-text-testing.d.ts +180 -0
- package/types/ngwr-blur-text.d.ts +12 -0
- package/types/ngwr-border-glow-testing.d.ts +219 -0
- package/types/ngwr-calendar-heatmap-testing.d.ts +79 -0
- package/types/ngwr-calendar-testing.d.ts +277 -0
- package/types/ngwr-calendar.d.ts +10 -0
- package/types/ngwr-checkbox.d.ts +13 -0
- package/types/ngwr-circular-text-testing.d.ts +196 -0
- package/types/ngwr-color-picker-testing.d.ts +291 -0
- package/types/ngwr-color-picker.d.ts +13 -1
- package/types/ngwr-context-menu.d.ts +15 -1
- package/types/ngwr-date-picker-testing.d.ts +6 -66
- package/types/ngwr-decrypt-text-testing.d.ts +222 -0
- package/types/ngwr-donut-chart-testing.d.ts +79 -0
- package/types/ngwr-drawer.d.ts +12 -0
- package/types/ngwr-dropdown.d.ts +9 -0
- package/types/ngwr-event-calendar-testing.d.ts +301 -0
- package/types/ngwr-event-calendar.d.ts +9 -6
- package/types/ngwr-falling-text-testing.d.ts +186 -0
- package/types/ngwr-fuzzy-text-testing.d.ts +130 -0
- package/types/ngwr-gauge-testing.d.ts +71 -0
- package/types/ngwr-glitch-text-testing.d.ts +172 -0
- package/types/ngwr-gradient-text-testing.d.ts +173 -0
- package/types/ngwr-image-cropper-testing.d.ts +134 -0
- package/types/ngwr-image-cropper.d.ts +1 -0
- package/types/ngwr-input-number.d.ts +33 -1
- package/types/ngwr-knob-testing.d.ts +150 -0
- package/types/ngwr-lightbox-testing.d.ts +154 -0
- package/types/ngwr-lightbox.d.ts +6 -0
- package/types/ngwr-line-chart-testing.d.ts +93 -0
- package/types/ngwr-marquee-testing.d.ts +280 -0
- package/types/ngwr-meter-group-testing.d.ts +67 -0
- package/types/ngwr-overlay.d.ts +19 -1
- package/types/ngwr-rotating-text-testing.d.ts +191 -0
- package/types/ngwr-select.d.ts +32 -0
- package/types/ngwr-shiny-text-testing.d.ts +165 -0
- package/types/ngwr-slider.d.ts +15 -0
- package/types/ngwr-sparkline-testing.d.ts +69 -0
- package/types/ngwr-speed-dial-testing.d.ts +195 -0
- package/types/ngwr-splash-cursor-testing.d.ts +95 -0
- package/types/ngwr-split-text-testing.d.ts +209 -0
- package/types/ngwr-split-text.d.ts +12 -0
- package/types/ngwr-splitter-testing.d.ts +174 -0
- package/types/ngwr-spotlight-card-testing.d.ts +303 -0
- package/types/ngwr-star-border-testing.d.ts +135 -0
- package/types/ngwr-table.d.ts +10 -1
- package/types/ngwr-tilt-card-testing.d.ts +158 -0
- package/types/ngwr-tilt-card.d.ts +2 -0
- package/types/ngwr-toast.d.ts +14 -5
- package/types/ngwr-tour-testing.d.ts +143 -0
- package/types/ngwr-tree.d.ts +7 -0
- package/types/ngwr-typewriter-testing.d.ts +201 -0
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-waves-testing.d.ts +121 -0
- package/types/ngwr-window-testing.d.ts +263 -0
- package/types/ngwr-window.d.ts +27 -10
- package/window/styles/_index.scss +44 -16
package/llms-full.txt
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
- exports: WrActionSheet, WrActionSheetAction
|
|
14
14
|
- An iOS-style bottom sheet of choices — a data-driven preset over the drawer, with destructive and cancel roles.
|
|
15
15
|
|
|
16
|
+
## ngwr/action-sheet/testing
|
|
17
|
+
- import: `import { WrActionSheetActionHarness } from 'ngwr/action-sheet/testing'`
|
|
18
|
+
- exports: WrActionSheetActionHarness, WrActionSheetHarness, WrActionSheetActionHarnessFilters, WrActionSheetHarnessFilters
|
|
19
|
+
|
|
16
20
|
## ngwr/affix
|
|
17
21
|
- import: `import { WrAffix } from 'ngwr/affix'`
|
|
18
22
|
- selector: `[wrAffix]`
|
|
@@ -61,18 +65,30 @@
|
|
|
61
65
|
- exports: WrBarChart, WrBarChartDatum
|
|
62
66
|
- Vertical bars, one series. Per-bar color overrides via the `color` field.
|
|
63
67
|
|
|
68
|
+
## ngwr/bar-chart/testing
|
|
69
|
+
- import: `import { WrBarChartHarness } from 'ngwr/bar-chart/testing'`
|
|
70
|
+
- exports: WrBarChartHarness, WrBarChartBar, WrBarChartHarnessFilters
|
|
71
|
+
|
|
64
72
|
## ngwr/blur-text
|
|
65
73
|
- import: `import { WrBlurText } from 'ngwr/blur-text'`
|
|
66
74
|
- selector: `wr-blur-text`
|
|
67
75
|
- exports: WrBlurText
|
|
68
76
|
- Reveals text by blurring each piece in from a coloured offset, through a half-blurred mid-step, into the steady state. Triggers on viewport entry. Dependency-free port — uses `IntersectionObserver` + Web Animations API.
|
|
69
77
|
|
|
78
|
+
## ngwr/blur-text/testing
|
|
79
|
+
- import: `import { WrBlurTextHarness } from 'ngwr/blur-text/testing'`
|
|
80
|
+
- exports: WrBlurTextHarness, WrBlurTextHarnessFilters
|
|
81
|
+
|
|
70
82
|
## ngwr/border-glow
|
|
71
83
|
- import: `import { WrBorderGlow } from 'ngwr/border-glow'`
|
|
72
84
|
- selector: `wr-border-glow`
|
|
73
85
|
- exports: WrBorderGlow
|
|
74
86
|
- Cursor-tracked glowing border card. A cone of light follows the pointer along the perimeter, brightening as the cursor approaches an edge. Optional `[animated]` mode plays a one-shot sweep on mount.
|
|
75
87
|
|
|
88
|
+
## ngwr/border-glow/testing
|
|
89
|
+
- import: `import { WrBorderGlowHarness } from 'ngwr/border-glow/testing'`
|
|
90
|
+
- exports: WrBorderGlowHarness, WrBorderGlowHarnessFilters
|
|
91
|
+
|
|
76
92
|
## ngwr/breadcrumbs
|
|
77
93
|
- import: `import { WrBreadcrumbs } from 'ngwr/breadcrumbs'`
|
|
78
94
|
- selector: `wr-breadcrumbs-item`, `wr-breadcrumbs`
|
|
@@ -107,6 +123,14 @@
|
|
|
107
123
|
- exports: WrCalendarHeatmap, WrHeatmapDatum
|
|
108
124
|
- Year-grid heatmap — the classic GitHub contributions layout.
|
|
109
125
|
|
|
126
|
+
## ngwr/calendar-heatmap/testing
|
|
127
|
+
- import: `import { WrCalendarHeatmapHarness } from 'ngwr/calendar-heatmap/testing'`
|
|
128
|
+
- exports: WrCalendarHeatmapHarness, WrCalendarHeatmapCell, WrCalendarHeatmapHarnessFilters
|
|
129
|
+
|
|
130
|
+
## ngwr/calendar/testing
|
|
131
|
+
- import: `import { WrCalendarDayHarness } from 'ngwr/calendar/testing'`
|
|
132
|
+
- exports: WrCalendarDayHarness, WrCalendarHarness, WrCalendarChip, WrCalendarDayHarnessFilters, WrCalendarHarnessFilters, WrCalendarView
|
|
133
|
+
|
|
110
134
|
## ngwr/card
|
|
111
135
|
- import: `import { WrCard } from 'ngwr/card'`
|
|
112
136
|
- selector: `wr-card`, `wr-card-header`, `wr-card-footer`
|
|
@@ -149,6 +173,10 @@
|
|
|
149
173
|
- exports: WrCircularText, WrCircularTextHover
|
|
150
174
|
- Text laid out around a circle, with the whole circle spinning on a keyframe. Hover behaviour swaps the spin rate (or pauses) without resetting the rotation angle. Pure CSS port — no JS animation loop.
|
|
151
175
|
|
|
176
|
+
## ngwr/circular-text/testing
|
|
177
|
+
- import: `import { WrCircularTextHarness } from 'ngwr/circular-text/testing'`
|
|
178
|
+
- exports: WrCircularTextHarness, WrCircularTextHarnessFilters
|
|
179
|
+
|
|
152
180
|
## ngwr/click-spark
|
|
153
181
|
- import: `import { WrClickSpark } from 'ngwr/click-spark'`
|
|
154
182
|
- selector: `wr-click-spark`
|
|
@@ -176,6 +204,11 @@
|
|
|
176
204
|
- exports: WrColorPicker, WrColorPickerTrigger, hslToRgb, hsvToRgb, parseHex, rgbToHsl, rgbToHsv, toHex, WrHsl, WrHsv, WrRgb, WrColorFormat
|
|
177
205
|
- HSV canvas + hue / alpha sliders + HEX / RGB / HSL inputs + optional swatches. Use `<wr-color-picker>` inline or anchor it to a button with `[wrColorPickerTrigger]`.
|
|
178
206
|
|
|
207
|
+
## ngwr/color-picker/testing
|
|
208
|
+
- import: `import { WrColorPickerHarness } from 'ngwr/color-picker/testing'`
|
|
209
|
+
- selector: `.wr-color-picker__tabs`
|
|
210
|
+
- exports: WrColorPickerHarness, WrColorPickerTriggerHarness, WrColorPickerHarnessFilters, WrColorPickerTab, WrColorPickerThumbs, WrColorPickerTriggerHarnessFilters
|
|
211
|
+
|
|
179
212
|
## ngwr/command-palette
|
|
180
213
|
- import: `import { WrCommandPalette } from 'ngwr/command-palette'`
|
|
181
214
|
- selector: `wr-command-palette`
|
|
@@ -250,6 +283,10 @@
|
|
|
250
283
|
- exports: WrDecryptText, WrDecryptTextAnimateOn, WrDecryptTextClickMode, WrDecryptTextRevealDirection
|
|
251
284
|
- Reveals a string by scrambling characters and progressively replacing scramble glyphs with the originals. Sequential reveal in three directions, or non-sequential settle after N iterations. Four trigger modes: hover, click, view, in-view + hover. Dependency-free port — signals + `setInterval`.
|
|
252
285
|
|
|
286
|
+
## ngwr/decrypt-text/testing
|
|
287
|
+
- import: `import { WrDecryptTextHarness } from 'ngwr/decrypt-text/testing'`
|
|
288
|
+
- exports: WrDecryptTextHarness, WrDecryptTextHarnessFilters
|
|
289
|
+
|
|
253
290
|
## ngwr/density
|
|
254
291
|
- import: `import { WrDensity } from 'ngwr/density'`
|
|
255
292
|
- selector: `[wrDensity]`
|
|
@@ -289,6 +326,10 @@
|
|
|
289
326
|
- exports: WrDonutChart, WrDonutSegment
|
|
290
327
|
- Ring chart with optional center label / value. Set `thickness="0"` for a solid pie.
|
|
291
328
|
|
|
329
|
+
## ngwr/donut-chart/testing
|
|
330
|
+
- import: `import { WrDonutChartHarness } from 'ngwr/donut-chart/testing'`
|
|
331
|
+
- exports: WrDonutChartHarness, WrDonutChartHarnessFilters, WrDonutChartLegendEntry
|
|
332
|
+
|
|
292
333
|
## ngwr/drag-drop
|
|
293
334
|
- import: `import { WrSortableList } from 'ngwr/drag-drop'`
|
|
294
335
|
- selector: `[wrDragHandle]`, `wr-sortable-list`
|
|
@@ -327,12 +368,21 @@
|
|
|
327
368
|
- exports: WrEventCalendar, WrCalendarEventTemplate, WrCalendarEvent, WrCalendarEventChange, WrCalendarEventContext, WrCalendarSlot, WrCalendarView
|
|
328
369
|
- Month, week and day views of a set of events — draggable, resizable, keyboard-operable.
|
|
329
370
|
|
|
371
|
+
## ngwr/event-calendar/testing
|
|
372
|
+
- import: `import { WrEventCalendarChipHarness } from 'ngwr/event-calendar/testing'`
|
|
373
|
+
- selector: `.wr-event-calendar__view`
|
|
374
|
+
- exports: WrEventCalendarChipHarness, WrEventCalendarHarness, WrEventCalendarChipHarnessFilters, WrEventCalendarHarnessFilters
|
|
375
|
+
|
|
330
376
|
## ngwr/falling-text
|
|
331
377
|
- import: `import { WrFallingText } from 'ngwr/falling-text'`
|
|
332
378
|
- selector: `wr-falling-text`
|
|
333
379
|
- exports: WrFallingText, WrFallingTextTrigger
|
|
334
380
|
- Words fall like physical bodies — gravity, wall / floor collision, body-to-body bouncing, and cursor drag-to-pick-up. Words start at their typeset position and release into the simulator on trigger. Reactbits' original uses matter-js; this port ships a minimal in-house AABB physics simulator so there's no extra runtime dependency.
|
|
335
381
|
|
|
382
|
+
## ngwr/falling-text/testing
|
|
383
|
+
- import: `import { WrFallingTextHarness } from 'ngwr/falling-text/testing'`
|
|
384
|
+
- exports: WrFallingTextHarness, WrFallingTextHarnessFilters
|
|
385
|
+
|
|
336
386
|
## ngwr/file-upload
|
|
337
387
|
- import: `import { WrFileUpload } from 'ngwr/file-upload'`
|
|
338
388
|
- selector: `wr-file-upload`
|
|
@@ -359,24 +409,40 @@
|
|
|
359
409
|
- exports: WrFuzzyText, WrFuzzyTextDirection
|
|
360
410
|
- Canvas-rendered fuzzy text — each row (or column) is offset by a random amount per frame for a TV-static or motion-blur look. Intensity ramps up on hover, click, and during periodic glitch bursts.
|
|
361
411
|
|
|
412
|
+
## ngwr/fuzzy-text/testing
|
|
413
|
+
- import: `import { WrFuzzyTextHarness } from 'ngwr/fuzzy-text/testing'`
|
|
414
|
+
- exports: WrFuzzyTextHarness, WrFuzzyTextHarnessFilters
|
|
415
|
+
|
|
362
416
|
## ngwr/gauge
|
|
363
417
|
- import: `import { WrGauge } from 'ngwr/gauge'`
|
|
364
418
|
- selector: `wr-gauge`
|
|
365
419
|
- exports: WrGauge
|
|
366
420
|
- Semicircle progress display — read-only, perfect for utilisation and score widgets.
|
|
367
421
|
|
|
422
|
+
## ngwr/gauge/testing
|
|
423
|
+
- import: `import { WrGaugeHarness } from 'ngwr/gauge/testing'`
|
|
424
|
+
- exports: WrGaugeHarness, WrGaugeHarnessFilters
|
|
425
|
+
|
|
368
426
|
## ngwr/glitch-text
|
|
369
427
|
- import: `import { WrGlitchText } from 'ngwr/glitch-text'`
|
|
370
428
|
- selector: `wr-glitch-text`
|
|
371
429
|
- exports: WrGlitchText
|
|
372
430
|
- Colour-split horizontal-tear glitch on the provided text. Defaults to glitching on hover; flip `[enableOnHover]` to play constantly. Pure CSS port — two pseudo-element clones with offset coloured shadows and a clip-path keyframe.
|
|
373
431
|
|
|
432
|
+
## ngwr/glitch-text/testing
|
|
433
|
+
- import: `import { WrGlitchTextHarness } from 'ngwr/glitch-text/testing'`
|
|
434
|
+
- exports: WrGlitchTextHarness, WrGlitchTextColourSplit, WrGlitchTextDurations, WrGlitchTextHarnessFilters
|
|
435
|
+
|
|
374
436
|
## ngwr/gradient-text
|
|
375
437
|
- import: `import { WrGradientText } from 'ngwr/gradient-text'`
|
|
376
438
|
- selector: `wr-gradient-text`
|
|
377
439
|
- exports: WrGradientText, WrGradientTextDirection
|
|
378
440
|
- Animated multi-stop gradient text. The gradient slides across the text via `background-clip: text`. Optional border variant wraps the text in a dark pill with the same animated gradient as a border ring. Pure CSS port — no JS animation loop.
|
|
379
441
|
|
|
442
|
+
## ngwr/gradient-text/testing
|
|
443
|
+
- import: `import { WrGradientTextHarness } from 'ngwr/gradient-text/testing'`
|
|
444
|
+
- exports: WrGradientTextHarness, WrGradientTextHarnessFilters
|
|
445
|
+
|
|
380
446
|
## ngwr/hotkey
|
|
381
447
|
- import: `import { WrHotkey } from 'ngwr/hotkey'`
|
|
382
448
|
- selector: `[wrHotkey]`
|
|
@@ -417,6 +483,10 @@
|
|
|
417
483
|
- exports: WrImageCropper, WrCropRect, WrCropHandle, WrImageOutputType
|
|
418
484
|
- DOM-based crop UI. Drag the box to move, drag any of the eight handles to resize. Optional `[aspectRatio]` locks the box shape. `(cropped)` fires with a `Blob` after each drag end — wire to upload or preview.
|
|
419
485
|
|
|
486
|
+
## ngwr/image-cropper/testing
|
|
487
|
+
- import: `import { WrImageCropperHarness } from 'ngwr/image-cropper/testing'`
|
|
488
|
+
- exports: WrImageCropperHarness, WrImageCropperHarnessFilters
|
|
489
|
+
|
|
420
490
|
## ngwr/input
|
|
421
491
|
- import: `import { WrInput } from 'ngwr/input'`
|
|
422
492
|
- selector: `[wrInputPrefix]`, `[wrInputSuffix]`, `input[wrInput]`, `textarea[wrInput]`, `wr-input-group`, `wr-password-toggle`
|
|
@@ -459,6 +529,10 @@
|
|
|
459
529
|
- exports: WrKnob
|
|
460
530
|
- Radial dial input. A signal-forms native control: the value is a `number`, snapped to `step` and clamped to `[min, max]`. Drag around the dial or use arrow keys (Shift = ×10); Home / End jump to the ends.
|
|
461
531
|
|
|
532
|
+
## ngwr/knob/testing
|
|
533
|
+
- import: `import { WrKnobHarness } from 'ngwr/knob/testing'`
|
|
534
|
+
- exports: WrKnobHarness, WrKnobHarnessFilters
|
|
535
|
+
|
|
462
536
|
## ngwr/layout
|
|
463
537
|
- import: `import { WrLayout } from 'ngwr/layout'`
|
|
464
538
|
- selector: `wr-layout-content`, `wr-layout-footer`, `wr-layout-header`, `wr-layout-sider`, `wr-layout`
|
|
@@ -471,12 +545,20 @@
|
|
|
471
545
|
- exports: WrLightbox
|
|
472
546
|
- Image with click-to-zoom lightbox. Renders a thumbnail; clicking opens a full-size overlay viewer with backdrop, ESC + click-out to close.
|
|
473
547
|
|
|
548
|
+
## ngwr/lightbox/testing
|
|
549
|
+
- import: `import { WrLightboxHarness } from 'ngwr/lightbox/testing'`
|
|
550
|
+
- exports: WrLightboxHarness, WrLightboxHarnessFilters
|
|
551
|
+
|
|
474
552
|
## ngwr/line-chart
|
|
475
553
|
- import: `import { WrLineChart } from 'ngwr/line-chart'`
|
|
476
554
|
- selector: `wr-line-chart`
|
|
477
555
|
- exports: WrLineChart, WrLineSeries
|
|
478
556
|
- Multi-series line chart with a hover tooltip that snaps to the nearest x-axis tick.
|
|
479
557
|
|
|
558
|
+
## ngwr/line-chart/testing
|
|
559
|
+
- import: `import { WrLineChartHarness } from 'ngwr/line-chart/testing'`
|
|
560
|
+
- exports: WrLineChartHarness, WrLineChartHarnessFilters, WrLineChartTooltipRow
|
|
561
|
+
|
|
480
562
|
## ngwr/list
|
|
481
563
|
- import: `import { WrList } from 'ngwr/list'`
|
|
482
564
|
- selector: `wr-list-item`, `wr-list`
|
|
@@ -505,6 +587,10 @@
|
|
|
505
587
|
- exports: WrMarquee, WrMarqueeItem, WrMarqueeImage, WrMarqueeNode
|
|
506
588
|
- Endless rAF-driven horizontal carousel. Pass items as image sources or Angular templates; the track auto-duplicates to cover the container. Optional edge fades, pause/scale-on-hover, custom hover speed.
|
|
507
589
|
|
|
590
|
+
## ngwr/marquee/testing
|
|
591
|
+
- import: `import { WrMarqueeHarness } from 'ngwr/marquee/testing'`
|
|
592
|
+
- exports: WrMarqueeHarness, WrMarqueeItemHarness, WrMarqueeHarnessFilters, WrMarqueeItemHarnessFilters, WrMarqueeLink
|
|
593
|
+
|
|
508
594
|
## ngwr/media
|
|
509
595
|
- import: `import { WrMedia } from 'ngwr/media'`
|
|
510
596
|
- exports: WrMedia, provideWrMedia, WR_BREAKPOINTS, DEFAULT_WR_BREAKPOINTS, WrBreakpoint, WrBreakpointMap
|
|
@@ -532,6 +618,10 @@
|
|
|
532
618
|
- exports: WrMeterGroup, WrMeterSegment
|
|
533
619
|
- Stacked-segment progress bar. Each segment is sized proportionally to its `value` relative to the sum (or the explicit `max`); legend listed underneath.
|
|
534
620
|
|
|
621
|
+
## ngwr/meter-group/testing
|
|
622
|
+
- import: `import { WrMeterGroupHarness } from 'ngwr/meter-group/testing'`
|
|
623
|
+
- exports: WrMeterGroupHarness, WrMeterGroupHarnessFilters, WrMeterGroupSlice
|
|
624
|
+
|
|
535
625
|
## ngwr/overlay
|
|
536
626
|
- import: `import { WrOutsideClick } from 'ngwr/overlay'`
|
|
537
627
|
- exports: wrAppendOverlayClose, wrMirrorOffsets, WrOutsideClick, WrOverlayContainer, provideWrOverlay, provideWrResponsiveOverlays, WR_OVERLAY, WR_OVERLAY_CONTAINER, WR_RESPONSIVE_OVERLAYS, wrPresentAsSheet
|
|
@@ -632,6 +722,10 @@
|
|
|
632
722
|
- exports: WrRotatingText, WrRotatingTextSplit, WrRotatingTextStaggerFrom
|
|
633
723
|
- Cycles through a list of strings, animating each transition character-by-character (or word/line). Auto-advances on a timer by default; also controllable imperatively via `next()` / `previous()` / `jumpTo()` / `reset()`.
|
|
634
724
|
|
|
725
|
+
## ngwr/rotating-text/testing
|
|
726
|
+
- import: `import { WrRotatingTextHarness } from 'ngwr/rotating-text/testing'`
|
|
727
|
+
- exports: WrRotatingTextHarness, WrRotatingTextHarnessFilters
|
|
728
|
+
|
|
635
729
|
## ngwr/scroll
|
|
636
730
|
- import: `import { WrScroll } from 'ngwr/scroll'`
|
|
637
731
|
- exports: WrScroll, WrScrollTarget, WrScrollOptions
|
|
@@ -663,6 +757,10 @@
|
|
|
663
757
|
- exports: WrShinyText, WrShimmer
|
|
664
758
|
- Shimmer-over-text effect. A bright stripe sweeps across the text using `background-clip: text` + an animated `background-position`. Pure CSS port — no JS animation loop.
|
|
665
759
|
|
|
760
|
+
## ngwr/shiny-text/testing
|
|
761
|
+
- import: `import { WrShinyTextHarness } from 'ngwr/shiny-text/testing'`
|
|
762
|
+
- exports: WrShinyTextHarness, WrShinyTextHarnessFilters, WrShinyTextSweepDirection
|
|
763
|
+
|
|
666
764
|
## ngwr/sidebar
|
|
667
765
|
- import: `import { WrSidebar } from 'ngwr/sidebar'`
|
|
668
766
|
- selector: `wr-sidebar`
|
|
@@ -691,12 +789,20 @@
|
|
|
691
789
|
- exports: WrSparkline
|
|
692
790
|
- Tiny inline trend line — no axes, no labels. Drop it next to a number to give context at a glance.
|
|
693
791
|
|
|
792
|
+
## ngwr/sparkline/testing
|
|
793
|
+
- import: `import { WrSparklineHarness } from 'ngwr/sparkline/testing'`
|
|
794
|
+
- exports: WrSparklineHarness, WrSparklineHarnessFilters
|
|
795
|
+
|
|
694
796
|
## ngwr/speed-dial
|
|
695
797
|
- import: `import { WrSpeedDial } from 'ngwr/speed-dial'`
|
|
696
798
|
- selector: `wr-speed-dial`
|
|
697
799
|
- exports: WrSpeedDial, WrSpeedDialAction, WrSpeedDialDirection
|
|
698
800
|
- Floating action button that fans out a set of secondary actions on click.
|
|
699
801
|
|
|
802
|
+
## ngwr/speed-dial/testing
|
|
803
|
+
- import: `import { WrSpeedDialActionHarness } from 'ngwr/speed-dial/testing'`
|
|
804
|
+
- exports: WrSpeedDialActionHarness, WrSpeedDialHarness, WrSpeedDialActionHarnessFilters, WrSpeedDialHarnessFilters
|
|
805
|
+
|
|
700
806
|
## ngwr/spinner
|
|
701
807
|
- import: `import { WrSpinner } from 'ngwr/spinner'`
|
|
702
808
|
- selector: `wr-spinner`
|
|
@@ -709,24 +815,40 @@
|
|
|
709
815
|
- exports: WrSplashCursor, WrFluidConfig
|
|
710
816
|
- WebGL fluid simulation that splashes colourful dye wherever the pointer moves or clicks. Fullscreen click-through overlay by default, or contained in any positioned box — where the dye collides with the walls. Renders nothing under prefers-reduced-motion or without WebGL.
|
|
711
817
|
|
|
818
|
+
## ngwr/splash-cursor/testing
|
|
819
|
+
- import: `import { WrSplashCursorHarness } from 'ngwr/splash-cursor/testing'`
|
|
820
|
+
- exports: WrSplashCursorHarness, WrSplashCursorHarnessFilters
|
|
821
|
+
|
|
712
822
|
## ngwr/split-text
|
|
713
823
|
- import: `import { WrSplitText } from 'ngwr/split-text'`
|
|
714
824
|
- selector: `wr-split-text`
|
|
715
825
|
- exports: WrSplitText, WrSplitTextMotion, WrSplitTextUnit
|
|
716
826
|
- Reveals text by splitting it into chars or words and staggering each piece in from a `from` state to a `to` state when the element scrolls into view. GSAP-free port — uses `IntersectionObserver` + Web Animations API.
|
|
717
827
|
|
|
828
|
+
## ngwr/split-text/testing
|
|
829
|
+
- import: `import { WrSplitTextHarness } from 'ngwr/split-text/testing'`
|
|
830
|
+
- exports: WrSplitTextHarness, WrSplitTextHarnessAlign, WrSplitTextHarnessFilters
|
|
831
|
+
|
|
718
832
|
## ngwr/splitter
|
|
719
833
|
- import: `import { WrSplitter } from 'ngwr/splitter'`
|
|
720
834
|
- selector: `wr-splitter`
|
|
721
835
|
- exports: WrSplitter
|
|
722
836
|
- Resizable two-pane split. Drag the divider or focus it and use arrows. Two-way `[(position)]` (0–100).
|
|
723
837
|
|
|
838
|
+
## ngwr/splitter/testing
|
|
839
|
+
- import: `import { WrSplitterHarness } from 'ngwr/splitter/testing'`
|
|
840
|
+
- exports: WrSplitterHarness, WrSplitterHarnessFilters, WrSplitterPaneSizes
|
|
841
|
+
|
|
724
842
|
## ngwr/spotlight-card
|
|
725
843
|
- import: `import { WrSpotlightCard } from 'ngwr/spotlight-card'`
|
|
726
844
|
- selector: `wr-spotlight-card`, `[wrSpotlight]`
|
|
727
845
|
- exports: WrSpotlightCard, WrSpotlight
|
|
728
846
|
- Cursor-tracked spotlight card. A soft radial highlight follows the pointer, fading in on hover.
|
|
729
847
|
|
|
848
|
+
## ngwr/spotlight-card/testing
|
|
849
|
+
- import: `import { WrSpotlightCardHarness } from 'ngwr/spotlight-card/testing'`
|
|
850
|
+
- exports: WrSpotlightCardHarness, WrSpotlightHarness, WrSpotlightCardHarnessFilters, WrSpotlightHarnessFilters
|
|
851
|
+
|
|
730
852
|
## ngwr/squircle
|
|
731
853
|
- import: `import { WrSquircle } from 'ngwr/squircle'`
|
|
732
854
|
- selector: `wr-squircle`, `[wrSquircle]`
|
|
@@ -739,6 +861,10 @@
|
|
|
739
861
|
- exports: WrStarBorder, WrStarBorderMode, WrStarBorderRays
|
|
740
862
|
- Radial comet rays sweeping along the edges of a rounded container. Run them forever or only on hover, mirrored on both edges or as a single ray.
|
|
741
863
|
|
|
864
|
+
## ngwr/star-border/testing
|
|
865
|
+
- import: `import { WrStarBorderHarness } from 'ngwr/star-border/testing'`
|
|
866
|
+
- exports: WrStarBorderHarness, WrStarBorderHarnessFilters
|
|
867
|
+
|
|
742
868
|
## ngwr/statistic
|
|
743
869
|
- import: `import { WrStatistic } from 'ngwr/statistic'`
|
|
744
870
|
- selector: `wr-statistic-countdown`, `wr-statistic-group`, `wr-statistic`
|
|
@@ -811,6 +937,10 @@
|
|
|
811
937
|
- exports: WrTiltCard, WrTilt
|
|
812
938
|
- Cursor-tracked 3D tilt. Use `<wr-tilt-card>` for a ready-made card host, or `[wrTilt]` to add the tilt behaviour to any element.
|
|
813
939
|
|
|
940
|
+
## ngwr/tilt-card/testing
|
|
941
|
+
- import: `import { WrTiltHarness } from 'ngwr/tilt-card/testing'`
|
|
942
|
+
- exports: WrTiltHarness, WrTiltHarnessFilters, WrTiltRotation
|
|
943
|
+
|
|
814
944
|
## ngwr/timeline
|
|
815
945
|
- import: `import { WrTimeline } from 'ngwr/timeline'`
|
|
816
946
|
- selector: `wr-timeline-item`, `wr-timeline`
|
|
@@ -839,6 +969,11 @@
|
|
|
839
969
|
- exports: WrTour, WrTourPopup, WrTourPlacement, WrTourStep
|
|
840
970
|
- Guided product tour — a spotlight over one element at a time plus a popup explaining it.
|
|
841
971
|
|
|
972
|
+
## ngwr/tour/testing
|
|
973
|
+
- import: `import { WrTourHarness } from 'ngwr/tour/testing'`
|
|
974
|
+
- selector: `.wr-tour-popup__action--next`, `.wr-tour-popup__action--skip`, `.wr-tour-popup__action--back`
|
|
975
|
+
- exports: WrTourHarness, WrTourHarnessFilters, WrTourProgress
|
|
976
|
+
|
|
842
977
|
## ngwr/transfer
|
|
843
978
|
- import: `import { WrTransfer } from 'ngwr/transfer'`
|
|
844
979
|
- selector: `wr-transfer`
|
|
@@ -865,6 +1000,10 @@
|
|
|
865
1000
|
- exports: WrTypewriter, WrTypewriterVariableSpeed
|
|
866
1001
|
- Classic typewriter — types out a string char-by-char, optionally deletes it, then types the next string. Cycles through `[texts]` (or a single string) with a blinking cursor. Pure JS (no GSAP), pure CSS cursor blink.
|
|
867
1002
|
|
|
1003
|
+
## ngwr/typewriter/testing
|
|
1004
|
+
- import: `import { WrTypewriterHarness } from 'ngwr/typewriter/testing'`
|
|
1005
|
+
- exports: WrTypewriterHarness, WrTypewriterHarnessFilters
|
|
1006
|
+
|
|
868
1007
|
## ngwr/typography
|
|
869
1008
|
- import: `import { WrTypography } from 'ngwr/typography'`
|
|
870
1009
|
- selector: `[wrTypography]`
|
|
@@ -895,8 +1034,16 @@
|
|
|
895
1034
|
- exports: WrWaves
|
|
896
1035
|
- Wave-field background — a grid of lines drifting on perlin noise, nudged by the pointer. Line colour follows the theme out of the box. Use behind hero copy or section content.
|
|
897
1036
|
|
|
1037
|
+
## ngwr/waves/testing
|
|
1038
|
+
- import: `import { WrWavesHarness } from 'ngwr/waves/testing'`
|
|
1039
|
+
- exports: WrWavesHarness, WrWavesHarnessFilters
|
|
1040
|
+
|
|
898
1041
|
## ngwr/window
|
|
899
1042
|
- import: `import { WrWindowManager } from 'ngwr/window'`
|
|
900
1043
|
- selector: `wr-window-container`, `wr-window-taskbar`, `wr-window`
|
|
901
1044
|
- exports: WR_WINDOW_DATA, WR_WINDOW_REF, WrWindowManager, WrWindowBeforeCloseHook, WrWindowRef, WrWindowTaskbar, WrWindowChromeSize, WrWindowConfig, WrWindowOs, WrWindowPersistMode, WrWindowSize, WrWindowSnap, WrWindowState, WrWindowStorageConfig
|
|
902
1045
|
- Free-floating OS-style window opened programmatically via `WrWindowManager`. Drag the header to move, drag any edge or corner to resize, minimize to the taskbar. There is no declarative `<wr-window>` component — the manager is the only entry point so the API stays single-track. Need a backdrop + focus trap? That's `WrDialog`, not this.
|
|
1046
|
+
|
|
1047
|
+
## ngwr/window/testing
|
|
1048
|
+
- import: `import { WrWindowHarness } from 'ngwr/window/testing'`
|
|
1049
|
+
- exports: WrWindowHarness, WrWindowTaskbarHarness, WrWindowBox, WrWindowHarnessFilters, WrWindowTaskbarHarnessFilters
|
package/llms.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# ngwr
|
|
2
2
|
|
|
3
3
|
> Angular UI library — standalone, signals-first, zoneless, fully tree-shakable.
|
|
4
|
-
>
|
|
4
|
+
> 202 secondary entry points, 181 component and directive classes, built on
|
|
5
5
|
> `@angular/cdk` primitives. The only runtime dependency is `tslib`. Docs and
|
|
6
6
|
> live demos: https://ngwr.dev — source: https://github.com/thekhegay/ngwr
|
|
7
7
|
|
|
@@ -140,16 +140,21 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
|
|
|
140
140
|
`wr-tree` and `wr-select` (search mode), alongside the standalone
|
|
141
141
|
`wr-virtual-scroll` wrapper.
|
|
142
142
|
- **Testing** — CDK component harnesses ship beside the components they drive, at
|
|
143
|
-
`ngwr/<name>/testing`.
|
|
143
|
+
`ngwr/<name>/testing`. 70 entry points so far, 104 harness classes, covering the
|
|
144
144
|
form controls, the overlays, both data views, the navigation / disclosure set
|
|
145
145
|
(`tabs`, `stepper`, `carousel`, `pagination`, `segmented`, `collapse`,
|
|
146
146
|
`transfer`) and `markdown`: the form controls
|
|
147
147
|
(`button`, `input`, `textarea`, `checkbox`, `switch`, `radio`, `select`,
|
|
148
|
-
`input-number`, `input-otp`, `slider`, `rating`, `file-upload`, `
|
|
149
|
-
`<wr-form-field>`), the overlays (`date-picker`, `dropdown`,
|
|
150
|
-
`
|
|
151
|
-
`mention`)
|
|
152
|
-
`
|
|
148
|
+
`input-number`, `input-otp`, `slider`, `rating`, `file-upload`, `color-picker`,
|
|
149
|
+
`knob`, `form` for `<wr-form-field>`), the overlays (`date-picker`, `dropdown`,
|
|
150
|
+
`popover`, `dialog`, `drawer`, `action-sheet`, `toast`, `context-menu`, `popconfirm`,
|
|
151
|
+
`command-palette`, `cascader`, `mention`), the data views (`table`, `tree`),
|
|
152
|
+
`splitter`, `speed-dial`, `lightbox`, `tour`, `calendar`, `event-calendar`,
|
|
153
|
+
`window`, `image-cropper`, every chart and eighteen of the twenty-one animations —
|
|
154
|
+
every control, every overlay and every chart has one. `aurora`, `click-spark`,
|
|
155
|
+
`confetti` and `virtual-scroll` deliberately have none: what they do is a canvas or
|
|
156
|
+
a measured viewport, so every honest method would read the same for a working
|
|
157
|
+
component and a broken one.
|
|
153
158
|
Load them with `TestbedHarnessEnvironment` and narrow with
|
|
154
159
|
`WrButtonHarness.with({ text: 'Save' })` instead of querying ngwr's markup.
|
|
155
160
|
Dialog, toast and a service-opened drawer render outside the fixture — load
|
|
@@ -192,7 +197,21 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
|
|
|
192
197
|
listed here rather than embedding a copy of them. Client config for Claude
|
|
193
198
|
Code / Claude Desktop / Cursor, and a worked example of each tool:
|
|
194
199
|
https://ngwr.dev/guides/mcp
|
|
200
|
+
- **Agent skill — the rules, not the catalog.** `skills/ngwr/SKILL.md` in the
|
|
201
|
+
installed package (also at https://ngwr.dev/skills/ngwr/SKILL.md) is about a
|
|
202
|
+
page of the things this library does that a reasonable guess gets wrong: the
|
|
203
|
+
button's selector is `wr-btn`, a checkbox's group identity is `checkboxValue`,
|
|
204
|
+
there is no `ControlValueAccessor`, imports come from the entry point rather
|
|
205
|
+
than a barrel. `references/catalog.md` and `references/setup.md` sit beside it
|
|
206
|
+
for the long tail. Generated from the same pass as `llms-full.txt`:
|
|
207
|
+
https://ngwr.dev/guides/agent-skill
|
|
208
|
+
- **Registry — an open format for shareable theme presets and blocks.** One
|
|
209
|
+
installable unit per JSON file, hosted anywhere; the contract is
|
|
210
|
+
https://ngwr.dev/registry/schema.json and two worked examples sit beside it at
|
|
211
|
+
`/registry/items/`. `cssVars` keys are `--wr-*` tokens, `entryPoints` names
|
|
212
|
+
`ngwr/*` subpaths, and a `files[].target` is always relative:
|
|
213
|
+
https://ngwr.dev/guides/registry
|
|
195
214
|
- All site URLs (for crawlers): https://ngwr.dev/sitemap.xml
|
|
196
215
|
- Source, README, per-component `.d.ts` types: https://github.com/thekhegay/ngwr
|
|
197
216
|
(installed at `node_modules/ngwr/types/ngwr-<name>.d.ts`; the package also
|
|
198
|
-
ships `README.md`, `llms.txt`,
|
|
217
|
+
ships `README.md`, `llms.txt`, `llms-full.txt` and `skills/ngwr/`)
|
package/mcp/providers.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
5
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
6
|
+
*/
|
|
7
|
+
const REQUIRED_PROVIDERS = [
|
|
8
|
+
{
|
|
9
|
+
test: /^Wr(Dialog|Drawer|Toast|Popover|Popconfirm|ContextMenu|Select|Dropdown|CommandPalette|Cascader|Mention|DatePicker|Tour|Lightbox)/,
|
|
10
|
+
provider: "provideWrOverlay() // from 'ngwr/overlay'",
|
|
11
|
+
why: 'overlays render into an ngwr-owned container; without it they never appear',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
test: /^WrIcon/,
|
|
15
|
+
provider: "provideWrIcons(lucideIcons({ … })) // from 'ngwr/icon' + 'ngwr/icon/adapters/lucide'",
|
|
16
|
+
why: 'icons resolve by name from a registry you populate',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
test: /^WrDatePicker|^WrCalendar|^WrEventCalendar/,
|
|
20
|
+
provider: "provideWrDateAdapter(wrDateFnsAdapter) // from 'ngwr/date-adapter-fns'",
|
|
21
|
+
why: 'every date mode goes through an adapter; there is no built-in default',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
test: /^WrT$|^WrI18n/,
|
|
25
|
+
provider: "provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n'",
|
|
26
|
+
why: 'the pipe and directive read from a catalog you provide',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
export { REQUIRED_PROVIDERS };
|
package/mcp/tools.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
6
6
|
*/
|
|
7
7
|
import { declaredClasses, extractClass } from './api.js';
|
|
8
|
+
import { REQUIRED_PROVIDERS } from './providers.js';
|
|
8
9
|
const DOCS = 'https://ngwr.dev';
|
|
9
10
|
/**
|
|
10
11
|
* The four tools, and why there are only four.
|
|
@@ -77,35 +78,6 @@ const TOOLS = [
|
|
|
77
78
|
},
|
|
78
79
|
},
|
|
79
80
|
];
|
|
80
|
-
/**
|
|
81
|
-
* Providers a symbol cannot work without.
|
|
82
|
-
*
|
|
83
|
-
* Hard-coded, and the list is short on purpose: these are the four cases where
|
|
84
|
-
* the component compiles, renders nothing useful, and gives no error that names
|
|
85
|
-
* the cause. Everything else is discoverable from the docs page.
|
|
86
|
-
*/
|
|
87
|
-
const REQUIRED_PROVIDERS = [
|
|
88
|
-
{
|
|
89
|
-
test: /^Wr(Dialog|Drawer|Toast|Popover|Popconfirm|ContextMenu|Select|Dropdown|CommandPalette|Cascader|Mention|DatePicker|Tour|Lightbox)/,
|
|
90
|
-
provider: "provideWrOverlay() // from 'ngwr/overlay'",
|
|
91
|
-
why: 'overlays render into an ngwr-owned container; without it they never appear',
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
test: /^WrIcon/,
|
|
95
|
-
provider: "provideWrIcons(lucideIcons({ … })) // from 'ngwr/icon' + 'ngwr/icon/adapters/lucide'",
|
|
96
|
-
why: 'icons resolve by name from a registry you populate',
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
test: /^WrDatePicker|^WrCalendar|^WrEventCalendar/,
|
|
100
|
-
provider: "provideWrDateAdapter(wrDateFnsAdapter) // from 'ngwr/date-adapter-fns'",
|
|
101
|
-
why: 'every date mode goes through an adapter; there is no built-in default',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
test: /^WrT$|^WrI18n/,
|
|
105
|
-
provider: "provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n'",
|
|
106
|
-
why: 'the pipe and directive read from a catalog you provide',
|
|
107
|
-
},
|
|
108
|
-
];
|
|
109
81
|
/**
|
|
110
82
|
* The published schema, actually enforced.
|
|
111
83
|
*
|