ngwr 11.1.0 → 12.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 +7 -7
- package/burger/styles/_index.scss +1 -1
- package/button/styles/_index.scss +2 -2
- package/calendar/styles/_index.scss +32 -12
- package/calendar-heatmap/styles/_index.scss +20 -0
- package/carousel/styles/_index.scss +23 -1
- package/cascader/styles/_index.scss +15 -3
- package/checkbox/styles/_index.scss +2 -2
- package/circular-text/styles/_index.scss +11 -0
- package/collapse/styles/_index.scss +2 -2
- package/color-picker/styles/_index.scss +3 -3
- package/command-palette/styles/_index.scss +12 -0
- package/compare/styles/_index.scss +18 -2
- package/context-menu/styles/_index.scss +21 -2
- package/date-picker/styles/_index.scss +5 -5
- package/descriptions/styles/_index.scss +1 -1
- package/drag-drop/styles/_index.scss +28 -1
- package/drawer/styles/_index.scss +37 -0
- package/dropdown/styles/_index.scss +2 -2
- package/event-calendar/styles/_index.scss +67 -10
- package/fesm2022/ngwr-action-sheet-testing.mjs +313 -0
- package/fesm2022/ngwr-action-sheet-testing.mjs.map +1 -0
- package/fesm2022/ngwr-action-sheet.mjs +3 -3
- package/fesm2022/ngwr-affix.mjs +3 -3
- package/fesm2022/ngwr-alert.mjs +3 -3
- 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-testing.mjs +107 -0
- package/fesm2022/ngwr-bar-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bar-chart.mjs +3 -3
- 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 +18 -4
- 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 +4 -4
- package/fesm2022/ngwr-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +29 -17
- 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-testing.mjs +95 -0
- package/fesm2022/ngwr-calendar-heatmap-testing.mjs.map +1 -0
- package/fesm2022/ngwr-calendar-heatmap.mjs +17 -5
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-testing.mjs +368 -0
- package/fesm2022/ngwr-calendar-testing.mjs.map +1 -0
- package/fesm2022/ngwr-calendar.mjs +228 -10
- 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 +124 -24
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +60 -5
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +14 -6
- 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 +4 -4
- package/fesm2022/ngwr-circular-text.mjs.map +1 -1
- package/fesm2022/ngwr-click-spark.mjs +27 -7
- package/fesm2022/ngwr-click-spark.mjs.map +1 -1
- package/fesm2022/ngwr-clipboard.mjs +3 -3
- package/fesm2022/ngwr-collapse.mjs +9 -9
- package/fesm2022/ngwr-color-picker-testing.mjs +452 -0
- package/fesm2022/ngwr-color-picker-testing.mjs.map +1 -0
- package/fesm2022/ngwr-color-picker.mjs +126 -10
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +14 -5
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-compare.mjs +3 -3
- package/fesm2022/ngwr-confetti.mjs +31 -6
- package/fesm2022/ngwr-confetti.mjs.map +1 -1
- package/fesm2022/ngwr-config.mjs +9 -0
- package/fesm2022/ngwr-config.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu-testing.mjs +30 -11
- package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu.mjs +358 -48
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-cookie.mjs +3 -3
- package/fesm2022/ngwr-counter.mjs +25 -9
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/{ngwr-date-adapter-fns.mjs → ngwr-date-adapters-fns.mjs} +37 -10
- package/fesm2022/ngwr-date-adapters-fns.mjs.map +1 -0
- package/fesm2022/{ngwr-date-adapter-luxon.mjs → ngwr-date-adapters-luxon.mjs} +5 -5
- package/fesm2022/ngwr-date-adapters-luxon.mjs.map +1 -0
- package/fesm2022/ngwr-date-picker-testing.mjs +21 -85
- package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker.mjs +119 -37
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/{ngwr-date-adapter.mjs → ngwr-date.mjs} +36 -10
- package/fesm2022/ngwr-date.mjs.map +1 -0
- 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 +9 -4
- package/fesm2022/ngwr-decrypt-text.mjs.map +1 -1
- package/fesm2022/ngwr-density.mjs +6 -6
- package/fesm2022/ngwr-descriptions.mjs +6 -6
- package/fesm2022/ngwr-dialog.mjs +73 -18
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +12 -12
- package/fesm2022/ngwr-divider.mjs +52 -5
- package/fesm2022/ngwr-divider.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart-testing.mjs +97 -0
- package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-donut-chart.mjs +7 -7
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +160 -11
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer.mjs +156 -64
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +58 -12
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +3 -3
- 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 +66 -28
- package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text-testing.mjs +220 -0
- package/fesm2022/ngwr-falling-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-falling-text.mjs +75 -46
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-file-upload.mjs +3 -3
- package/fesm2022/ngwr-form.mjs +32 -15
- package/fesm2022/ngwr-form.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-fuzzy-text.mjs +21 -11
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge-testing.mjs +86 -0
- package/fesm2022/ngwr-gauge-testing.mjs.map +1 -0
- package/fesm2022/ngwr-gauge.mjs +3 -3
- package/fesm2022/ngwr-glitch-text-testing.mjs +215 -0
- package/fesm2022/ngwr-glitch-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-glitch-text.mjs +7 -7
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text-testing.mjs +258 -0
- package/fesm2022/ngwr-gradient-text-testing.mjs.map +1 -0
- package/fesm2022/ngwr-gradient-text.mjs +4 -4
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
- package/fesm2022/ngwr-hotkey.mjs +24 -9
- package/fesm2022/ngwr-hotkey.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +87 -1
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +69 -1
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +26 -15
- package/fesm2022/ngwr-i18n.mjs.map +1 -1
- package/fesm2022/ngwr-icon.mjs +6 -6
- package/fesm2022/ngwr-image-cropper-testing.mjs +200 -0
- package/fesm2022/ngwr-image-cropper-testing.mjs.map +1 -0
- package/fesm2022/ngwr-image-cropper.mjs +156 -11
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
- package/fesm2022/ngwr-input-number-testing.mjs +15 -10
- package/fesm2022/ngwr-input-number-testing.mjs.map +1 -1
- package/fesm2022/ngwr-input-number.mjs +89 -15
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp-testing.mjs +12 -6
- package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp.mjs +24 -5
- package/fesm2022/ngwr-input-otp.mjs.map +1 -1
- package/fesm2022/ngwr-input.mjs +15 -15
- package/fesm2022/ngwr-keyboard.mjs +3 -3
- package/fesm2022/ngwr-knob-testing.mjs +220 -0
- package/fesm2022/ngwr-knob-testing.mjs.map +1 -0
- package/fesm2022/ngwr-knob.mjs +3 -3
- package/fesm2022/ngwr-layout.mjs +15 -15
- package/fesm2022/ngwr-lightbox-testing.mjs +223 -0
- package/fesm2022/ngwr-lightbox-testing.mjs.map +1 -0
- package/fesm2022/ngwr-lightbox.mjs +11 -4
- 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-line-chart.mjs +73 -26
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +7 -7
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +7 -7
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
- package/fesm2022/ngwr-markdown.mjs +66 -8
- package/fesm2022/ngwr-markdown.mjs.map +1 -1
- package/fesm2022/ngwr-marquee-testing.mjs +336 -0
- package/fesm2022/ngwr-marquee-testing.mjs.map +1 -0
- package/fesm2022/ngwr-marquee.mjs +4 -4
- package/fesm2022/ngwr-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-media.mjs +3 -3
- package/fesm2022/ngwr-mention.mjs +108 -13
- package/fesm2022/ngwr-mention.mjs.map +1 -1
- package/fesm2022/ngwr-meta.mjs +6 -6
- package/fesm2022/ngwr-meter-group-testing.mjs +100 -0
- package/fesm2022/ngwr-meter-group-testing.mjs.map +1 -0
- package/fesm2022/ngwr-meter-group.mjs +3 -3
- package/fesm2022/ngwr-overlay.mjs +34 -7
- package/fesm2022/ngwr-overlay.mjs.map +1 -1
- package/fesm2022/ngwr-page-header.mjs +3 -3
- package/fesm2022/ngwr-pagination-testing.mjs +6 -6
- package/fesm2022/ngwr-pagination-testing.mjs.map +1 -1
- package/fesm2022/ngwr-pagination.mjs +17 -13
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +39 -26
- package/fesm2022/ngwr-pipes.mjs.map +1 -1
- package/fesm2022/ngwr-platform.mjs +9 -9
- package/fesm2022/ngwr-popconfirm.mjs +6 -6
- package/fesm2022/ngwr-popover-testing.mjs +7 -2
- package/fesm2022/ngwr-popover-testing.mjs.map +1 -1
- package/fesm2022/ngwr-popover.mjs +169 -33
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-progress.mjs +3 -3
- package/fesm2022/ngwr-pull-to-refresh.mjs +3 -3
- package/fesm2022/ngwr-qr.mjs +42 -5
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio.mjs +6 -6
- package/fesm2022/ngwr-rating.mjs +3 -3
- package/fesm2022/ngwr-result.mjs +21 -30
- package/fesm2022/ngwr-result.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 +4 -4
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented-testing.mjs +14 -1
- package/fesm2022/ngwr-segmented-testing.mjs.map +1 -1
- package/fesm2022/ngwr-segmented.mjs +29 -6
- package/fesm2022/ngwr-segmented.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +227 -43
- 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 +11 -9
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
- package/fesm2022/ngwr-sidebar.mjs +31 -16
- package/fesm2022/ngwr-sidebar.mjs.map +1 -1
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider.mjs +143 -14
- 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-sparkline.mjs +3 -3
- package/fesm2022/ngwr-speed-dial-testing.mjs +281 -0
- package/fesm2022/ngwr-speed-dial-testing.mjs.map +1 -0
- package/fesm2022/ngwr-speed-dial.mjs +27 -12
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
- package/fesm2022/ngwr-spinner.mjs +3 -3
- package/fesm2022/ngwr-splash-cursor-testing.mjs +89 -0
- package/fesm2022/ngwr-splash-cursor-testing.mjs.map +1 -0
- package/fesm2022/ngwr-splash-cursor.mjs +3 -3
- 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 +31 -5
- 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-splitter.mjs +3 -3
- 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 +7 -7
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-squircle.mjs +6 -6
- 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 +4 -4
- package/fesm2022/ngwr-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-statistic.mjs +9 -9
- package/fesm2022/ngwr-stepper-testing.mjs +8 -8
- package/fesm2022/ngwr-stepper-testing.mjs.map +1 -1
- package/fesm2022/ngwr-stepper.mjs +33 -8
- package/fesm2022/ngwr-stepper.mjs.map +1 -1
- package/fesm2022/ngwr-storage.mjs +17 -5
- package/fesm2022/ngwr-storage.mjs.map +1 -1
- package/fesm2022/ngwr-switch.mjs +3 -3
- package/fesm2022/ngwr-table.mjs +110 -40
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs-testing.mjs +11 -10
- package/fesm2022/ngwr-tabs-testing.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +51 -11
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea.mjs +3 -3
- package/fesm2022/ngwr-theme.mjs +181 -4
- package/fesm2022/ngwr-theme.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 +26 -8
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast.mjs +44 -15
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +3 -3
- package/fesm2022/ngwr-tour-testing.mjs +173 -0
- package/fesm2022/ngwr-tour-testing.mjs.map +1 -0
- package/fesm2022/ngwr-tour.mjs +34 -10
- package/fesm2022/ngwr-tour.mjs.map +1 -1
- package/fesm2022/ngwr-transfer.mjs +3 -3
- package/fesm2022/ngwr-tree.mjs +36 -11
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter-testing.mjs +242 -0
- package/fesm2022/ngwr-typewriter-testing.mjs.map +1 -0
- package/fesm2022/ngwr-typewriter.mjs +13 -5
- package/fesm2022/ngwr-typewriter.mjs.map +1 -1
- package/fesm2022/ngwr-typography.mjs +3 -3
- package/fesm2022/ngwr-utils.mjs +5 -2
- package/fesm2022/ngwr-utils.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 +4 -4
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-waves-testing.mjs +128 -0
- package/fesm2022/ngwr-waves-testing.mjs.map +1 -0
- package/fesm2022/ngwr-waves.mjs +4 -4
- package/fesm2022/ngwr-waves.mjs.map +1 -1
- package/fesm2022/ngwr-window-testing.mjs +361 -0
- package/fesm2022/ngwr-window-testing.mjs.map +1 -0
- package/fesm2022/ngwr-window.mjs +175 -31
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/file-upload/styles/_index.scss +2 -2
- package/glitch-text/styles/_index.scss +27 -12
- package/i18n/en.json +71 -7
- package/i18n/ru.json +71 -7
- package/image-cropper/styles/_index.scss +19 -0
- package/input/styles/_index.scss +2 -2
- package/input-number/styles/_index.scss +2 -2
- package/input-otp/styles/_index.scss +9 -2
- package/knob/styles/_index.scss +1 -1
- package/lightbox/styles/_index.scss +16 -2
- package/line-chart/styles/_index.scss +28 -14
- package/list/styles/_index.scss +1 -1
- package/llms-full.txt +161 -19
- package/llms.txt +45 -10
- package/markdown/styles/_index.scss +3 -3
- package/mcp/api.js +6 -4
- package/mcp/catalog.js +40 -3
- package/mcp/providers.js +42 -0
- package/mcp/tools.js +22 -30
- package/meter-group/styles/_index.scss +1 -1
- package/overlay/styles/_index.scss +33 -1
- package/package.json +161 -12
- package/pagination/styles/_index.scss +23 -1
- package/popover/styles/_index.scss +16 -7
- package/progress/styles/_index.scss +1 -1
- package/radio/styles/_index.scss +2 -2
- package/rating/styles/_index.scss +1 -1
- package/schematics/collection.json +1 -1
- package/schematics/migrations/v12/index.js +65 -0
- package/schematics/migrations/v7/index.js +12 -1
- package/schematics/migrations/v8/index.js +10 -1
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +8 -3
- package/schematics/provider/index.js +80 -13
- package/schematics/use/index.js +9 -129
- package/schematics/use/rule.js +206 -0
- package/schematics/use/symbol-map.json +4 -4
- package/segmented/styles/_index.scss +14 -3
- package/select/styles/_index.scss +14 -2
- package/sidebar/styles/_index.scss +12 -10
- package/skills/ngwr/SKILL.md +117 -0
- package/skills/ngwr/references/catalog.md +212 -0
- package/skills/ngwr/references/setup.md +78 -0
- package/slider/styles/_index.scss +1 -1
- package/speed-dial/styles/_index.scss +1 -1
- package/stepper/styles/_index.scss +12 -3
- package/switch/styles/_index.scss +2 -2
- package/table/styles/_index.scss +61 -12
- package/tabs/styles/_index.scss +1 -1
- package/textarea/styles/_index.scss +1 -1
- package/theme/styles/_colors.scss +142 -56
- package/theme/styles/_dark.scss +46 -3
- package/theme/styles/_focus.scss +28 -5
- package/theme/styles/_mixins.scss +1 -1
- package/theme/styles/_variables.scss +67 -0
- package/transfer/styles/_index.scss +26 -3
- package/tree/styles/_index.scss +29 -6
- package/types/ngwr-action-sheet-testing.d.ts +260 -0
- package/types/ngwr-bar-chart-testing.d.ts +85 -0
- package/types/ngwr-blur-text-testing.d.ts +180 -0
- package/types/ngwr-blur-text.d.ts +20 -4
- package/types/ngwr-border-glow-testing.d.ts +219 -0
- package/types/ngwr-breadcrumbs.d.ts +17 -10
- 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 +76 -0
- package/types/ngwr-carousel.d.ts +85 -6
- package/types/ngwr-cascader.d.ts +17 -0
- package/types/ngwr-checkbox.d.ts +13 -0
- package/types/ngwr-circular-text-testing.d.ts +196 -0
- package/types/ngwr-click-spark.d.ts +4 -0
- package/types/ngwr-color-picker-testing.d.ts +299 -0
- package/types/ngwr-color-picker.d.ts +34 -2
- package/types/ngwr-confetti.d.ts +8 -0
- package/types/ngwr-config.d.ts +10 -1
- package/types/ngwr-context-menu-testing.d.ts +24 -11
- package/types/ngwr-context-menu.d.ts +71 -1
- package/types/ngwr-counter.d.ts +1 -0
- package/types/{ngwr-date-adapter-fns.d.ts → ngwr-date-adapters-fns.d.ts} +33 -6
- package/types/{ngwr-date-adapter-luxon.d.ts → ngwr-date-adapters-luxon.d.ts} +1 -1
- package/types/ngwr-date-picker-testing.d.ts +17 -72
- package/types/ngwr-date-picker.d.ts +8 -4
- package/types/{ngwr-date-adapter.d.ts → ngwr-date.d.ts} +24 -5
- package/types/ngwr-decrypt-text-testing.d.ts +222 -0
- package/types/ngwr-dialog.d.ts +38 -1
- package/types/ngwr-divider.d.ts +25 -0
- package/types/ngwr-donut-chart-testing.d.ts +83 -0
- package/types/ngwr-donut-chart.d.ts +3 -3
- package/types/ngwr-drag-drop.d.ts +56 -2
- package/types/ngwr-drawer.d.ts +68 -5
- 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 +17 -8
- package/types/ngwr-falling-text-testing.d.ts +188 -0
- package/types/ngwr-falling-text.d.ts +1 -1
- package/types/ngwr-form.d.ts +12 -2
- 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 +201 -0
- package/types/ngwr-gradient-text-testing.d.ts +186 -0
- package/types/ngwr-i18n.d.ts +13 -4
- package/types/ngwr-image-cropper-testing.d.ts +173 -0
- package/types/ngwr-image-cropper.d.ts +71 -5
- package/types/ngwr-input-number-testing.d.ts +15 -10
- package/types/ngwr-input-number.d.ts +44 -5
- package/types/ngwr-input-otp-testing.d.ts +12 -6
- package/types/ngwr-input-otp.d.ts +15 -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-line-chart.d.ts +20 -3
- package/types/ngwr-markdown.d.ts +11 -0
- package/types/ngwr-marquee-testing.d.ts +280 -0
- package/types/ngwr-mention.d.ts +32 -0
- package/types/ngwr-meter-group-testing.d.ts +77 -0
- package/types/ngwr-overlay.d.ts +20 -1
- package/types/ngwr-pagination-testing.d.ts +4 -4
- package/types/ngwr-pipes.d.ts +1 -1
- package/types/ngwr-popover-testing.d.ts +7 -2
- package/types/ngwr-popover.d.ts +1 -0
- package/types/ngwr-result.d.ts +6 -0
- package/types/ngwr-rotating-text-testing.d.ts +191 -0
- package/types/ngwr-segmented-testing.d.ts +9 -0
- package/types/ngwr-segmented.d.ts +21 -1
- package/types/ngwr-select.d.ts +100 -6
- package/types/ngwr-shiny-text-testing.d.ts +165 -0
- package/types/ngwr-shiny-text.d.ts +4 -2
- package/types/ngwr-sidebar.d.ts +14 -5
- package/types/ngwr-slider.d.ts +84 -1
- package/types/ngwr-sparkline-testing.d.ts +69 -0
- package/types/ngwr-speed-dial-testing.d.ts +199 -0
- package/types/ngwr-speed-dial.d.ts +22 -3
- 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 +21 -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-stepper-testing.d.ts +5 -5
- package/types/ngwr-stepper.d.ts +8 -0
- package/types/ngwr-storage.d.ts +1 -0
- package/types/ngwr-table.d.ts +114 -12
- package/types/ngwr-tabs-testing.d.ts +11 -10
- package/types/ngwr-tabs.d.ts +2 -0
- package/types/ngwr-theme.d.ts +82 -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-tour.d.ts +22 -4
- package/types/ngwr-tree.d.ts +12 -4
- package/types/ngwr-typewriter-testing.d.ts +211 -0
- package/types/ngwr-utils.d.ts +5 -2
- 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 +66 -21
- package/typography/styles/_index.scss +1 -1
- package/window/styles/_index.scss +116 -42
- package/fesm2022/ngwr-date-adapter-fns.mjs.map +0 -1
- package/fesm2022/ngwr-date-adapter-luxon.mjs.map +0 -1
- package/fesm2022/ngwr-date-adapter.mjs.map +0 -1
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
|
-
- exports: WrBlurText
|
|
75
|
+
- exports: WrBlurText, WrBlurTextDirection, WrBlurTextUnit
|
|
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`
|
|
@@ -116,7 +140,7 @@
|
|
|
116
140
|
## ngwr/carousel
|
|
117
141
|
- import: `import { WrCarousel } from 'ngwr/carousel'`
|
|
118
142
|
- selector: `wr-carousel-slide`, `wr-carousel`
|
|
119
|
-
- exports: WrCarousel, WrCarouselSlide
|
|
143
|
+
- exports: WrCarousel, WrCarouselSlide, WR_CAROUSEL, WrCarouselContext
|
|
120
144
|
- Slide carousel with prev/next, dots, and optional autoplay. Autoplay holds while the pointer is over it, while focus is inside it, and while a drag is in flight — hovering is not a way to stop moving content for someone who never uses a mouse, which is what WCAG 2.2.2 asks for.
|
|
121
145
|
|
|
122
146
|
## ngwr/carousel/testing
|
|
@@ -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,10 @@
|
|
|
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
|
+
- exports: WrColorPickerHarness, WrColorPickerTriggerHarness, WrColorPickerHarnessFilters, WrColorPickerTab, WrColorPickerThumbs, WrColorPickerTriggerHarnessFilters
|
|
210
|
+
|
|
179
211
|
## ngwr/command-palette
|
|
180
212
|
- import: `import { WrCommandPalette } from 'ngwr/command-palette'`
|
|
181
213
|
- selector: `wr-command-palette`
|
|
@@ -222,18 +254,10 @@
|
|
|
222
254
|
- exports: WrCounter, WrCounterMode, WrCountUp, WrCountUpDirection, WrCountUpEasing, WrCountUpTrigger
|
|
223
255
|
- Animated number display. Use **odometer** mode for rolling-digit motion (mechanical counter look) or **tween** mode for an eased count-up from the previous value.
|
|
224
256
|
|
|
225
|
-
## ngwr/date
|
|
226
|
-
- import: `import { WrDateAdapter } from 'ngwr/date
|
|
257
|
+
## ngwr/date
|
|
258
|
+
- import: `import { WrDateAdapter } from 'ngwr/date'`
|
|
227
259
|
- exports: WrDateAdapter, WrNativeDateAdapter, provideWrDateAdapter, WrDateAdapterOptions, WR_DATE_LOCALE, WrDateFormat, isNamedFormat
|
|
228
260
|
|
|
229
|
-
## ngwr/date-adapter-fns
|
|
230
|
-
- import: `import { WrDateFnsAdapter } from 'ngwr/date-adapter-fns'`
|
|
231
|
-
- exports: WrDateFnsAdapter, provideWrDateFnsAdapter
|
|
232
|
-
|
|
233
|
-
## ngwr/date-adapter-luxon
|
|
234
|
-
- import: `import { WrLuxonAdapter } from 'ngwr/date-adapter-luxon'`
|
|
235
|
-
- exports: WrLuxonAdapter, provideWrLuxonAdapter
|
|
236
|
-
|
|
237
261
|
## ngwr/date-picker
|
|
238
262
|
- import: `import { WrDatePicker } from 'ngwr/date-picker'`
|
|
239
263
|
- selector: `wr-date-picker`, `wr-date-range-picker`
|
|
@@ -244,12 +268,24 @@
|
|
|
244
268
|
- import: `import { WrDatePickerDayHarness } from 'ngwr/date-picker/testing'`
|
|
245
269
|
- exports: WrDatePickerDayHarness, WrDatePickerHarness, WrDateRangePickerHarness, WrDatePickerDayHarnessFilters, WrDatePickerHarnessFilters, WrDatePickerTimeFields, WrDateRangePickerHarnessFilters
|
|
246
270
|
|
|
271
|
+
## ngwr/date/adapters/fns
|
|
272
|
+
- import: `import { WrDateFnsAdapter } from 'ngwr/date/adapters/fns'`
|
|
273
|
+
- exports: WrDateFnsAdapter, provideWrDateFnsAdapter
|
|
274
|
+
|
|
275
|
+
## ngwr/date/adapters/luxon
|
|
276
|
+
- import: `import { WrLuxonAdapter } from 'ngwr/date/adapters/luxon'`
|
|
277
|
+
- exports: WrLuxonAdapter, provideWrLuxonAdapter
|
|
278
|
+
|
|
247
279
|
## ngwr/decrypt-text
|
|
248
280
|
- import: `import { WrDecryptText } from 'ngwr/decrypt-text'`
|
|
249
281
|
- selector: `wr-decrypt-text`
|
|
250
282
|
- exports: WrDecryptText, WrDecryptTextAnimateOn, WrDecryptTextClickMode, WrDecryptTextRevealDirection
|
|
251
283
|
- 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
284
|
|
|
285
|
+
## ngwr/decrypt-text/testing
|
|
286
|
+
- import: `import { WrDecryptTextHarness } from 'ngwr/decrypt-text/testing'`
|
|
287
|
+
- exports: WrDecryptTextHarness, WrDecryptTextHarnessFilters
|
|
288
|
+
|
|
253
289
|
## ngwr/density
|
|
254
290
|
- import: `import { WrDensity } from 'ngwr/density'`
|
|
255
291
|
- selector: `[wrDensity]`
|
|
@@ -289,6 +325,10 @@
|
|
|
289
325
|
- exports: WrDonutChart, WrDonutSegment
|
|
290
326
|
- Ring chart with optional center label / value. Set `thickness="0"` for a solid pie.
|
|
291
327
|
|
|
328
|
+
## ngwr/donut-chart/testing
|
|
329
|
+
- import: `import { WrDonutChartHarness } from 'ngwr/donut-chart/testing'`
|
|
330
|
+
- exports: WrDonutChartHarness, WrDonutChartHarnessFilters, WrDonutChartLegendEntry
|
|
331
|
+
|
|
292
332
|
## ngwr/drag-drop
|
|
293
333
|
- import: `import { WrSortableList } from 'ngwr/drag-drop'`
|
|
294
334
|
- selector: `[wrDragHandle]`, `wr-sortable-list`
|
|
@@ -327,12 +367,20 @@
|
|
|
327
367
|
- exports: WrEventCalendar, WrCalendarEventTemplate, WrCalendarEvent, WrCalendarEventChange, WrCalendarEventContext, WrCalendarSlot, WrCalendarView
|
|
328
368
|
- Month, week and day views of a set of events — draggable, resizable, keyboard-operable.
|
|
329
369
|
|
|
370
|
+
## ngwr/event-calendar/testing
|
|
371
|
+
- import: `import { WrEventCalendarChipHarness } from 'ngwr/event-calendar/testing'`
|
|
372
|
+
- exports: WrEventCalendarChipHarness, WrEventCalendarHarness, WrEventCalendarChipHarnessFilters, WrEventCalendarHarnessFilters
|
|
373
|
+
|
|
330
374
|
## ngwr/falling-text
|
|
331
375
|
- import: `import { WrFallingText } from 'ngwr/falling-text'`
|
|
332
376
|
- selector: `wr-falling-text`
|
|
333
377
|
- exports: WrFallingText, WrFallingTextTrigger
|
|
334
378
|
- 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
379
|
|
|
380
|
+
## ngwr/falling-text/testing
|
|
381
|
+
- import: `import { WrFallingTextHarness } from 'ngwr/falling-text/testing'`
|
|
382
|
+
- exports: WrFallingTextHarness, WrFallingTextHarnessFilters
|
|
383
|
+
|
|
336
384
|
## ngwr/file-upload
|
|
337
385
|
- import: `import { WrFileUpload } from 'ngwr/file-upload'`
|
|
338
386
|
- selector: `wr-file-upload`
|
|
@@ -359,24 +407,40 @@
|
|
|
359
407
|
- exports: WrFuzzyText, WrFuzzyTextDirection
|
|
360
408
|
- 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
409
|
|
|
410
|
+
## ngwr/fuzzy-text/testing
|
|
411
|
+
- import: `import { WrFuzzyTextHarness } from 'ngwr/fuzzy-text/testing'`
|
|
412
|
+
- exports: WrFuzzyTextHarness, WrFuzzyTextHarnessFilters
|
|
413
|
+
|
|
362
414
|
## ngwr/gauge
|
|
363
415
|
- import: `import { WrGauge } from 'ngwr/gauge'`
|
|
364
416
|
- selector: `wr-gauge`
|
|
365
417
|
- exports: WrGauge
|
|
366
418
|
- Semicircle progress display — read-only, perfect for utilisation and score widgets.
|
|
367
419
|
|
|
420
|
+
## ngwr/gauge/testing
|
|
421
|
+
- import: `import { WrGaugeHarness } from 'ngwr/gauge/testing'`
|
|
422
|
+
- exports: WrGaugeHarness, WrGaugeHarnessFilters
|
|
423
|
+
|
|
368
424
|
## ngwr/glitch-text
|
|
369
425
|
- import: `import { WrGlitchText } from 'ngwr/glitch-text'`
|
|
370
426
|
- selector: `wr-glitch-text`
|
|
371
427
|
- exports: WrGlitchText
|
|
372
428
|
- 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
429
|
|
|
430
|
+
## ngwr/glitch-text/testing
|
|
431
|
+
- import: `import { WrGlitchTextHarness } from 'ngwr/glitch-text/testing'`
|
|
432
|
+
- exports: WrGlitchTextHarness, WrGlitchTextColourSplit, WrGlitchTextDurations, WrGlitchTextHarnessFilters
|
|
433
|
+
|
|
374
434
|
## ngwr/gradient-text
|
|
375
435
|
- import: `import { WrGradientText } from 'ngwr/gradient-text'`
|
|
376
436
|
- selector: `wr-gradient-text`
|
|
377
437
|
- exports: WrGradientText, WrGradientTextDirection
|
|
378
438
|
- 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
439
|
|
|
440
|
+
## ngwr/gradient-text/testing
|
|
441
|
+
- import: `import { WrGradientTextHarness } from 'ngwr/gradient-text/testing'`
|
|
442
|
+
- exports: WrGradientTextHarness, WrGradientTextHarnessFilters
|
|
443
|
+
|
|
380
444
|
## ngwr/hotkey
|
|
381
445
|
- import: `import { WrHotkey } from 'ngwr/hotkey'`
|
|
382
446
|
- selector: `[wrHotkey]`
|
|
@@ -417,6 +481,10 @@
|
|
|
417
481
|
- exports: WrImageCropper, WrCropRect, WrCropHandle, WrImageOutputType
|
|
418
482
|
- 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
483
|
|
|
484
|
+
## ngwr/image-cropper/testing
|
|
485
|
+
- import: `import { WrImageCropperHarness } from 'ngwr/image-cropper/testing'`
|
|
486
|
+
- exports: WrImageCropperHarness, WrCropArrow, WrCropWindowBox, WrImageCropperHarnessFilters
|
|
487
|
+
|
|
420
488
|
## ngwr/input
|
|
421
489
|
- import: `import { WrInput } from 'ngwr/input'`
|
|
422
490
|
- selector: `[wrInputPrefix]`, `[wrInputSuffix]`, `input[wrInput]`, `textarea[wrInput]`, `wr-input-group`, `wr-password-toggle`
|
|
@@ -459,6 +527,10 @@
|
|
|
459
527
|
- exports: WrKnob
|
|
460
528
|
- 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
529
|
|
|
530
|
+
## ngwr/knob/testing
|
|
531
|
+
- import: `import { WrKnobHarness } from 'ngwr/knob/testing'`
|
|
532
|
+
- exports: WrKnobHarness, WrKnobHarnessFilters
|
|
533
|
+
|
|
462
534
|
## ngwr/layout
|
|
463
535
|
- import: `import { WrLayout } from 'ngwr/layout'`
|
|
464
536
|
- selector: `wr-layout-content`, `wr-layout-footer`, `wr-layout-header`, `wr-layout-sider`, `wr-layout`
|
|
@@ -471,12 +543,20 @@
|
|
|
471
543
|
- exports: WrLightbox
|
|
472
544
|
- Image with click-to-zoom lightbox. Renders a thumbnail; clicking opens a full-size overlay viewer with backdrop, ESC + click-out to close.
|
|
473
545
|
|
|
546
|
+
## ngwr/lightbox/testing
|
|
547
|
+
- import: `import { WrLightboxHarness } from 'ngwr/lightbox/testing'`
|
|
548
|
+
- exports: WrLightboxHarness, WrLightboxHarnessFilters
|
|
549
|
+
|
|
474
550
|
## ngwr/line-chart
|
|
475
551
|
- import: `import { WrLineChart } from 'ngwr/line-chart'`
|
|
476
552
|
- selector: `wr-line-chart`
|
|
477
553
|
- exports: WrLineChart, WrLineSeries
|
|
478
554
|
- Multi-series line chart with a hover tooltip that snaps to the nearest x-axis tick.
|
|
479
555
|
|
|
556
|
+
## ngwr/line-chart/testing
|
|
557
|
+
- import: `import { WrLineChartHarness } from 'ngwr/line-chart/testing'`
|
|
558
|
+
- exports: WrLineChartHarness, WrLineChartHarnessFilters, WrLineChartTooltipRow
|
|
559
|
+
|
|
480
560
|
## ngwr/list
|
|
481
561
|
- import: `import { WrList } from 'ngwr/list'`
|
|
482
562
|
- selector: `wr-list-item`, `wr-list`
|
|
@@ -505,6 +585,10 @@
|
|
|
505
585
|
- exports: WrMarquee, WrMarqueeItem, WrMarqueeImage, WrMarqueeNode
|
|
506
586
|
- 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
587
|
|
|
588
|
+
## ngwr/marquee/testing
|
|
589
|
+
- import: `import { WrMarqueeHarness } from 'ngwr/marquee/testing'`
|
|
590
|
+
- exports: WrMarqueeHarness, WrMarqueeItemHarness, WrMarqueeHarnessFilters, WrMarqueeItemHarnessFilters, WrMarqueeLink
|
|
591
|
+
|
|
508
592
|
## ngwr/media
|
|
509
593
|
- import: `import { WrMedia } from 'ngwr/media'`
|
|
510
594
|
- exports: WrMedia, provideWrMedia, WR_BREAKPOINTS, DEFAULT_WR_BREAKPOINTS, WrBreakpoint, WrBreakpointMap
|
|
@@ -532,9 +616,13 @@
|
|
|
532
616
|
- exports: WrMeterGroup, WrMeterSegment
|
|
533
617
|
- Stacked-segment progress bar. Each segment is sized proportionally to its `value` relative to the sum (or the explicit `max`); legend listed underneath.
|
|
534
618
|
|
|
619
|
+
## ngwr/meter-group/testing
|
|
620
|
+
- import: `import { WrMeterGroupHarness } from 'ngwr/meter-group/testing'`
|
|
621
|
+
- exports: WrMeterGroupHarness, WrMeterGroupHarnessFilters, WrMeterGroupSlice
|
|
622
|
+
|
|
535
623
|
## ngwr/overlay
|
|
536
624
|
- import: `import { WrOutsideClick } from 'ngwr/overlay'`
|
|
537
|
-
- exports: wrAppendOverlayClose, wrMirrorOffsets, WrOutsideClick, WrOverlayContainer, provideWrOverlay, provideWrResponsiveOverlays, WR_OVERLAY, WR_OVERLAY_CONTAINER, WR_RESPONSIVE_OVERLAYS, wrPresentAsSheet
|
|
625
|
+
- exports: wrAppendOverlayClose, wrMirrorOffsets, WrOutsideClick, WrOverlayContainer, provideWrOverlay, provideWrResponsiveOverlays, WR_OVERLAY, WR_OVERLAY_CONTAINER, WR_RESPONSIVE_OVERLAYS, wrPresentAsSheet, WrResponsiveOverlaysConfig
|
|
538
626
|
|
|
539
627
|
## ngwr/page-header
|
|
540
628
|
- import: `import { WrPageHeader } from 'ngwr/page-header'`
|
|
@@ -550,7 +638,6 @@
|
|
|
550
638
|
|
|
551
639
|
## ngwr/pagination/testing
|
|
552
640
|
- import: `import { WrPaginationHarness } from 'ngwr/pagination/testing'`
|
|
553
|
-
- selector: `.wr-pagination__page`, `.wr-pagination__nav > wr-btn:not(.wr-pagination__page)`, `.wr-pagination__size`, `.wr-pagination__page[aria-current="page"]`
|
|
554
641
|
- exports: WrPaginationHarness, WrPaginationHarnessFilters
|
|
555
642
|
|
|
556
643
|
## ngwr/pipes
|
|
@@ -632,6 +719,10 @@
|
|
|
632
719
|
- exports: WrRotatingText, WrRotatingTextSplit, WrRotatingTextStaggerFrom
|
|
633
720
|
- 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
721
|
|
|
722
|
+
## ngwr/rotating-text/testing
|
|
723
|
+
- import: `import { WrRotatingTextHarness } from 'ngwr/rotating-text/testing'`
|
|
724
|
+
- exports: WrRotatingTextHarness, WrRotatingTextHarnessFilters
|
|
725
|
+
|
|
635
726
|
## ngwr/scroll
|
|
636
727
|
- import: `import { WrScroll } from 'ngwr/scroll'`
|
|
637
728
|
- exports: WrScroll, WrScrollTarget, WrScrollOptions
|
|
@@ -663,6 +754,10 @@
|
|
|
663
754
|
- exports: WrShinyText, WrShimmer
|
|
664
755
|
- 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
756
|
|
|
757
|
+
## ngwr/shiny-text/testing
|
|
758
|
+
- import: `import { WrShinyTextHarness } from 'ngwr/shiny-text/testing'`
|
|
759
|
+
- exports: WrShinyTextHarness, WrShinyTextHarnessFilters, WrShinyTextSweepDirection
|
|
760
|
+
|
|
666
761
|
## ngwr/sidebar
|
|
667
762
|
- import: `import { WrSidebar } from 'ngwr/sidebar'`
|
|
668
763
|
- selector: `wr-sidebar`
|
|
@@ -691,12 +786,20 @@
|
|
|
691
786
|
- exports: WrSparkline
|
|
692
787
|
- Tiny inline trend line — no axes, no labels. Drop it next to a number to give context at a glance.
|
|
693
788
|
|
|
789
|
+
## ngwr/sparkline/testing
|
|
790
|
+
- import: `import { WrSparklineHarness } from 'ngwr/sparkline/testing'`
|
|
791
|
+
- exports: WrSparklineHarness, WrSparklineHarnessFilters
|
|
792
|
+
|
|
694
793
|
## ngwr/speed-dial
|
|
695
794
|
- import: `import { WrSpeedDial } from 'ngwr/speed-dial'`
|
|
696
795
|
- selector: `wr-speed-dial`
|
|
697
796
|
- exports: WrSpeedDial, WrSpeedDialAction, WrSpeedDialDirection
|
|
698
797
|
- Floating action button that fans out a set of secondary actions on click.
|
|
699
798
|
|
|
799
|
+
## ngwr/speed-dial/testing
|
|
800
|
+
- import: `import { WrSpeedDialActionHarness } from 'ngwr/speed-dial/testing'`
|
|
801
|
+
- exports: WrSpeedDialActionHarness, WrSpeedDialHarness, WrSpeedDialActionHarnessFilters, WrSpeedDialHarnessFilters
|
|
802
|
+
|
|
700
803
|
## ngwr/spinner
|
|
701
804
|
- import: `import { WrSpinner } from 'ngwr/spinner'`
|
|
702
805
|
- selector: `wr-spinner`
|
|
@@ -709,24 +812,40 @@
|
|
|
709
812
|
- exports: WrSplashCursor, WrFluidConfig
|
|
710
813
|
- 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
814
|
|
|
815
|
+
## ngwr/splash-cursor/testing
|
|
816
|
+
- import: `import { WrSplashCursorHarness } from 'ngwr/splash-cursor/testing'`
|
|
817
|
+
- exports: WrSplashCursorHarness, WrSplashCursorHarnessFilters
|
|
818
|
+
|
|
712
819
|
## ngwr/split-text
|
|
713
820
|
- import: `import { WrSplitText } from 'ngwr/split-text'`
|
|
714
821
|
- selector: `wr-split-text`
|
|
715
822
|
- exports: WrSplitText, WrSplitTextMotion, WrSplitTextUnit
|
|
716
823
|
- 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
824
|
|
|
825
|
+
## ngwr/split-text/testing
|
|
826
|
+
- import: `import { WrSplitTextHarness } from 'ngwr/split-text/testing'`
|
|
827
|
+
- exports: WrSplitTextHarness, WrSplitTextHarnessAlign, WrSplitTextHarnessFilters
|
|
828
|
+
|
|
718
829
|
## ngwr/splitter
|
|
719
830
|
- import: `import { WrSplitter } from 'ngwr/splitter'`
|
|
720
831
|
- selector: `wr-splitter`
|
|
721
832
|
- exports: WrSplitter
|
|
722
833
|
- Resizable two-pane split. Drag the divider or focus it and use arrows. Two-way `[(position)]` (0–100).
|
|
723
834
|
|
|
835
|
+
## ngwr/splitter/testing
|
|
836
|
+
- import: `import { WrSplitterHarness } from 'ngwr/splitter/testing'`
|
|
837
|
+
- exports: WrSplitterHarness, WrSplitterHarnessFilters, WrSplitterPaneSizes
|
|
838
|
+
|
|
724
839
|
## ngwr/spotlight-card
|
|
725
840
|
- import: `import { WrSpotlightCard } from 'ngwr/spotlight-card'`
|
|
726
841
|
- selector: `wr-spotlight-card`, `[wrSpotlight]`
|
|
727
842
|
- exports: WrSpotlightCard, WrSpotlight
|
|
728
843
|
- Cursor-tracked spotlight card. A soft radial highlight follows the pointer, fading in on hover.
|
|
729
844
|
|
|
845
|
+
## ngwr/spotlight-card/testing
|
|
846
|
+
- import: `import { WrSpotlightCardHarness } from 'ngwr/spotlight-card/testing'`
|
|
847
|
+
- exports: WrSpotlightCardHarness, WrSpotlightHarness, WrSpotlightCardHarnessFilters, WrSpotlightHarnessFilters
|
|
848
|
+
|
|
730
849
|
## ngwr/squircle
|
|
731
850
|
- import: `import { WrSquircle } from 'ngwr/squircle'`
|
|
732
851
|
- selector: `wr-squircle`, `[wrSquircle]`
|
|
@@ -739,6 +858,10 @@
|
|
|
739
858
|
- exports: WrStarBorder, WrStarBorderMode, WrStarBorderRays
|
|
740
859
|
- 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
860
|
|
|
861
|
+
## ngwr/star-border/testing
|
|
862
|
+
- import: `import { WrStarBorderHarness } from 'ngwr/star-border/testing'`
|
|
863
|
+
- exports: WrStarBorderHarness, WrStarBorderHarnessFilters
|
|
864
|
+
|
|
742
865
|
## ngwr/statistic
|
|
743
866
|
- import: `import { WrStatistic } from 'ngwr/statistic'`
|
|
744
867
|
- selector: `wr-statistic-countdown`, `wr-statistic-group`, `wr-statistic`
|
|
@@ -773,7 +896,7 @@
|
|
|
773
896
|
## ngwr/table
|
|
774
897
|
- import: `import { WrTable } from 'ngwr/table'`
|
|
775
898
|
- selector: `[wrTableCell]`, `ng-template[wrTableExpand]`, `wr-table-filter`, `ng-template[wrTableGroupHeader]`, `wr-table-sort`, `wr-table`
|
|
776
|
-
- exports: WrTable, WrTableCell, WrTableExpand, WrTableGroupHeader, WrTableSort, WrTableFilter, WrTableCellContext, WrTableColumn, WrTableColumns, WrTableCsvOptions, WrTableExpandContext, WrTableFilterChange, WrTableFilterItem, WrTableGroupContext, WrTableSortState, WrTableSortDirection, WrTableSummary
|
|
899
|
+
- exports: WrTable, WrTableCell, WrTableExpand, WrTableGroupHeader, WrTableSort, WrTableFilter, WrTableCellContext, WrTableColumn, WrTableColumns, WrTableCsvOptions, WrTableExpandContext, WrTableFilterChange, WrTableFilterItem, WrTableGroupContext, WrTableRow, WrTableSortState, WrTableSortDirection, WrTableSummary
|
|
777
900
|
- Data table with sortable / filterable headers and custom cell templates.
|
|
778
901
|
|
|
779
902
|
## ngwr/table/testing
|
|
@@ -802,7 +925,7 @@
|
|
|
802
925
|
|
|
803
926
|
## ngwr/theme
|
|
804
927
|
- import: `import { WrTheme } from 'ngwr/theme'`
|
|
805
|
-
- exports: WR_COLORS, WrColor, WrTheme, provideWrTheme, WR_THEME_CONFIG, DEFAULT_WR_THEME_CONFIG, WrResolvedTheme, WrThemeMode, WrThemeConfig
|
|
928
|
+
- exports: WR_COLORS, wrContrastFor, wrIntentTokens, wrThemeTokens, WrColor, WrTheme, provideWrTheme, WR_THEME_CONFIG, DEFAULT_WR_THEME_CONFIG, WrResolvedTheme, WrThemeMode, WrThemeConfig
|
|
806
929
|
- Light / dark theme manager. Writes `[data-theme]` on `<html>`, persists the chosen mode to localStorage. `auto` mode follows `WrPlatform.prefersDark`.
|
|
807
930
|
|
|
808
931
|
## ngwr/tilt-card
|
|
@@ -811,6 +934,10 @@
|
|
|
811
934
|
- exports: WrTiltCard, WrTilt
|
|
812
935
|
- 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
936
|
|
|
937
|
+
## ngwr/tilt-card/testing
|
|
938
|
+
- import: `import { WrTiltHarness } from 'ngwr/tilt-card/testing'`
|
|
939
|
+
- exports: WrTiltHarness, WrTiltHarnessFilters, WrTiltRotation
|
|
940
|
+
|
|
814
941
|
## ngwr/timeline
|
|
815
942
|
- import: `import { WrTimeline } from 'ngwr/timeline'`
|
|
816
943
|
- selector: `wr-timeline-item`, `wr-timeline`
|
|
@@ -819,7 +946,6 @@
|
|
|
819
946
|
|
|
820
947
|
## ngwr/toast
|
|
821
948
|
- import: `import { WrToast } from 'ngwr/toast'`
|
|
822
|
-
- selector: `wr-toast-host`, `wr-toast`
|
|
823
949
|
- exports: WrToast, WrToastRef, provideWrToastConfig, DEFAULT_TOAST_CONFIG, WR_TOAST_CONFIG, WrToastConfig, WrToastMode, WrToastOptions, WrToastPosition, WrToastType
|
|
824
950
|
- Stack of dismissible notifications anchored to a viewport corner. Service-driven; rendered in a single shared CDK overlay.
|
|
825
951
|
|
|
@@ -839,6 +965,10 @@
|
|
|
839
965
|
- exports: WrTour, WrTourPopup, WrTourPlacement, WrTourStep
|
|
840
966
|
- Guided product tour — a spotlight over one element at a time plus a popup explaining it.
|
|
841
967
|
|
|
968
|
+
## ngwr/tour/testing
|
|
969
|
+
- import: `import { WrTourHarness } from 'ngwr/tour/testing'`
|
|
970
|
+
- exports: WrTourHarness, WrTourHarnessFilters, WrTourProgress
|
|
971
|
+
|
|
842
972
|
## ngwr/transfer
|
|
843
973
|
- import: `import { WrTransfer } from 'ngwr/transfer'`
|
|
844
974
|
- selector: `wr-transfer`
|
|
@@ -865,6 +995,10 @@
|
|
|
865
995
|
- exports: WrTypewriter, WrTypewriterVariableSpeed
|
|
866
996
|
- 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
997
|
|
|
998
|
+
## ngwr/typewriter/testing
|
|
999
|
+
- import: `import { WrTypewriterHarness } from 'ngwr/typewriter/testing'`
|
|
1000
|
+
- exports: WrTypewriterHarness, WrTypewriterHarnessFilters
|
|
1001
|
+
|
|
868
1002
|
## ngwr/typography
|
|
869
1003
|
- import: `import { WrTypography } from 'ngwr/typography'`
|
|
870
1004
|
- selector: `[wrTypography]`
|
|
@@ -895,8 +1029,16 @@
|
|
|
895
1029
|
- exports: WrWaves
|
|
896
1030
|
- 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
1031
|
|
|
1032
|
+
## ngwr/waves/testing
|
|
1033
|
+
- import: `import { WrWavesHarness } from 'ngwr/waves/testing'`
|
|
1034
|
+
- exports: WrWavesHarness, WrWavesHarnessFilters
|
|
1035
|
+
|
|
898
1036
|
## ngwr/window
|
|
899
1037
|
- import: `import { WrWindowManager } from 'ngwr/window'`
|
|
900
|
-
- selector: `wr-window-
|
|
901
|
-
- exports: WR_WINDOW_DATA, WR_WINDOW_REF, WrWindowManager, WrWindowBeforeCloseHook, WrWindowRef, WrWindowTaskbar, WrWindowChromeSize, WrWindowConfig, WrWindowOs, WrWindowPersistMode, WrWindowSize, WrWindowSnap, WrWindowState, WrWindowStorageConfig
|
|
1038
|
+
- selector: `wr-window-taskbar`
|
|
1039
|
+
- exports: WR_WINDOW_DATA, WR_WINDOW_REF, WrWindowManager, WrWindowBeforeCloseHook, WrWindowRef, WrWindowTaskbar, WrWindowChromeSize, WrWindowConfig, WrWindowLayoutSnapshot, WrWindowOs, WrWindowPersistMode, WrWindowSize, WrWindowSnap, WrWindowState, WrWindowStorageConfig
|
|
902
1040
|
- 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.
|
|
1041
|
+
|
|
1042
|
+
## ngwr/window/testing
|
|
1043
|
+
- import: `import { WrWindowHarness } from 'ngwr/window/testing'`
|
|
1044
|
+
- 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, 187 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
|
|
|
@@ -56,8 +56,8 @@ Add from their entry points as needed:
|
|
|
56
56
|
`color` key — a bound `[color]="null"` means "no intent", which a default cannot
|
|
57
57
|
express without inventing a sentinel.
|
|
58
58
|
- `provideWrI18n(...)` + `provideWrI18nStaticLoader(...)` — localization.
|
|
59
|
-
- `provideWrDateAdapter(...)` — calendar + date-picker (`ngwr/date
|
|
60
|
-
or `ngwr/date
|
|
59
|
+
- `provideWrDateAdapter(...)` — calendar + date-picker (`ngwr/date/adapters/fns`
|
|
60
|
+
or `ngwr/date/adapters/luxon`).
|
|
61
61
|
|
|
62
62
|
Injected rather than provided: `WrTour` (`ngwr/tour`) runs a guided onboarding
|
|
63
63
|
tour — `tour.start([{ target: '[data-tour="save"]', content: '…' }])` spotlights
|
|
@@ -75,6 +75,21 @@ one element at a time; a step whose target is missing is skipped, not floated.
|
|
|
75
75
|
- `ng g ngwr:page <form|table|dashboard>` — starter page wired with ngwr.
|
|
76
76
|
- `ng update ngwr` — runs upgrade migrations.
|
|
77
77
|
|
|
78
|
+
## Upgrading to v12
|
|
79
|
+
|
|
80
|
+
Two breaking changes, and only one is codemoddable.
|
|
81
|
+
|
|
82
|
+
- **Date entry points nest under `ngwr/date`.** `ngwr/date-adapter` →
|
|
83
|
+
`ngwr/date`, `ngwr/date-adapter-fns` → `ngwr/date/adapters/fns`,
|
|
84
|
+
`ngwr/date-adapter-luxon` → `ngwr/date/adapters/luxon`. Import paths only —
|
|
85
|
+
every symbol keeps its name. `ng update ngwr@12` rewrites them.
|
|
86
|
+
- **`readI18nText()` returns `Signal<string>`.** Add `()` at every read. No
|
|
87
|
+
codemod: adding the call means knowing which identifiers hold the result, and
|
|
88
|
+
the type error already names every site. `useI18nText`, the `wrT` pipe and the
|
|
89
|
+
`[wrT]` directive are unchanged.
|
|
90
|
+
|
|
91
|
+
Full guide, with diffs: https://ngwr.dev/start/migration
|
|
92
|
+
|
|
78
93
|
## Use ngwr — don't hand-roll
|
|
79
94
|
|
|
80
95
|
The catalog is large: prefer an ngwr component, util, pipe, or validator over raw
|
|
@@ -140,16 +155,21 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
|
|
|
140
155
|
`wr-tree` and `wr-select` (search mode), alongside the standalone
|
|
141
156
|
`wr-virtual-scroll` wrapper.
|
|
142
157
|
- **Testing** — CDK component harnesses ship beside the components they drive, at
|
|
143
|
-
`ngwr/<name>/testing`.
|
|
158
|
+
`ngwr/<name>/testing`. 70 entry points so far, 104 harness classes, covering the
|
|
144
159
|
form controls, the overlays, both data views, the navigation / disclosure set
|
|
145
160
|
(`tabs`, `stepper`, `carousel`, `pagination`, `segmented`, `collapse`,
|
|
146
161
|
`transfer`) and `markdown`: the form controls
|
|
147
162
|
(`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
|
-
`
|
|
163
|
+
`input-number`, `input-otp`, `slider`, `rating`, `file-upload`, `color-picker`,
|
|
164
|
+
`knob`, `form` for `<wr-form-field>`), the overlays (`date-picker`, `dropdown`,
|
|
165
|
+
`popover`, `dialog`, `drawer`, `action-sheet`, `toast`, `context-menu`, `popconfirm`,
|
|
166
|
+
`command-palette`, `cascader`, `mention`), the data views (`table`, `tree`),
|
|
167
|
+
`splitter`, `speed-dial`, `lightbox`, `tour`, `calendar`, `event-calendar`,
|
|
168
|
+
`window`, `image-cropper`, every chart and eighteen of the twenty-one animations —
|
|
169
|
+
every control, every overlay and every chart has one. `aurora`, `click-spark`,
|
|
170
|
+
`confetti` and `virtual-scroll` deliberately have none: what they do is a canvas or
|
|
171
|
+
a measured viewport, so every honest method would read the same for a working
|
|
172
|
+
component and a broken one.
|
|
153
173
|
Load them with `TestbedHarnessEnvironment` and narrow with
|
|
154
174
|
`WrButtonHarness.with({ text: 'Save' })` instead of querying ngwr's markup.
|
|
155
175
|
Dialog, toast and a service-opened drawer render outside the fixture — load
|
|
@@ -192,7 +212,22 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
|
|
|
192
212
|
listed here rather than embedding a copy of them. Client config for Claude
|
|
193
213
|
Code / Claude Desktop / Cursor, and a worked example of each tool:
|
|
194
214
|
https://ngwr.dev/guides/mcp
|
|
215
|
+
- **Agent skill — the rules, not the catalog.** `skills/ngwr/SKILL.md` in the
|
|
216
|
+
installed package (also at https://ngwr.dev/skills/ngwr/SKILL.md) is about a
|
|
217
|
+
page of the things this library does that a reasonable guess gets wrong: the
|
|
218
|
+
button's selector is `wr-btn`, a checkbox's group identity is `checkboxValue`,
|
|
219
|
+
there is no `ControlValueAccessor`, imports come from the entry point rather
|
|
220
|
+
than a barrel. `references/catalog.md` and `references/setup.md` sit beside it
|
|
221
|
+
for the long tail. Generated from the same pass as `llms-full.txt`:
|
|
222
|
+
https://ngwr.dev/guides/agent-skill
|
|
223
|
+
- **Registry — an open format for shareable theme presets and blocks.** One
|
|
224
|
+
installable unit per JSON file, hosted anywhere; the contract is
|
|
225
|
+
https://ngwr.dev/registry/schema.json and four worked examples sit beside it
|
|
226
|
+
at `/registry/items/` — three theme presets and one block. `cssVars` keys are
|
|
227
|
+
`--wr-*` tokens, `entryPoints` names `ngwr/*` subpaths, and a `files[].target`
|
|
228
|
+
is always relative:
|
|
229
|
+
https://ngwr.dev/guides/registry
|
|
195
230
|
- All site URLs (for crawlers): https://ngwr.dev/sitemap.xml
|
|
196
231
|
- Source, README, per-component `.d.ts` types: https://github.com/thekhegay/ngwr
|
|
197
232
|
(installed at `node_modules/ngwr/types/ngwr-<name>.d.ts`; the package also
|
|
198
|
-
ships `README.md`, `llms.txt`,
|
|
233
|
+
ships `README.md`, `llms.txt`, `llms-full.txt` and `skills/ngwr/`)
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
&__code-inline {
|
|
78
78
|
padding: 0.15em 0.35em;
|
|
79
79
|
border-radius: var(--wr-border-radius-sm);
|
|
80
|
-
background:
|
|
80
|
+
background: var(--wr-color-fill);
|
|
81
81
|
// `-ink`, not the bare intent: code on a tint is text, and the bare colour
|
|
82
82
|
// fails AA there. The share in `$ink-mix` is calibrated against this tint.
|
|
83
83
|
color: var(--wr-color-dark-ink);
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
padding: 0.75rem;
|
|
96
96
|
overflow-x: auto;
|
|
97
97
|
border-radius: var(--wr-border-radius-base);
|
|
98
|
-
background:
|
|
98
|
+
background: var(--wr-color-fill);
|
|
99
99
|
tab-size: 2;
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -257,7 +257,7 @@
|
|
|
257
257
|
}
|
|
258
258
|
|
|
259
259
|
&__th {
|
|
260
|
-
background:
|
|
260
|
+
background: var(--wr-color-fill);
|
|
261
261
|
font-weight: var(--wr-font-weight-semibold);
|
|
262
262
|
}
|
|
263
263
|
|
package/mcp/api.js
CHANGED
|
@@ -7,10 +7,12 @@
|
|
|
7
7
|
/**
|
|
8
8
|
* Angular's signal wrappers, behind whichever namespace alias ng-packagr used.
|
|
9
9
|
*
|
|
10
|
-
* BOTH aliases, which is not decoration:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* BOTH aliases, which is not decoration: ng-packagr writes `_angular_core` for
|
|
11
|
+
* most of the shipped declarations and `i0` for a couple of dozen of them, and
|
|
12
|
+
* which file gets which moves with every entry point added — so the rule is here
|
|
13
|
+
* and the census deliberately is not. Matching the first alias alone hid every
|
|
14
|
+
* binding in the `i0` files, `WrIcon` among them, whose single required input is
|
|
15
|
+
* the entire component.
|
|
14
16
|
*/
|
|
15
17
|
const SIGNAL_WRAPPER = /^(?:[A-Za-z_$][\w$]*\.)?(InputSignal|InputSignalWithTransform|ModelSignal|OutputEmitterRef)</;
|
|
16
18
|
/** Modifiers that may precede a member name in a `.d.ts`. */
|
package/mcp/catalog.js
CHANGED
|
@@ -11,7 +11,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
11
11
|
* The catalog, read from the files the package already ships.
|
|
12
12
|
*
|
|
13
13
|
* **No second copy of anything, and that is the design constraint this whole
|
|
14
|
-
* server was built under.** `llms-full.txt` (
|
|
14
|
+
* server was built under.** `llms-full.txt` (~57 KB, 202 entry points) and
|
|
15
15
|
* `schematics/use/symbol-map.json` (215 symbols) are already in the tarball for
|
|
16
16
|
* other reasons, and the `.d.ts` bundle carries every signature. A server that
|
|
17
17
|
* embedded its own index would be a fourth copy to keep in step with the library,
|
|
@@ -19,7 +19,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
19
19
|
*
|
|
20
20
|
* What it adds on top is the part none of those files have: a way to ASK. An
|
|
21
21
|
* agent that does not already know an entry point's name cannot use a `.d.ts`,
|
|
22
|
-
* and reading
|
|
22
|
+
* and reading ~57 KB of catalog to answer "what renders markdown" is the cost this
|
|
23
23
|
* exists to remove.
|
|
24
24
|
*/
|
|
25
25
|
class Catalog {
|
|
@@ -51,10 +51,15 @@ class Catalog {
|
|
|
51
51
|
/**
|
|
52
52
|
* Does this entry point ship a stylesheet?
|
|
53
53
|
*
|
|
54
|
-
* Read from the package's own `exports` map rather than assumed:
|
|
54
|
+
* Read from the package's own `exports` map rather than assumed: 94 of the 202
|
|
55
55
|
* entry points ship no `styles/_index.scss` — the testing harnesses, the
|
|
56
56
|
* services, the adapters — and telling a consumer to `@use` one of those breaks
|
|
57
57
|
* their Sass build.
|
|
58
|
+
*
|
|
59
|
+
* Count them with `hasStyles()` rather than by tallying `sass` conditions in the
|
|
60
|
+
* `exports` map: six of those keys are not catalog entry points at all (the root
|
|
61
|
+
* plus `animations`, `breakpoints`, `grid`, `reset`, `typography-utilities`), so
|
|
62
|
+
* that arithmetic comes out six short.
|
|
58
63
|
*/
|
|
59
64
|
hasStyles(path) {
|
|
60
65
|
this.exports ??= (() => {
|
|
@@ -94,6 +99,38 @@ class Catalog {
|
|
|
94
99
|
const file = join('types', `${path.replace(/\//g, '-')}.d.ts`);
|
|
95
100
|
return this.read(file);
|
|
96
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Whether `symbol` is something Angular accepts in `imports: []`.
|
|
104
|
+
*
|
|
105
|
+
* Read from the SHIPPED declaration file rather than from a table, because the
|
|
106
|
+
* compiler already wrote the answer there: a component, directive or pipe gets
|
|
107
|
+
* a `static ɵcmp` / `ɵdir` / `ɵpipe` whose first type argument is the class. A
|
|
108
|
+
* service gets `ɵprov` instead. So this needs no second copy of anything, and
|
|
109
|
+
* cannot drift — which matters, because the alternative was a hand-kept list
|
|
110
|
+
* and `ng g ngwr:use` now REFUSES a non-declarable: recommending the command
|
|
111
|
+
* for `WrDialog` would hand an agent a line that errors.
|
|
112
|
+
*
|
|
113
|
+
* `null` when the types are not there to read, so a caller can tell "not
|
|
114
|
+
* declarable" from "cannot say".
|
|
115
|
+
*/
|
|
116
|
+
declarable(symbol, path) {
|
|
117
|
+
const source = this.types(path);
|
|
118
|
+
if (!source)
|
|
119
|
+
return null;
|
|
120
|
+
// Ask for the declarable markers FIRST and separately. A single alternation
|
|
121
|
+
// over all five answers with whichever appears earliest in the file, and
|
|
122
|
+
// `ɵfac` is always emitted above `ɵcmp` — so the combined form calls every
|
|
123
|
+
// component a non-declarable, while a fixture with no markers at all hides
|
|
124
|
+
// it. Two passes, no ordering assumption.
|
|
125
|
+
const declarable = new RegExp(`static ɵ(?:cmp|dir|pipe): [^;]*<${symbol}[,>]`);
|
|
126
|
+
if (declarable.test(source))
|
|
127
|
+
return true;
|
|
128
|
+
// Only claim "no" for a symbol this file actually declares; a `.d.ts` that
|
|
129
|
+
// merely mentions the name is not evidence, which is the difference between
|
|
130
|
+
// "not declarable" and "cannot say".
|
|
131
|
+
const declared = new RegExp(`static ɵ(?:prov|fac): [^;]*<${symbol}[,>]`);
|
|
132
|
+
return declared.test(source) ? false : null;
|
|
133
|
+
}
|
|
97
134
|
read(relative) {
|
|
98
135
|
const file = join(this.root, relative);
|
|
99
136
|
return existsSync(file) ? readFileSync(file, 'utf8') : null;
|