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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use '../../theme/styles' as theme;
|
|
2
2
|
|
|
3
3
|
.wr-segmented {
|
|
4
|
-
--wr-segmented-bg:
|
|
4
|
+
--wr-segmented-bg: var(--wr-color-fill);
|
|
5
5
|
--wr-segmented-color: var(--wr-color-on-surface);
|
|
6
6
|
--wr-segmented-selected-bg: var(--wr-color-surface);
|
|
7
7
|
--wr-segmented-selected-color: var(--wr-color-on-surface);
|
|
@@ -87,6 +87,17 @@
|
|
|
87
87
|
border: 0;
|
|
88
88
|
// Height = line-height + 2×option-py + 2×track-padding (md → 30px); all scale per size.
|
|
89
89
|
padding: var(--wr-segmented-option-py) 0.75rem;
|
|
90
|
+
// The track divides into `1fr` columns, so an option's width has nothing to
|
|
91
|
+
// do with its own text: on a crowded track the label outgrows the option and
|
|
92
|
+
// paints across the inline padding — which is FINE, the padding is a gutter
|
|
93
|
+
// for a label that fits rather than a wall for one that doesn't, and giving
|
|
94
|
+
// the text that room is the only reason six labels still read at 375px. What
|
|
95
|
+
// is not fine is what happened past that: at 320px "Bottom" ran 4.2px beyond
|
|
96
|
+
// its own option and overlapped the next segment's word by 8.4px, two labels
|
|
97
|
+
// printed on top of each other. Clip at the option instead. Note the clip
|
|
98
|
+
// box is the PADDING box, so the gutter stays available; and an `outline`
|
|
99
|
+
// is not clipped by its own element, so the focus ring is untouched.
|
|
100
|
+
overflow: hidden;
|
|
90
101
|
@include theme.smooth-br(var(--wr-segmented-thumb-radius));
|
|
91
102
|
color: var(--wr-segmented-color);
|
|
92
103
|
font: inherit;
|
|
@@ -107,7 +118,7 @@
|
|
|
107
118
|
|
|
108
119
|
&:disabled {
|
|
109
120
|
cursor: not-allowed;
|
|
110
|
-
opacity:
|
|
121
|
+
opacity: var(--wr-disabled-opacity);
|
|
111
122
|
}
|
|
112
123
|
}
|
|
113
124
|
|
|
@@ -121,6 +132,6 @@
|
|
|
121
132
|
|
|
122
133
|
&--disabled {
|
|
123
134
|
pointer-events: none;
|
|
124
|
-
opacity:
|
|
135
|
+
opacity: var(--wr-disabled-opacity);
|
|
125
136
|
}
|
|
126
137
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
|
|
42
42
|
&--disabled {
|
|
43
43
|
--wr-select-color: var(--wr-color-on-surface-muted);
|
|
44
|
-
--wr-select-bg:
|
|
44
|
+
--wr-select-bg: var(--wr-color-fill);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&__trigger {
|
|
@@ -184,6 +184,18 @@
|
|
|
184
184
|
color: var(--wr-color-text-muted);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
+
// At `maxItems` the input goes READONLY rather than disabled — it is the
|
|
188
|
+
// only tab stop in the control, and Backspace here is the way back under the
|
|
189
|
+
// cap. Nothing painted that, so the field kept the I-beam it inherits from
|
|
190
|
+
// the trigger and went on inviting text it would refuse. The cursor is the
|
|
191
|
+
// whole cue on purpose: the field still takes focus and still answers
|
|
192
|
+
// Backspace, so `not-allowed` would say something false about a control that
|
|
193
|
+
// is working. Listed before `:disabled`, which matches a readonly-OR-disabled
|
|
194
|
+
// input too and has to win the tie on source order.
|
|
195
|
+
&:read-only {
|
|
196
|
+
cursor: default;
|
|
197
|
+
}
|
|
198
|
+
|
|
187
199
|
&:disabled {
|
|
188
200
|
cursor: not-allowed;
|
|
189
201
|
}
|
|
@@ -360,7 +372,7 @@
|
|
|
360
372
|
&--disabled {
|
|
361
373
|
color: var(--wr-color-on-surface-muted);
|
|
362
374
|
cursor: not-allowed;
|
|
363
|
-
opacity:
|
|
375
|
+
opacity: var(--wr-disabled-opacity);
|
|
364
376
|
|
|
365
377
|
&:hover {
|
|
366
378
|
background: transparent;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
&--disabled {
|
|
64
64
|
color: var(--wr-color-on-surface-muted);
|
|
65
65
|
pointer-events: none;
|
|
66
|
-
opacity:
|
|
66
|
+
opacity: var(--wr-disabled-opacity);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
transition: background var(--wr-transition-base);
|
|
89
89
|
|
|
90
90
|
&:hover {
|
|
91
|
-
background:
|
|
91
|
+
background: var(--wr-color-fill-strong);
|
|
92
92
|
|
|
93
93
|
.wr-sidebar__icon {
|
|
94
94
|
color: var(--wr-color-primary);
|
|
@@ -128,15 +128,17 @@
|
|
|
128
128
|
|
|
129
129
|
&__group--collapsed &__chevron {
|
|
130
130
|
// Disclosure affordance, and it IS reading-order: the collapsed chevron
|
|
131
|
-
// should point at the trailing edge
|
|
132
|
-
// RTL the
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
// rewrite; same call as the segmented thumb and the button seam.
|
|
136
|
-
// rtl-ok: transform rotation has no logical equivalent — see above
|
|
131
|
+
// should point at the trailing edge — physically right in LTR, physically
|
|
132
|
+
// left under RTL, where the group header's own label sits to its right.
|
|
133
|
+
// `rotate` has no logical form, so the RTL sign is set by the rule below.
|
|
134
|
+
// rtl-ok: transform rotation has no logical equivalent — the RTL sign is the rule below
|
|
137
135
|
transform: rotate(-90deg);
|
|
138
136
|
}
|
|
139
137
|
|
|
138
|
+
[dir='rtl'] &__group--collapsed &__chevron {
|
|
139
|
+
transform: rotate(90deg);
|
|
140
|
+
}
|
|
141
|
+
|
|
140
142
|
// Child items (inside an expanded group)
|
|
141
143
|
&__list {
|
|
142
144
|
list-style: none;
|
|
@@ -215,7 +217,7 @@
|
|
|
215
217
|
&--disabled {
|
|
216
218
|
color: var(--wr-color-on-surface-muted);
|
|
217
219
|
pointer-events: none;
|
|
218
|
-
opacity:
|
|
220
|
+
opacity: var(--wr-disabled-opacity);
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
|
|
@@ -223,7 +225,7 @@
|
|
|
223
225
|
flex: 0 0 auto;
|
|
224
226
|
padding: 0.0625rem 0.375rem;
|
|
225
227
|
border-radius: var(--wr-border-radius-pill);
|
|
226
|
-
background:
|
|
228
|
+
background: var(--wr-color-fill-strong);
|
|
227
229
|
color: var(--wr-color-on-surface-muted);
|
|
228
230
|
font-size: var(--wr-text-xs);
|
|
229
231
|
font-weight: var(--wr-font-weight-semibold);
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ngwr
|
|
3
|
+
description: Build Angular UIs with the ngwr component library (standalone, signals-first, zoneless). Use when adding, styling or debugging ngwr components — `wr-*` selectors, `ngwr/*` imports, `provideWr*` providers, `--wr-*` CSS custom properties — or when picking a component for an Angular app that already depends on ngwr.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ngwr
|
|
7
|
+
|
|
8
|
+
An Angular 22 UI library: 202 tree-shakable entry points, 110 of them shipping a selector.
|
|
9
|
+
Standalone, signals-first, zoneless, `ViewEncapsulation.None`. One runtime
|
|
10
|
+
dependency (`tslib`).
|
|
11
|
+
|
|
12
|
+
## Get the facts, do not guess
|
|
13
|
+
|
|
14
|
+
Four sources ship in the package or on the docs site, in the order worth
|
|
15
|
+
reaching for:
|
|
16
|
+
|
|
17
|
+
1. `references/catalog.md` in this skill — every entry point, its import line
|
|
18
|
+
and its selector(s).
|
|
19
|
+
2. `node_modules/ngwr/llms-full.txt` — the same catalog plus every public
|
|
20
|
+
export per entry point.
|
|
21
|
+
3. Any docs page as markdown: append `.md` to the URL, e.g.
|
|
22
|
+
`https://ngwr.dev/reference/components/select.md`.
|
|
23
|
+
4. `npx ngwr-mcp` — the bundled MCP server, when the agent speaks MCP:
|
|
24
|
+
`search_ngwr`, `get_ngwr_component`, `get_ngwr_api`, `get_ngwr_setup`.
|
|
25
|
+
|
|
26
|
+
Exact input / output signatures are in the shipped `.d.ts` files. Do not invent
|
|
27
|
+
an input name; read one.
|
|
28
|
+
|
|
29
|
+
## The rules that are not guessable
|
|
30
|
+
|
|
31
|
+
These are the ones that compile and then behave wrong, or that a reasonable
|
|
32
|
+
guess gets backwards.
|
|
33
|
+
|
|
34
|
+
- **Import from the entry point, never a barrel.**
|
|
35
|
+
`import { WrSelect } from 'ngwr/select'` — there is no `ngwr` root export for
|
|
36
|
+
components, and the subpath is what makes the library tree-shakable.
|
|
37
|
+
- **The selector is not always the entry point name.** The button is
|
|
38
|
+
`wr-btn`, not `wr-button`. Check `references/catalog.md` before writing a tag.
|
|
39
|
+
- **Check for a MODE before reaching for another component.** The catalog is
|
|
40
|
+
deliberately consolidated: `wr-select` covers single / multi / search / tag,
|
|
41
|
+
`wr-date-picker` covers date / time / datetime, `wr-popover` has a tooltip
|
|
42
|
+
mode, `wr-drawer` doubles as a bottom sheet, `wr-table` owns pinning,
|
|
43
|
+
resizing, grouping, tree rows, CSV export and virtual scroll.
|
|
44
|
+
- **There is no `ControlValueAccessor`.** Value components implement Signal
|
|
45
|
+
Forms' `FormValueControl` / `FormCheckboxControl`. Bind
|
|
46
|
+
`[formField]="form.x"`, or use the two-way model standalone —
|
|
47
|
+
`[(value)]`, `[(checked)]`. `[(ngModel)]` and reactive forms still work:
|
|
48
|
+
Angular 22 synthesises the accessor.
|
|
49
|
+
- **`<wr-checkbox>` group identity is `checkboxValue`, not `value`.**
|
|
50
|
+
`value` is reserved for the form value, so a leftover `value="x"` lands on the
|
|
51
|
+
host as a plain DOM attribute, every box in the group keeps the default
|
|
52
|
+
identity `null`, and they all toggle together. No template error.
|
|
53
|
+
- **Styles are opt-in and global.** `@use 'ngwr'` for everything, or
|
|
54
|
+
`@use 'ngwr/<name>'` per component. Components are `ViewEncapsulation.None`;
|
|
55
|
+
their `.wr-*` BEM classes and `--wr-*` custom properties are PUBLIC API, so
|
|
56
|
+
style against them rather than reaching into the DOM structure.
|
|
57
|
+
- **Theme through tokens, not overrides.** `--wr-color-{intent}` and its
|
|
58
|
+
`-contrast` / `-ink` / `-soft` companions. `-contrast` is the label ON a
|
|
59
|
+
filled intent; `-ink` is the intent used AS text. Using the bare intent as
|
|
60
|
+
text fails WCAG AA on the soft tint in both themes.
|
|
61
|
+
- **Never hard-code user-facing text in a wrapper component.** Strings route
|
|
62
|
+
through `ngwr/i18n`; every component takes overridable `*Label` inputs.
|
|
63
|
+
- **Prefer the library over hand-rolling.** `ngwr/utils` (coercion, dom,
|
|
64
|
+
keyboard, id, css-size, math), `ngwr/pipes` (`wrDate`, `wrBytes`,
|
|
65
|
+
`wrTruncate`, `wrNumber`, `wrMark`, `wrPlural`, `wrRange`) and
|
|
66
|
+
`ngwr/validators` already exist.
|
|
67
|
+
|
|
68
|
+
## Setting a component up
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
ng add ngwr # prompts, installs peers, prints bootstrap
|
|
72
|
+
ng g ngwr:use WrSelect --path src/app/some.ts # adds the import AND the @Component entry
|
|
73
|
+
ng g ngwr:provider overlay # splices a provider into bootstrap
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`--path` is a NAMED option on `ngwr:use`; only the symbol is positional, and
|
|
77
|
+
passing the path bare fails with `Unknown argument`. It takes declarables only:
|
|
78
|
+
a service such as `WrDialog` is refused, since the import line would compile and
|
|
79
|
+
the `imports` entry would not — `inject()` it instead.
|
|
80
|
+
|
|
81
|
+
### Providers a component cannot work without
|
|
82
|
+
|
|
83
|
+
Each of these compiles fine and then does nothing, with no error naming the
|
|
84
|
+
cause.
|
|
85
|
+
|
|
86
|
+
- `provideWrOverlay() // from 'ngwr/overlay'`
|
|
87
|
+
— overlays render into an ngwr-owned container; without it they never appear
|
|
88
|
+
— needed by: `WrDialog`, `WrDrawer`, `WrToast`, `WrPopover`, `WrPopconfirm`, `WrContextMenu`, `WrSelect`, `WrDropdown`, `WrCommandPalette`, `WrCascader`, `WrMention`, `WrDatePicker`, `WrTour`, `WrLightbox`
|
|
89
|
+
- `provideWrIcons(lucideIcons({ … })) // from 'ngwr/icon' + 'ngwr/icon/adapters/lucide'`
|
|
90
|
+
— icons resolve by name from a registry you populate
|
|
91
|
+
— needed by: `WrIcon`
|
|
92
|
+
- `provideWrDateFnsAdapter() // from 'ngwr/date/adapters/fns'`
|
|
93
|
+
— every date mode goes through an adapter; there is no built-in default
|
|
94
|
+
— needed by: `WrDatePicker`, `WrCalendar`, `WrEventCalendar`
|
|
95
|
+
- `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n' + 'ngwr/i18n/en'`
|
|
96
|
+
— the pipe and directive read from a catalog you provide
|
|
97
|
+
— needed by: `WrTPipe`, `WrTDirective`, `WrI18n`
|
|
98
|
+
|
|
99
|
+
## Testing
|
|
100
|
+
|
|
101
|
+
Every control, overlay, chart and most animations ship a CDK harness at
|
|
102
|
+
`ngwr/<name>/testing`. Use it instead of querying the DOM:
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
const select = await loader.getHarness(WrSelectHarness);
|
|
106
|
+
await select.open();
|
|
107
|
+
await select.selectOption({ text: 'Angular' });
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Overlay panels render into the overlay container, NOT the fixture — provide
|
|
111
|
+
`provideWrOverlay()` in the test and load those harnesses from
|
|
112
|
+
`TestbedHarnessEnvironment.documentRootLoader(fixture)`.
|
|
113
|
+
|
|
114
|
+
## Reference files
|
|
115
|
+
|
|
116
|
+
- `references/catalog.md` — every entry point with import line and selectors.
|
|
117
|
+
- `references/setup.md` — bootstrap, styles, theme, i18n, date adapters.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# ngwr entry points
|
|
2
|
+
|
|
3
|
+
Generated from the library source. Import from the subpath — there is no
|
|
4
|
+
root barrel for components.
|
|
5
|
+
|
|
6
|
+
| Entry point | Import | Selector(s) |
|
|
7
|
+
| --- | --- | --- |
|
|
8
|
+
| `ngwr/action-sheet` | `import { WrActionSheet } from 'ngwr/action-sheet'` | `wr-action-sheet` |
|
|
9
|
+
| `ngwr/action-sheet/testing` | `import { WrActionSheetActionHarness } from 'ngwr/action-sheet/testing'` | — |
|
|
10
|
+
| `ngwr/affix` | `import { WrAffix } from 'ngwr/affix'` | `[wrAffix]` |
|
|
11
|
+
| `ngwr/alert` | `import { WrAlert } from 'ngwr/alert'` | `wr-alert` |
|
|
12
|
+
| `ngwr/anchor` | `import { WrAnchor } from 'ngwr/anchor'` | `wr-anchor` |
|
|
13
|
+
| `ngwr/aurora` | `import { WrAurora } from 'ngwr/aurora'` | `wr-aurora` |
|
|
14
|
+
| `ngwr/avatar` | `import { WrAvatar } from 'ngwr/avatar'` | `wr-avatar` |
|
|
15
|
+
| `ngwr/back-top` | `import { WrBackTop } from 'ngwr/back-top'` | `wr-back-top` |
|
|
16
|
+
| `ngwr/badge` | `import { WrBadge } from 'ngwr/badge'` | `wr-badge` `wr-tag` |
|
|
17
|
+
| `ngwr/bar-chart` | `import { WrBarChart } from 'ngwr/bar-chart'` | `wr-bar-chart` |
|
|
18
|
+
| `ngwr/bar-chart/testing` | `import { WrBarChartHarness } from 'ngwr/bar-chart/testing'` | — |
|
|
19
|
+
| `ngwr/blur-text` | `import { WrBlurText } from 'ngwr/blur-text'` | `wr-blur-text` |
|
|
20
|
+
| `ngwr/blur-text/testing` | `import { WrBlurTextHarness } from 'ngwr/blur-text/testing'` | — |
|
|
21
|
+
| `ngwr/border-glow` | `import { WrBorderGlow } from 'ngwr/border-glow'` | `wr-border-glow` |
|
|
22
|
+
| `ngwr/border-glow/testing` | `import { WrBorderGlowHarness } from 'ngwr/border-glow/testing'` | — |
|
|
23
|
+
| `ngwr/breadcrumbs` | `import { WrBreadcrumbs } from 'ngwr/breadcrumbs'` | `wr-breadcrumbs-item` `wr-breadcrumbs` |
|
|
24
|
+
| `ngwr/burger` | `import { WrBurger } from 'ngwr/burger'` | `wr-burger` |
|
|
25
|
+
| `ngwr/button` | `import { WrButton } from 'ngwr/button'` | `wr-btn-group` `wr-btn` `button[wr-btn]` `a[wr-btn]` |
|
|
26
|
+
| `ngwr/button/testing` | `import { WrButtonHarness } from 'ngwr/button/testing'` | — |
|
|
27
|
+
| `ngwr/calendar` | `import { WrCalendar } from 'ngwr/calendar'` | `wr-calendar` |
|
|
28
|
+
| `ngwr/calendar-heatmap` | `import { WrCalendarHeatmap } from 'ngwr/calendar-heatmap'` | `wr-calendar-heatmap` |
|
|
29
|
+
| `ngwr/calendar-heatmap/testing` | `import { WrCalendarHeatmapHarness } from 'ngwr/calendar-heatmap/testing'` | — |
|
|
30
|
+
| `ngwr/calendar/testing` | `import { WrCalendarDayHarness } from 'ngwr/calendar/testing'` | — |
|
|
31
|
+
| `ngwr/card` | `import { WrCard } from 'ngwr/card'` | `wr-card` `wr-card-header` `wr-card-footer` |
|
|
32
|
+
| `ngwr/carousel` | `import { WrCarousel } from 'ngwr/carousel'` | `wr-carousel-slide` `wr-carousel` |
|
|
33
|
+
| `ngwr/carousel/testing` | `import { WrCarouselHarness } from 'ngwr/carousel/testing'` | — |
|
|
34
|
+
| `ngwr/cascader` | `import { WrCascader } from 'ngwr/cascader'` | `wr-cascader` |
|
|
35
|
+
| `ngwr/cascader/testing` | `import { WrCascaderColumnHarness } from 'ngwr/cascader/testing'` | — |
|
|
36
|
+
| `ngwr/checkbox` | `import { WrCheckbox } from 'ngwr/checkbox'` | `wr-checkbox-group` `wr-checkbox` |
|
|
37
|
+
| `ngwr/checkbox/testing` | `import { WrCheckboxHarness } from 'ngwr/checkbox/testing'` | — |
|
|
38
|
+
| `ngwr/circular-text` | `import { WrCircularText } from 'ngwr/circular-text'` | `wr-circular-text` |
|
|
39
|
+
| `ngwr/circular-text/testing` | `import { WrCircularTextHarness } from 'ngwr/circular-text/testing'` | — |
|
|
40
|
+
| `ngwr/click-spark` | `import { WrClickSpark } from 'ngwr/click-spark'` | `wr-click-spark` |
|
|
41
|
+
| `ngwr/clipboard` | `import { WrClipboard } from 'ngwr/clipboard'` | — |
|
|
42
|
+
| `ngwr/collapse` | `import { WrCollapse } from 'ngwr/collapse'` | `wr-accordion` `wr-collapse-group` `wr-collapse` |
|
|
43
|
+
| `ngwr/collapse/testing` | `import { WrCollapseGroupHarness } from 'ngwr/collapse/testing'` | — |
|
|
44
|
+
| `ngwr/color-picker` | `import { WrColorPicker } from 'ngwr/color-picker'` | `[wrColorPickerTrigger]` `wr-color-picker` |
|
|
45
|
+
| `ngwr/color-picker/testing` | `import { WrColorPickerHarness } from 'ngwr/color-picker/testing'` | — |
|
|
46
|
+
| `ngwr/command-palette` | `import { WrCommandPalette } from 'ngwr/command-palette'` | `wr-command-palette` |
|
|
47
|
+
| `ngwr/command-palette/testing` | `import { WrCommandPaletteGroupHarness } from 'ngwr/command-palette/testing'` | — |
|
|
48
|
+
| `ngwr/compare` | `import { WrCompare } from 'ngwr/compare'` | `wr-compare` |
|
|
49
|
+
| `ngwr/confetti` | `import { WrConfetti } from 'ngwr/confetti'` | — |
|
|
50
|
+
| `ngwr/config` | `import { provideWrConfig } from 'ngwr/config'` | — |
|
|
51
|
+
| `ngwr/context-menu` | `import { WrContextMenu } from 'ngwr/context-menu'` | `wr-context-menu-divider` `wr-context-menu-item` `wr-context-menu` `[wrContextMenu]` |
|
|
52
|
+
| `ngwr/context-menu/testing` | `import { WrContextMenuHarness } from 'ngwr/context-menu/testing'` | — |
|
|
53
|
+
| `ngwr/cookie` | `import { WrCookie } from 'ngwr/cookie'` | — |
|
|
54
|
+
| `ngwr/counter` | `import { WrCounter } from 'ngwr/counter'` | `wr-count-up` `wr-counter` |
|
|
55
|
+
| `ngwr/date` | `import { WrDateAdapter } from 'ngwr/date'` | — |
|
|
56
|
+
| `ngwr/date-picker` | `import { WrDatePicker } from 'ngwr/date-picker'` | `wr-date-picker` `wr-date-range-picker` |
|
|
57
|
+
| `ngwr/date-picker/testing` | `import { WrDatePickerDayHarness } from 'ngwr/date-picker/testing'` | — |
|
|
58
|
+
| `ngwr/date/adapters/fns` | `import { WrDateFnsAdapter } from 'ngwr/date/adapters/fns'` | — |
|
|
59
|
+
| `ngwr/date/adapters/luxon` | `import { WrLuxonAdapter } from 'ngwr/date/adapters/luxon'` | — |
|
|
60
|
+
| `ngwr/decrypt-text` | `import { WrDecryptText } from 'ngwr/decrypt-text'` | `wr-decrypt-text` |
|
|
61
|
+
| `ngwr/decrypt-text/testing` | `import { WrDecryptTextHarness } from 'ngwr/decrypt-text/testing'` | — |
|
|
62
|
+
| `ngwr/density` | `import { WrDensity } from 'ngwr/density'` | `[wrDensity]` |
|
|
63
|
+
| `ngwr/descriptions` | `import { WrDescriptions } from 'ngwr/descriptions'` | `wr-description-item` `wr-descriptions` |
|
|
64
|
+
| `ngwr/dialog` | `import { WrDialog } from 'ngwr/dialog'` | `[wrDialogClose]` `[wrDialogContent]` `[wrDialogFooter]` `[wrDialogTitle]` |
|
|
65
|
+
| `ngwr/dialog/testing` | `import { WrDialogHarness } from 'ngwr/dialog/testing'` | — |
|
|
66
|
+
| `ngwr/directives` | `import { WrAutofocus } from 'ngwr/directives'` | `[wrAutofocus]` `textarea[wrAutosize]` `[wrClickOutside]` `[wrCopyToClipboard]` |
|
|
67
|
+
| `ngwr/divider` | `import { WrDivider } from 'ngwr/divider'` | `wr-divider` |
|
|
68
|
+
| `ngwr/donut-chart` | `import { WrDonutChart } from 'ngwr/donut-chart'` | `wr-donut-chart` |
|
|
69
|
+
| `ngwr/donut-chart/testing` | `import { WrDonutChartHarness } from 'ngwr/donut-chart/testing'` | — |
|
|
70
|
+
| `ngwr/drag-drop` | `import { WrSortableList } from 'ngwr/drag-drop'` | `[wrDragHandle]` `wr-sortable-list` |
|
|
71
|
+
| `ngwr/drawer` | `import { WrDrawer } from 'ngwr/drawer'` | `[wrDrawerClose]` `[wrDrawerContent]` `[wrDrawerFooter]` `[wrDrawerTitle]` `wr-drawer` |
|
|
72
|
+
| `ngwr/drawer/testing` | `import { WrDrawerHarness } from 'ngwr/drawer/testing'` | — |
|
|
73
|
+
| `ngwr/dropdown` | `import { WrDropdown } from 'ngwr/dropdown'` | `wr-dropdown-item` `wr-dropdown-menu` `[wrDropdown]` |
|
|
74
|
+
| `ngwr/dropdown/testing` | `import { WrDropdownHarness } from 'ngwr/dropdown/testing'` | — |
|
|
75
|
+
| `ngwr/empty` | `import { WrEmpty } from 'ngwr/empty'` | `wr-empty` |
|
|
76
|
+
| `ngwr/event-calendar` | `import { WrEventCalendar } from 'ngwr/event-calendar'` | `ng-template[wrCalendarEvent]` `wr-event-calendar` |
|
|
77
|
+
| `ngwr/event-calendar/testing` | `import { WrEventCalendarChipHarness } from 'ngwr/event-calendar/testing'` | — |
|
|
78
|
+
| `ngwr/falling-text` | `import { WrFallingText } from 'ngwr/falling-text'` | `wr-falling-text` |
|
|
79
|
+
| `ngwr/falling-text/testing` | `import { WrFallingTextHarness } from 'ngwr/falling-text/testing'` | — |
|
|
80
|
+
| `ngwr/file-upload` | `import { WrFileUpload } from 'ngwr/file-upload'` | `wr-file-upload` |
|
|
81
|
+
| `ngwr/file-upload/testing` | `import { WrFileUploadHarness } from 'ngwr/file-upload/testing'` | — |
|
|
82
|
+
| `ngwr/form` | `import { WrFormItem } from 'ngwr/form'` | `wr-form-error` `wr-form-field` `wr-form-item` |
|
|
83
|
+
| `ngwr/form/testing` | `import { WrFormFieldHarness } from 'ngwr/form/testing'` | — |
|
|
84
|
+
| `ngwr/fuzzy-text` | `import { WrFuzzyText } from 'ngwr/fuzzy-text'` | `wr-fuzzy-text` |
|
|
85
|
+
| `ngwr/fuzzy-text/testing` | `import { WrFuzzyTextHarness } from 'ngwr/fuzzy-text/testing'` | — |
|
|
86
|
+
| `ngwr/gauge` | `import { WrGauge } from 'ngwr/gauge'` | `wr-gauge` |
|
|
87
|
+
| `ngwr/gauge/testing` | `import { WrGaugeHarness } from 'ngwr/gauge/testing'` | — |
|
|
88
|
+
| `ngwr/glitch-text` | `import { WrGlitchText } from 'ngwr/glitch-text'` | `wr-glitch-text` |
|
|
89
|
+
| `ngwr/glitch-text/testing` | `import { WrGlitchTextHarness } from 'ngwr/glitch-text/testing'` | — |
|
|
90
|
+
| `ngwr/gradient-text` | `import { WrGradientText } from 'ngwr/gradient-text'` | `wr-gradient-text` |
|
|
91
|
+
| `ngwr/gradient-text/testing` | `import { WrGradientTextHarness } from 'ngwr/gradient-text/testing'` | — |
|
|
92
|
+
| `ngwr/hotkey` | `import { WrHotkey } from 'ngwr/hotkey'` | `[wrHotkey]` |
|
|
93
|
+
| `ngwr/i18n` | `import { WrI18n } from 'ngwr/i18n'` | `[wrT]` |
|
|
94
|
+
| `ngwr/i18n/en` | `import { wrEn } from 'ngwr/i18n/en'` | — |
|
|
95
|
+
| `ngwr/i18n/ru` | `import { wrRu } from 'ngwr/i18n/ru'` | — |
|
|
96
|
+
| `ngwr/icon` | `import { WrIcon } from 'ngwr/icon'` | `wr-icon` |
|
|
97
|
+
| `ngwr/icon/adapters/feather` | `import { feather } from 'ngwr/icon/adapters/feather'` | — |
|
|
98
|
+
| `ngwr/icon/adapters/lucide` | `import { lucide } from 'ngwr/icon/adapters/lucide'` | — |
|
|
99
|
+
| `ngwr/image-cropper` | `import { WrImageCropper } from 'ngwr/image-cropper'` | `wr-image-cropper` |
|
|
100
|
+
| `ngwr/image-cropper/testing` | `import { WrImageCropperHarness } from 'ngwr/image-cropper/testing'` | — |
|
|
101
|
+
| `ngwr/input` | `import { WrInput } from 'ngwr/input'` | `[wrInputPrefix]` `[wrInputSuffix]` `input[wrInput]` `textarea[wrInput]` `wr-input-group` `wr-password-toggle` |
|
|
102
|
+
| `ngwr/input-number` | `import { WrInputNumber } from 'ngwr/input-number'` | `wr-input-number` |
|
|
103
|
+
| `ngwr/input-number/testing` | `import { WrInputNumberHarness } from 'ngwr/input-number/testing'` | — |
|
|
104
|
+
| `ngwr/input-otp` | `import { WrInputOtp } from 'ngwr/input-otp'` | `wr-input-otp` |
|
|
105
|
+
| `ngwr/input-otp/testing` | `import { WrInputOtpBoxHarness } from 'ngwr/input-otp/testing'` | — |
|
|
106
|
+
| `ngwr/input/testing` | `import { WrInputHarness } from 'ngwr/input/testing'` | — |
|
|
107
|
+
| `ngwr/keyboard` | `import { WrKbd } from 'ngwr/keyboard'` | `wr-kbd` |
|
|
108
|
+
| `ngwr/knob` | `import { WrKnob } from 'ngwr/knob'` | `wr-knob` |
|
|
109
|
+
| `ngwr/knob/testing` | `import { WrKnobHarness } from 'ngwr/knob/testing'` | — |
|
|
110
|
+
| `ngwr/layout` | `import { WrLayout } from 'ngwr/layout'` | `wr-layout-content` `wr-layout-footer` `wr-layout-header` `wr-layout-sider` `wr-layout` |
|
|
111
|
+
| `ngwr/lightbox` | `import { WrLightbox } from 'ngwr/lightbox'` | `wr-lightbox` |
|
|
112
|
+
| `ngwr/lightbox/testing` | `import { WrLightboxHarness } from 'ngwr/lightbox/testing'` | — |
|
|
113
|
+
| `ngwr/line-chart` | `import { WrLineChart } from 'ngwr/line-chart'` | `wr-line-chart` |
|
|
114
|
+
| `ngwr/line-chart/testing` | `import { WrLineChartHarness } from 'ngwr/line-chart/testing'` | — |
|
|
115
|
+
| `ngwr/list` | `import { WrList } from 'ngwr/list'` | `wr-list-item` `wr-list` |
|
|
116
|
+
| `ngwr/loading-bar` | `import { WrLoadingBar } from 'ngwr/loading-bar'` | `wr-loading-bar` |
|
|
117
|
+
| `ngwr/markdown` | `import { WrMarkdown } from 'ngwr/markdown'` | `wr-markdown` |
|
|
118
|
+
| `ngwr/markdown/testing` | `import { WrMarkdownCodeBlockHarness } from 'ngwr/markdown/testing'` | — |
|
|
119
|
+
| `ngwr/marquee` | `import { WrMarquee } from 'ngwr/marquee'` | `wr-marquee` |
|
|
120
|
+
| `ngwr/marquee/testing` | `import { WrMarqueeHarness } from 'ngwr/marquee/testing'` | — |
|
|
121
|
+
| `ngwr/media` | `import { WrMedia } from 'ngwr/media'` | — |
|
|
122
|
+
| `ngwr/mention` | `import { WrMention } from 'ngwr/mention'` | `wr-mention-panel` `[wrMention]` |
|
|
123
|
+
| `ngwr/mention/testing` | `import { WrMentionHarness } from 'ngwr/mention/testing'` | — |
|
|
124
|
+
| `ngwr/meta` | `import { WrMeta } from 'ngwr/meta'` | `[wrMeta]` |
|
|
125
|
+
| `ngwr/meter-group` | `import { WrMeterGroup } from 'ngwr/meter-group'` | `wr-meter-group` |
|
|
126
|
+
| `ngwr/meter-group/testing` | `import { WrMeterGroupHarness } from 'ngwr/meter-group/testing'` | — |
|
|
127
|
+
| `ngwr/overlay` | `import { WrOutsideClick } from 'ngwr/overlay'` | — |
|
|
128
|
+
| `ngwr/page-header` | `import { WrPageHeader } from 'ngwr/page-header'` | `wr-page-header` |
|
|
129
|
+
| `ngwr/pagination` | `import { WrPagination } from 'ngwr/pagination'` | `wr-pagination` |
|
|
130
|
+
| `ngwr/pagination/testing` | `import { WrPaginationHarness } from 'ngwr/pagination/testing'` | — |
|
|
131
|
+
| `ngwr/pipes` | `import { WrBytes } from 'ngwr/pipes'` | — |
|
|
132
|
+
| `ngwr/platform` | `import { WrPlatform } from 'ngwr/platform'` | — |
|
|
133
|
+
| `ngwr/popconfirm` | `import { WrPopconfirm } from 'ngwr/popconfirm'` | `wr-popconfirm` `[wrPopconfirm]` |
|
|
134
|
+
| `ngwr/popconfirm/testing` | `import { WrPopconfirmHarness } from 'ngwr/popconfirm/testing'` | — |
|
|
135
|
+
| `ngwr/popover` | `import { WrPopover } from 'ngwr/popover'` | `[wrPopover]` |
|
|
136
|
+
| `ngwr/popover/testing` | `import { WrPopoverHarness } from 'ngwr/popover/testing'` | — |
|
|
137
|
+
| `ngwr/progress` | `import { WrProgress } from 'ngwr/progress'` | `wr-progress` |
|
|
138
|
+
| `ngwr/pull-to-refresh` | `import { WrPullToRefresh } from 'ngwr/pull-to-refresh'` | `wr-pull-to-refresh` |
|
|
139
|
+
| `ngwr/qr` | `import { WrQr } from 'ngwr/qr'` | `wr-qr` |
|
|
140
|
+
| `ngwr/radio` | `import { WrRadio } from 'ngwr/radio'` | `wr-radio-group` `wr-radio` |
|
|
141
|
+
| `ngwr/radio/testing` | `import { WrRadioGroupHarness } from 'ngwr/radio/testing'` | — |
|
|
142
|
+
| `ngwr/rating` | `import { WrRating } from 'ngwr/rating'` | `wr-rating` |
|
|
143
|
+
| `ngwr/rating/testing` | `import { WrRatingHarness } from 'ngwr/rating/testing'` | — |
|
|
144
|
+
| `ngwr/result` | `import { WrResult } from 'ngwr/result'` | `wr-result-404` `wr-result-403` `wr-result-500` `wr-result` |
|
|
145
|
+
| `ngwr/rotating-text` | `import { WrRotatingText } from 'ngwr/rotating-text'` | `wr-rotating-text` |
|
|
146
|
+
| `ngwr/rotating-text/testing` | `import { WrRotatingTextHarness } from 'ngwr/rotating-text/testing'` | — |
|
|
147
|
+
| `ngwr/scroll` | `import { WrScroll } from 'ngwr/scroll'` | — |
|
|
148
|
+
| `ngwr/segmented` | `import { WrSegmented } from 'ngwr/segmented'` | `wr-segmented` |
|
|
149
|
+
| `ngwr/segmented/testing` | `import { WrSegmentedHarness } from 'ngwr/segmented/testing'` | — |
|
|
150
|
+
| `ngwr/select` | `import { WrSelect } from 'ngwr/select'` | `wr-option-group` `wr-option` `wr-select` |
|
|
151
|
+
| `ngwr/select/testing` | `import { WrOptionHarness } from 'ngwr/select/testing'` | — |
|
|
152
|
+
| `ngwr/shiny-text` | `import { WrShinyText } from 'ngwr/shiny-text'` | `[wrShimmer]` `wr-shiny-text` |
|
|
153
|
+
| `ngwr/shiny-text/testing` | `import { WrShinyTextHarness } from 'ngwr/shiny-text/testing'` | — |
|
|
154
|
+
| `ngwr/sidebar` | `import { WrSidebar } from 'ngwr/sidebar'` | `wr-sidebar` |
|
|
155
|
+
| `ngwr/skeleton` | `import { WrSkeleton } from 'ngwr/skeleton'` | `wr-skeleton` |
|
|
156
|
+
| `ngwr/slider` | `import { WrSlider } from 'ngwr/slider'` | `wr-slider` |
|
|
157
|
+
| `ngwr/slider/testing` | `import { WrSliderHarness } from 'ngwr/slider/testing'` | — |
|
|
158
|
+
| `ngwr/sparkline` | `import { WrSparkline } from 'ngwr/sparkline'` | `wr-sparkline` |
|
|
159
|
+
| `ngwr/sparkline/testing` | `import { WrSparklineHarness } from 'ngwr/sparkline/testing'` | — |
|
|
160
|
+
| `ngwr/speed-dial` | `import { WrSpeedDial } from 'ngwr/speed-dial'` | `wr-speed-dial` |
|
|
161
|
+
| `ngwr/speed-dial/testing` | `import { WrSpeedDialActionHarness } from 'ngwr/speed-dial/testing'` | — |
|
|
162
|
+
| `ngwr/spinner` | `import { WrSpinner } from 'ngwr/spinner'` | `wr-spinner` |
|
|
163
|
+
| `ngwr/splash-cursor` | `import { WrSplashCursor } from 'ngwr/splash-cursor'` | `wr-splash-cursor` |
|
|
164
|
+
| `ngwr/splash-cursor/testing` | `import { WrSplashCursorHarness } from 'ngwr/splash-cursor/testing'` | — |
|
|
165
|
+
| `ngwr/split-text` | `import { WrSplitText } from 'ngwr/split-text'` | `wr-split-text` |
|
|
166
|
+
| `ngwr/split-text/testing` | `import { WrSplitTextHarness } from 'ngwr/split-text/testing'` | — |
|
|
167
|
+
| `ngwr/splitter` | `import { WrSplitter } from 'ngwr/splitter'` | `wr-splitter` |
|
|
168
|
+
| `ngwr/splitter/testing` | `import { WrSplitterHarness } from 'ngwr/splitter/testing'` | — |
|
|
169
|
+
| `ngwr/spotlight-card` | `import { WrSpotlightCard } from 'ngwr/spotlight-card'` | `wr-spotlight-card` `[wrSpotlight]` |
|
|
170
|
+
| `ngwr/spotlight-card/testing` | `import { WrSpotlightCardHarness } from 'ngwr/spotlight-card/testing'` | — |
|
|
171
|
+
| `ngwr/squircle` | `import { WrSquircle } from 'ngwr/squircle'` | `wr-squircle` `[wrSquircle]` |
|
|
172
|
+
| `ngwr/star-border` | `import { WrStarBorder } from 'ngwr/star-border'` | `wr-star-border` `[wr-star-border]` |
|
|
173
|
+
| `ngwr/star-border/testing` | `import { WrStarBorderHarness } from 'ngwr/star-border/testing'` | — |
|
|
174
|
+
| `ngwr/statistic` | `import { WrStatistic } from 'ngwr/statistic'` | `wr-statistic-countdown` `wr-statistic-group` `wr-statistic` |
|
|
175
|
+
| `ngwr/stepper` | `import { WrStepper } from 'ngwr/stepper'` | `wr-step` `wr-stepper` |
|
|
176
|
+
| `ngwr/stepper/testing` | `import { WrStepHarness } from 'ngwr/stepper/testing'` | — |
|
|
177
|
+
| `ngwr/storage` | `import { WrStorage } from 'ngwr/storage'` | — |
|
|
178
|
+
| `ngwr/switch` | `import { WrSwitch } from 'ngwr/switch'` | `wr-switch` |
|
|
179
|
+
| `ngwr/switch/testing` | `import { WrSwitchHarness } from 'ngwr/switch/testing'` | — |
|
|
180
|
+
| `ngwr/table` | `import { WrTable } from 'ngwr/table'` | `[wrTableCell]` `ng-template[wrTableExpand]` `wr-table-filter` `ng-template[wrTableGroupHeader]` `wr-table-sort` `wr-table` |
|
|
181
|
+
| `ngwr/table/testing` | `import { WrTableCellHarness } from 'ngwr/table/testing'` | — |
|
|
182
|
+
| `ngwr/tabs` | `import { WrTabs } from 'ngwr/tabs'` | `wr-tab` `wr-tabs` |
|
|
183
|
+
| `ngwr/tabs/testing` | `import { WrTabHarness } from 'ngwr/tabs/testing'` | — |
|
|
184
|
+
| `ngwr/textarea` | `import { WrTextarea } from 'ngwr/textarea'` | `wr-textarea` |
|
|
185
|
+
| `ngwr/textarea/testing` | `import { WrTextareaHarness } from 'ngwr/textarea/testing'` | — |
|
|
186
|
+
| `ngwr/theme` | `import { WrTheme } from 'ngwr/theme'` | — |
|
|
187
|
+
| `ngwr/tilt-card` | `import { WrTiltCard } from 'ngwr/tilt-card'` | `wr-tilt-card` `[wrTilt]` |
|
|
188
|
+
| `ngwr/tilt-card/testing` | `import { WrTiltHarness } from 'ngwr/tilt-card/testing'` | — |
|
|
189
|
+
| `ngwr/timeline` | `import { WrTimeline } from 'ngwr/timeline'` | `wr-timeline-item` `wr-timeline` |
|
|
190
|
+
| `ngwr/toast` | `import { WrToast } from 'ngwr/toast'` | — |
|
|
191
|
+
| `ngwr/toast/testing` | `import { WrToastHarness } from 'ngwr/toast/testing'` | — |
|
|
192
|
+
| `ngwr/toolbar` | `import { WrToolbar } from 'ngwr/toolbar'` | `wr-toolbar` |
|
|
193
|
+
| `ngwr/tour` | `import { WrTour } from 'ngwr/tour'` | `wr-tour-popup` |
|
|
194
|
+
| `ngwr/tour/testing` | `import { WrTourHarness } from 'ngwr/tour/testing'` | — |
|
|
195
|
+
| `ngwr/transfer` | `import { WrTransfer } from 'ngwr/transfer'` | `wr-transfer` |
|
|
196
|
+
| `ngwr/transfer/testing` | `import { WrTransferHarness } from 'ngwr/transfer/testing'` | — |
|
|
197
|
+
| `ngwr/tree` | `import { WrTree } from 'ngwr/tree'` | `wr-tree` |
|
|
198
|
+
| `ngwr/tree/testing` | `import { WrTreeHarness } from 'ngwr/tree/testing'` | — |
|
|
199
|
+
| `ngwr/typewriter` | `import { WrTypewriter } from 'ngwr/typewriter'` | `wr-typewriter` |
|
|
200
|
+
| `ngwr/typewriter/testing` | `import { WrTypewriterHarness } from 'ngwr/typewriter/testing'` | — |
|
|
201
|
+
| `ngwr/typography` | `import { WrTypography } from 'ngwr/typography'` | `[wrTypography]` |
|
|
202
|
+
| `ngwr/utils` | `import { isDefined } from 'ngwr/utils'` | — |
|
|
203
|
+
| `ngwr/validators` | `import { WrValidators } from 'ngwr/validators'` | — |
|
|
204
|
+
| `ngwr/version` | `import { NGWR_VERSION } from 'ngwr/version'` | — |
|
|
205
|
+
| `ngwr/virtual-scroll` | `import { WrVirtualScroll } from 'ngwr/virtual-scroll'` | `wr-virtual-scroll` |
|
|
206
|
+
| `ngwr/waves` | `import { WrWaves } from 'ngwr/waves'` | `wr-waves` |
|
|
207
|
+
| `ngwr/waves/testing` | `import { WrWavesHarness } from 'ngwr/waves/testing'` | — |
|
|
208
|
+
| `ngwr/window` | `import { WrWindowManager } from 'ngwr/window'` | `wr-window-taskbar` |
|
|
209
|
+
| `ngwr/window/testing` | `import { WrWindowHarness } from 'ngwr/window/testing'` | — |
|
|
210
|
+
|
|
211
|
+
Descriptions and every public export per entry point:
|
|
212
|
+
`llms-full.txt`, shipped in the same package.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Setting up ngwr
|
|
2
|
+
|
|
3
|
+
## Install
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
ng add ngwr
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Prompts for styles, date adapter, density and theme, installs the peers, and
|
|
10
|
+
prints a bootstrap snippet tailored to the answers.
|
|
11
|
+
|
|
12
|
+
## Bootstrap
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import { provideWrTheme } from 'ngwr/theme';
|
|
16
|
+
import { provideWrOverlay } from 'ngwr/overlay';
|
|
17
|
+
import { provideWrIcons } from 'ngwr/icon';
|
|
18
|
+
import { lucideIcons } from 'ngwr/icon/adapters/lucide';
|
|
19
|
+
|
|
20
|
+
bootstrapApplication(App, {
|
|
21
|
+
providers: [
|
|
22
|
+
provideZonelessChangeDetection(),
|
|
23
|
+
provideWrTheme(),
|
|
24
|
+
provideWrOverlay(),
|
|
25
|
+
provideWrIcons(lucideIcons({ check, chevronDown })),
|
|
26
|
+
],
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`provideWrOverlay()` gives ngwr its OWN CDK overlay container, which is what
|
|
31
|
+
keeps it from colliding with Material or NG-ZORRO in the same app. It also
|
|
32
|
+
installs `WrVisualViewport`, which publishes `--wr-keyboard-inset`.
|
|
33
|
+
|
|
34
|
+
## Styles
|
|
35
|
+
|
|
36
|
+
```scss
|
|
37
|
+
@use 'ngwr'; // everything
|
|
38
|
+
@use 'ngwr/button'; // or one entry point at a time
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Resolved through the `sass` condition in the package's `exports` map. Entry
|
|
42
|
+
points that ship no stylesheet (the `/testing` harnesses, `ngwr/utils`) have no
|
|
43
|
+
`@use` target — importing one fails the build.
|
|
44
|
+
|
|
45
|
+
## Providers with no default
|
|
46
|
+
|
|
47
|
+
### `provideWrOverlay() // from 'ngwr/overlay'`
|
|
48
|
+
|
|
49
|
+
Overlays render into an ngwr-owned container; without it they never appear. Needed by `WrDialog`, `WrDrawer`, `WrToast`, `WrPopover`, `WrPopconfirm`, `WrContextMenu`, `WrSelect`, `WrDropdown`, `WrCommandPalette`, `WrCascader`, `WrMention`, `WrDatePicker`, `WrTour`, `WrLightbox`.
|
|
50
|
+
|
|
51
|
+
### `provideWrIcons(lucideIcons({ … })) // from 'ngwr/icon' + 'ngwr/icon/adapters/lucide'`
|
|
52
|
+
|
|
53
|
+
Icons resolve by name from a registry you populate. Needed by `WrIcon`.
|
|
54
|
+
|
|
55
|
+
### `provideWrDateFnsAdapter() // from 'ngwr/date/adapters/fns'`
|
|
56
|
+
|
|
57
|
+
Every date mode goes through an adapter; there is no built-in default. Needed by `WrDatePicker`, `WrCalendar`, `WrEventCalendar`.
|
|
58
|
+
|
|
59
|
+
### `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n' + 'ngwr/i18n/en'`
|
|
60
|
+
|
|
61
|
+
The pipe and directive read from a catalog you provide. Needed by `WrTPipe`, `WrTDirective`, `WrI18n`.
|
|
62
|
+
|
|
63
|
+
## Optional, app-wide
|
|
64
|
+
|
|
65
|
+
- `provideWrConfig({ button: { size: 'sm' } })` — component defaults. A bound
|
|
66
|
+
value always wins, including a bound `false` over a configured `true`.
|
|
67
|
+
- `provideWrDensity({ defaultDensity: 'sm' })` — one control size for the whole
|
|
68
|
+
app; `'sm' | 'md' | 'lg' | 'touch'`. It scales the paddings of the nine
|
|
69
|
+
stylesheets that read the multipliers — button, input, textarea, select,
|
|
70
|
+
cascader, tree, list, table, badge/tag — so `touch` grows those together. A
|
|
71
|
+
control with fixed geometry (checkbox, switch, radio, slider, rating,
|
|
72
|
+
segmented) does not move; its ≥44px target comes from the `touch-target` mixin
|
|
73
|
+
under `@media (pointer: coarse)` instead.
|
|
74
|
+
- `provideWrResponsiveOverlays()` — overlays present as bottom sheets under the
|
|
75
|
+
breakpoint (640px by default). Per-component opt-out with `[responsive]="false"`.
|
|
76
|
+
- `provideWrFormErrors({ … })` — one place for validation copy; `<wr-form-field>`
|
|
77
|
+
resolves a message per error key through it, then the i18n catalog, then a
|
|
78
|
+
built-in fallback.
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
min-width: 0;
|
|
42
42
|
|
|
43
43
|
&--disabled {
|
|
44
|
-
opacity:
|
|
44
|
+
opacity: var(--wr-disabled-opacity);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -156,7 +156,14 @@
|
|
|
156
156
|
min-width: 0;
|
|
157
157
|
min-height: 1.25rem;
|
|
158
158
|
height: auto;
|
|
159
|
-
margin:
|
|
159
|
+
// Logical, not `margin: … 0 … calc(…)`: `width` above is definite, so the
|
|
160
|
+
// `align-self: stretch` below is inapplicable and the thread is placed at
|
|
161
|
+
// the cross START — where the INLINE-start margin alone offsets it. A
|
|
162
|
+
// physical `margin-left` is therefore the TRAILING side under `dir="rtl"`,
|
|
163
|
+
// and the line paints flush against the row's right edge, half an indicator
|
|
164
|
+
// (14px) clear of every circle it is supposed to join.
|
|
165
|
+
margin-block: 0.25rem;
|
|
166
|
+
margin-inline: calc(var(--wr-stepper-indicator-size) / 2) 0;
|
|
160
167
|
align-self: stretch;
|
|
161
168
|
flex: 0 0 auto;
|
|
162
169
|
}
|
|
@@ -191,7 +198,9 @@
|
|
|
191
198
|
min-width: 0;
|
|
192
199
|
min-height: 1.25rem;
|
|
193
200
|
height: auto;
|
|
194
|
-
|
|
201
|
+
// Logical for the same reason as the `--vertical` rule above.
|
|
202
|
+
margin-block: 0.25rem;
|
|
203
|
+
margin-inline: calc(var(--wr-stepper-indicator-size) / 2) 0;
|
|
195
204
|
align-self: stretch;
|
|
196
205
|
flex: 0 0 auto;
|
|
197
206
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
white-space: nowrap;
|
|
39
39
|
|
|
40
40
|
&:focus-visible + .wr-switch__track {
|
|
41
|
-
|
|
41
|
+
@include theme.focus-ring;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -98,6 +98,6 @@
|
|
|
98
98
|
&--disabled {
|
|
99
99
|
--wr-switch-color: var(--wr-color-on-surface-muted);
|
|
100
100
|
pointer-events: none;
|
|
101
|
-
opacity:
|
|
101
|
+
opacity: var(--wr-disabled-opacity);
|
|
102
102
|
}
|
|
103
103
|
}
|