ngwr 10.2.0 → 11.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 +39 -19
- package/anchor/styles/_index.scss +4 -4
- package/back-top/styles/_index.scss +6 -1
- package/blur-text/styles/_index.scss +13 -0
- package/button/styles/_index.scss +11 -6
- package/carousel/styles/_index.scss +13 -2
- package/cascader/styles/_index.scss +2 -2
- package/circular-text/styles/_index.scss +2 -0
- package/collapse/styles/_index.scss +1 -1
- package/color-picker/styles/_index.scss +6 -1
- package/compare/styles/_index.scss +1 -2
- package/context-menu/styles/_index.scss +6 -1
- package/descriptions/styles/_index.scss +2 -2
- package/dialog/styles/_index.scss +38 -0
- package/drawer/styles/_index.scss +20 -1
- package/dropdown/styles/_index.scss +19 -5
- package/empty/styles/_index.scss +10 -0
- package/fesm2022/ngwr-action-sheet.mjs +15 -5
- package/fesm2022/ngwr-action-sheet.mjs.map +1 -1
- package/fesm2022/ngwr-affix.mjs +43 -16
- package/fesm2022/ngwr-affix.mjs.map +1 -1
- package/fesm2022/ngwr-alert.mjs +3 -3
- package/fesm2022/ngwr-anchor.mjs +20 -8
- package/fesm2022/ngwr-anchor.mjs.map +1 -1
- package/fesm2022/ngwr-aurora.mjs +4 -4
- package/fesm2022/ngwr-aurora.mjs.map +1 -1
- package/fesm2022/ngwr-avatar.mjs +33 -9
- package/fesm2022/ngwr-avatar.mjs.map +1 -1
- package/fesm2022/ngwr-back-top.mjs +8 -4
- package/fesm2022/ngwr-back-top.mjs.map +1 -1
- package/fesm2022/ngwr-badge.mjs +6 -6
- package/fesm2022/ngwr-badge.mjs.map +1 -1
- package/fesm2022/ngwr-bar-chart.mjs +32 -11
- package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
- package/fesm2022/ngwr-blur-text.mjs +4 -4
- package/fesm2022/ngwr-blur-text.mjs.map +1 -1
- package/fesm2022/ngwr-border-glow.mjs +4 -4
- package/fesm2022/ngwr-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +9 -8
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngwr-burger.mjs +11 -6
- package/fesm2022/ngwr-burger.mjs.map +1 -1
- package/fesm2022/ngwr-button-testing.mjs +96 -0
- package/fesm2022/ngwr-button-testing.mjs.map +1 -0
- package/fesm2022/ngwr-button.mjs +89 -24
- package/fesm2022/ngwr-button.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-heatmap.mjs +42 -10
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-calendar.mjs +108 -9
- 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-testing.mjs +377 -0
- package/fesm2022/ngwr-carousel-testing.mjs.map +1 -0
- package/fesm2022/ngwr-carousel.mjs +72 -18
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader-testing.mjs +534 -0
- package/fesm2022/ngwr-cascader-testing.mjs.map +1 -0
- package/fesm2022/ngwr-cascader.mjs +4 -4
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox-testing.mjs +90 -0
- package/fesm2022/ngwr-checkbox-testing.mjs.map +1 -0
- package/fesm2022/ngwr-checkbox.mjs +15 -9
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +4 -4
- package/fesm2022/ngwr-circular-text.mjs.map +1 -1
- package/fesm2022/ngwr-click-spark.mjs +4 -4
- package/fesm2022/ngwr-click-spark.mjs.map +1 -1
- package/fesm2022/ngwr-clipboard.mjs +18 -4
- package/fesm2022/ngwr-clipboard.mjs.map +1 -1
- package/fesm2022/ngwr-collapse-testing.mjs +368 -0
- package/fesm2022/ngwr-collapse-testing.mjs.map +1 -0
- package/fesm2022/ngwr-collapse.mjs +9 -9
- package/fesm2022/ngwr-color-picker.mjs +139 -19
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette-testing.mjs +589 -0
- package/fesm2022/ngwr-command-palette-testing.mjs.map +1 -0
- package/fesm2022/ngwr-command-palette.mjs +60 -10
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-compare.mjs +105 -15
- package/fesm2022/ngwr-compare.mjs.map +1 -1
- package/fesm2022/ngwr-confetti.mjs +3 -3
- package/fesm2022/ngwr-config.mjs +106 -0
- package/fesm2022/ngwr-config.mjs.map +1 -0
- package/fesm2022/ngwr-context-menu-testing.mjs +631 -0
- package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -0
- package/fesm2022/ngwr-context-menu.mjs +104 -18
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-cookie.mjs +8 -4
- package/fesm2022/ngwr-cookie.mjs.map +1 -1
- package/fesm2022/ngwr-counter.mjs +17 -9
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
- package/fesm2022/ngwr-date-adapter-luxon.mjs +55 -7
- package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -1
- package/fesm2022/ngwr-date-adapter.mjs +57 -11
- package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker-testing.mjs +766 -0
- package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -0
- package/fesm2022/ngwr-date-picker.mjs +409 -57
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/ngwr-decrypt-text.mjs +30 -12
- 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-testing.mjs +89 -0
- package/fesm2022/ngwr-dialog-testing.mjs.map +1 -0
- package/fesm2022/ngwr-dialog.mjs +33 -17
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +48 -24
- package/fesm2022/ngwr-directives.mjs.map +1 -1
- package/fesm2022/ngwr-divider.mjs +3 -3
- package/fesm2022/ngwr-donut-chart.mjs +24 -7
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +7 -7
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer-testing.mjs +250 -0
- package/fesm2022/ngwr-drawer-testing.mjs.map +1 -0
- package/fesm2022/ngwr-drawer.mjs +37 -19
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown-testing.mjs +291 -0
- package/fesm2022/ngwr-dropdown-testing.mjs.map +1 -0
- package/fesm2022/ngwr-dropdown.mjs +19 -11
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +26 -9
- package/fesm2022/ngwr-empty.mjs.map +1 -1
- package/fesm2022/ngwr-event-calendar.mjs +62 -15
- package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text.mjs +4 -4
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-file-upload-testing.mjs +332 -0
- package/fesm2022/ngwr-file-upload-testing.mjs.map +1 -0
- package/fesm2022/ngwr-file-upload.mjs +3 -3
- package/fesm2022/ngwr-form-testing.mjs +451 -0
- package/fesm2022/ngwr-form-testing.mjs.map +1 -0
- package/fesm2022/ngwr-form.mjs +28 -12
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +11 -4
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +21 -7
- package/fesm2022/ngwr-gauge.mjs.map +1 -1
- package/fesm2022/ngwr-glitch-text.mjs +4 -4
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text.mjs +4 -4
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
- package/fesm2022/ngwr-hotkey.mjs +31 -10
- package/fesm2022/ngwr-hotkey.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +61 -0
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +59 -0
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +9 -9
- package/fesm2022/ngwr-icon.mjs +6 -6
- package/fesm2022/ngwr-image-cropper.mjs +26 -3
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
- package/fesm2022/ngwr-input-number-testing.mjs +306 -0
- package/fesm2022/ngwr-input-number-testing.mjs.map +1 -0
- package/fesm2022/ngwr-input-number.mjs +37 -5
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp-testing.mjs +419 -0
- package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -0
- package/fesm2022/ngwr-input-otp.mjs +39 -8
- package/fesm2022/ngwr-input-otp.mjs.map +1 -1
- package/fesm2022/ngwr-input-testing.mjs +102 -0
- package/fesm2022/ngwr-input-testing.mjs.map +1 -0
- package/fesm2022/ngwr-input.mjs +62 -25
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-keyboard.mjs +3 -3
- package/fesm2022/ngwr-knob.mjs +46 -10
- package/fesm2022/ngwr-knob.mjs.map +1 -1
- package/fesm2022/ngwr-layout.mjs +36 -20
- package/fesm2022/ngwr-layout.mjs.map +1 -1
- package/fesm2022/ngwr-lightbox.mjs +35 -8
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +19 -6
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +14 -9
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +71 -31
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
- package/fesm2022/ngwr-markdown-testing.mjs +516 -0
- package/fesm2022/ngwr-markdown-testing.mjs.map +1 -0
- package/fesm2022/ngwr-markdown.mjs +1492 -0
- package/fesm2022/ngwr-markdown.mjs.map +1 -0
- package/fesm2022/ngwr-marquee.mjs +19 -8
- package/fesm2022/ngwr-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-media.mjs +3 -3
- package/fesm2022/ngwr-mention-testing.mjs +513 -0
- package/fesm2022/ngwr-mention-testing.mjs.map +1 -0
- package/fesm2022/ngwr-mention.mjs +16 -7
- package/fesm2022/ngwr-mention.mjs.map +1 -1
- package/fesm2022/ngwr-meta.mjs +28 -13
- package/fesm2022/ngwr-meta.mjs.map +1 -1
- package/fesm2022/ngwr-meter-group.mjs +22 -8
- package/fesm2022/ngwr-meter-group.mjs.map +1 -1
- package/fesm2022/ngwr-overlay.mjs +57 -8
- package/fesm2022/ngwr-overlay.mjs.map +1 -1
- package/fesm2022/ngwr-page-header.mjs +3 -3
- package/fesm2022/ngwr-pagination-testing.mjs +389 -0
- package/fesm2022/ngwr-pagination-testing.mjs.map +1 -0
- package/fesm2022/ngwr-pagination.mjs +27 -11
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +21 -21
- package/fesm2022/ngwr-platform.mjs +9 -9
- package/fesm2022/ngwr-popconfirm-testing.mjs +309 -0
- package/fesm2022/ngwr-popconfirm-testing.mjs.map +1 -0
- package/fesm2022/ngwr-popconfirm.mjs +99 -21
- package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
- package/fesm2022/ngwr-popover-testing.mjs +316 -0
- package/fesm2022/ngwr-popover-testing.mjs.map +1 -0
- package/fesm2022/ngwr-popover.mjs +48 -10
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-progress.mjs +3 -3
- package/fesm2022/ngwr-pull-to-refresh.mjs +19 -4
- package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -1
- package/fesm2022/ngwr-qr.mjs +15 -5
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio-testing.mjs +392 -0
- package/fesm2022/ngwr-radio-testing.mjs.map +1 -0
- package/fesm2022/ngwr-radio.mjs +16 -9
- package/fesm2022/ngwr-radio.mjs.map +1 -1
- package/fesm2022/ngwr-rating-testing.mjs +384 -0
- package/fesm2022/ngwr-rating-testing.mjs.map +1 -0
- package/fesm2022/ngwr-rating.mjs +40 -5
- package/fesm2022/ngwr-rating.mjs.map +1 -1
- package/fesm2022/ngwr-result.mjs +12 -12
- package/fesm2022/ngwr-rotating-text.mjs +3 -3
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented-testing.mjs +512 -0
- package/fesm2022/ngwr-segmented-testing.mjs.map +1 -0
- package/fesm2022/ngwr-segmented.mjs +3 -3
- package/fesm2022/ngwr-select-testing.mjs +268 -0
- package/fesm2022/ngwr-select-testing.mjs.map +1 -0
- package/fesm2022/ngwr-select.mjs +96 -25
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +7 -7
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
- package/fesm2022/ngwr-sidebar.mjs +67 -14
- package/fesm2022/ngwr-sidebar.mjs.map +1 -1
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider-testing.mjs +478 -0
- package/fesm2022/ngwr-slider-testing.mjs.map +1 -0
- package/fesm2022/ngwr-slider.mjs +59 -15
- package/fesm2022/ngwr-slider.mjs.map +1 -1
- package/fesm2022/ngwr-sparkline.mjs +28 -8
- package/fesm2022/ngwr-sparkline.mjs.map +1 -1
- package/fesm2022/ngwr-speed-dial.mjs +39 -6
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
- package/fesm2022/ngwr-spinner.mjs +14 -5
- package/fesm2022/ngwr-spinner.mjs.map +1 -1
- package/fesm2022/ngwr-splash-cursor.mjs +4 -4
- package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
- package/fesm2022/ngwr-split-text.mjs +4 -4
- package/fesm2022/ngwr-split-text.mjs.map +1 -1
- package/fesm2022/ngwr-splitter.mjs +72 -11
- package/fesm2022/ngwr-splitter.mjs.map +1 -1
- 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.mjs +4 -4
- package/fesm2022/ngwr-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-statistic.mjs +33 -16
- package/fesm2022/ngwr-statistic.mjs.map +1 -1
- package/fesm2022/ngwr-stepper-testing.mjs +477 -0
- package/fesm2022/ngwr-stepper-testing.mjs.map +1 -0
- package/fesm2022/ngwr-stepper.mjs +6 -6
- package/fesm2022/ngwr-storage.mjs +27 -17
- package/fesm2022/ngwr-storage.mjs.map +1 -1
- package/fesm2022/ngwr-switch-testing.mjs +77 -0
- package/fesm2022/ngwr-switch-testing.mjs.map +1 -0
- package/fesm2022/ngwr-switch.mjs +12 -6
- package/fesm2022/ngwr-switch.mjs.map +1 -1
- package/fesm2022/ngwr-table-testing.mjs +580 -0
- package/fesm2022/ngwr-table-testing.mjs.map +1 -0
- package/fesm2022/ngwr-table.mjs +105 -44
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs-testing.mjs +617 -0
- package/fesm2022/ngwr-tabs-testing.mjs.map +1 -0
- package/fesm2022/ngwr-tabs.mjs +44 -12
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea-testing.mjs +238 -0
- package/fesm2022/ngwr-textarea-testing.mjs.map +1 -0
- package/fesm2022/ngwr-textarea.mjs +35 -7
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-theme.mjs +3 -3
- package/fesm2022/ngwr-tilt-card.mjs +7 -7
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast-testing.mjs +101 -0
- package/fesm2022/ngwr-toast-testing.mjs.map +1 -0
- package/fesm2022/ngwr-toast.mjs +55 -21
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +3 -3
- package/fesm2022/ngwr-tour.mjs +67 -15
- package/fesm2022/ngwr-tour.mjs.map +1 -1
- package/fesm2022/ngwr-transfer-testing.mjs +538 -0
- package/fesm2022/ngwr-transfer-testing.mjs.map +1 -0
- package/fesm2022/ngwr-transfer.mjs +47 -16
- package/fesm2022/ngwr-transfer.mjs.map +1 -1
- package/fesm2022/ngwr-tree-testing.mjs +734 -0
- package/fesm2022/ngwr-tree-testing.mjs.map +1 -0
- package/fesm2022/ngwr-tree.mjs +75 -9
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter.mjs +7 -5
- package/fesm2022/ngwr-typewriter.mjs.map +1 -1
- package/fesm2022/ngwr-typography.mjs +3 -3
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +33 -7
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-waves.mjs +5 -5
- package/fesm2022/ngwr-waves.mjs.map +1 -1
- package/fesm2022/ngwr-window.mjs +88 -18
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/gauge/styles/_index.scss +1 -1
- package/glitch-text/styles/_index.scss +4 -0
- package/i18n/en.json +56 -0
- package/i18n/ru.json +56 -0
- package/image-cropper/styles/_index.scss +13 -1
- package/input/styles/_index.scss +2 -2
- package/input-number/styles/_index.scss +7 -2
- package/knob/styles/_index.scss +8 -1
- package/layout/styles/_index.scss +3 -3
- package/lightbox/styles/_index.scss +10 -2
- package/line-chart/styles/_index.scss +6 -0
- package/llms-full.txt +151 -4
- package/llms.txt +57 -8
- package/loading-bar/styles/_index.scss +1 -2
- package/markdown/styles/_index.scss +296 -0
- package/marquee/styles/_index.scss +12 -0
- package/mcp/api.js +512 -0
- package/mcp/catalog.js +157 -0
- package/mcp/server.js +273 -0
- package/mcp/tools.js +366 -0
- package/meter-group/styles/_index.scss +1 -1
- package/package.json +186 -35
- package/pagination/styles/_index.scss +6 -6
- package/popover/styles/_index.scss +37 -5
- package/rating/styles/_index.scss +10 -0
- package/schematics/use/symbol-map.json +2 -0
- package/segmented/styles/_index.scss +7 -0
- package/select/styles/_index.scss +29 -9
- package/sidebar/styles/_index.scss +30 -5
- package/slider/styles/_index.scss +15 -0
- package/speed-dial/styles/_index.scss +20 -0
- package/split-text/styles/_index.scss +13 -0
- package/star-border/styles/_index.scss +2 -0
- package/stepper/styles/_index.scss +1 -1
- package/styles/_grid.scss +4 -4
- package/styles.scss +1 -0
- package/switch/styles/_index.scss +5 -3
- package/table/styles/_index.scss +22 -11
- package/tabs/styles/_index.scss +11 -1
- package/textarea/styles/_index.scss +5 -0
- package/theme/styles/_colors.scss +29 -13
- package/theme/styles/_dark.scss +11 -3
- package/theme/styles/_mixins.scss +3 -0
- package/timeline/styles/_index.scss +2 -2
- package/toast/styles/_index.scss +17 -8
- package/toolbar/styles/_index.scss +3 -3
- package/tour/styles/_index.scss +7 -1
- package/tree/styles/_index.scss +5 -3
- package/types/ngwr-action-sheet.d.ts +9 -1
- package/types/ngwr-affix.d.ts +7 -1
- package/types/ngwr-anchor.d.ts +8 -1
- package/types/ngwr-avatar.d.ts +13 -3
- package/types/ngwr-bar-chart.d.ts +16 -0
- package/types/ngwr-burger.d.ts +6 -2
- package/types/ngwr-button-testing.d.ts +85 -0
- package/types/ngwr-button.d.ts +58 -10
- package/types/ngwr-calendar-heatmap.d.ts +16 -2
- package/types/ngwr-calendar.d.ts +37 -1
- package/types/ngwr-carousel-testing.d.ts +257 -0
- package/types/ngwr-carousel.d.ts +20 -4
- package/types/ngwr-cascader-testing.d.ts +392 -0
- package/types/ngwr-checkbox-testing.d.ts +77 -0
- package/types/ngwr-checkbox.d.ts +7 -2
- package/types/ngwr-clipboard.d.ts +8 -1
- package/types/ngwr-collapse-testing.d.ts +290 -0
- package/types/ngwr-color-picker.d.ts +20 -11
- package/types/ngwr-command-palette-testing.d.ts +437 -0
- package/types/ngwr-command-palette.d.ts +25 -2
- package/types/ngwr-compare.d.ts +50 -2
- package/types/ngwr-config.d.ts +176 -0
- package/types/ngwr-context-menu-testing.d.ts +401 -0
- package/types/ngwr-context-menu.d.ts +65 -17
- package/types/ngwr-counter.d.ts +6 -1
- package/types/ngwr-date-adapter-luxon.d.ts +26 -0
- package/types/ngwr-date-picker-testing.d.ts +518 -0
- package/types/ngwr-date-picker.d.ts +128 -8
- package/types/ngwr-dialog-testing.d.ts +79 -0
- package/types/ngwr-dialog.d.ts +13 -0
- package/types/ngwr-directives.d.ts +10 -1
- package/types/ngwr-donut-chart.d.ts +8 -1
- package/types/ngwr-drawer-testing.d.ts +196 -0
- package/types/ngwr-drawer.d.ts +15 -0
- package/types/ngwr-dropdown-testing.d.ts +202 -0
- package/types/ngwr-dropdown.d.ts +7 -1
- package/types/ngwr-empty.d.ts +19 -4
- package/types/ngwr-event-calendar.d.ts +26 -1
- package/types/ngwr-file-upload-testing.d.ts +194 -0
- package/types/ngwr-form-testing.d.ts +379 -0
- package/types/ngwr-form.d.ts +17 -0
- package/types/ngwr-gauge.d.ts +13 -1
- package/types/ngwr-hotkey.d.ts +2 -0
- package/types/ngwr-image-cropper.d.ts +10 -0
- package/types/ngwr-input-number-testing.d.ts +226 -0
- package/types/ngwr-input-number.d.ts +29 -1
- package/types/ngwr-input-otp-testing.d.ts +299 -0
- package/types/ngwr-input-otp.d.ts +23 -2
- package/types/ngwr-input-testing.d.ts +84 -0
- package/types/ngwr-input.d.ts +20 -6
- package/types/ngwr-knob.d.ts +18 -0
- package/types/ngwr-layout.d.ts +1 -0
- package/types/ngwr-lightbox.d.ts +17 -3
- package/types/ngwr-line-chart.d.ts +9 -2
- package/types/ngwr-list.d.ts +7 -2
- package/types/ngwr-loading-bar.d.ts +4 -7
- package/types/ngwr-markdown-testing.d.ts +462 -0
- package/types/ngwr-markdown.d.ts +534 -0
- package/types/ngwr-marquee.d.ts +12 -2
- package/types/ngwr-mention-testing.d.ts +359 -0
- package/types/ngwr-meta.d.ts +4 -2
- package/types/ngwr-meter-group.d.ts +11 -1
- package/types/ngwr-overlay.d.ts +33 -2
- package/types/ngwr-pagination-testing.d.ts +291 -0
- package/types/ngwr-pagination.d.ts +7 -1
- package/types/ngwr-popconfirm-testing.d.ts +235 -0
- package/types/ngwr-popconfirm.d.ts +31 -21
- package/types/ngwr-popover-testing.d.ts +221 -0
- package/types/ngwr-popover.d.ts +19 -2
- package/types/ngwr-pull-to-refresh.d.ts +7 -0
- package/types/ngwr-qr.d.ts +9 -1
- package/types/ngwr-radio-testing.d.ts +296 -0
- package/types/ngwr-radio.d.ts +8 -2
- package/types/ngwr-rating-testing.d.ts +291 -0
- package/types/ngwr-rating.d.ts +23 -0
- package/types/ngwr-segmented-testing.d.ts +401 -0
- package/types/ngwr-select-testing.d.ts +175 -0
- package/types/ngwr-select.d.ts +45 -4
- package/types/ngwr-sidebar.d.ts +17 -2
- package/types/ngwr-slider-testing.d.ts +329 -0
- package/types/ngwr-slider.d.ts +35 -1
- package/types/ngwr-sparkline.d.ts +12 -2
- package/types/ngwr-speed-dial.d.ts +17 -18
- package/types/ngwr-spinner.d.ts +8 -1
- package/types/ngwr-splitter.d.ts +24 -1
- package/types/ngwr-statistic.d.ts +12 -2
- package/types/ngwr-stepper-testing.d.ts +346 -0
- package/types/ngwr-storage.d.ts +10 -1
- package/types/ngwr-switch-testing.d.ts +66 -0
- package/types/ngwr-switch.d.ts +7 -2
- package/types/ngwr-table-testing.d.ts +423 -0
- package/types/ngwr-table.d.ts +42 -0
- package/types/ngwr-tabs-testing.d.ts +470 -0
- package/types/ngwr-tabs.d.ts +9 -0
- package/types/ngwr-textarea-testing.d.ts +184 -0
- package/types/ngwr-textarea.d.ts +7 -2
- package/types/ngwr-toast-testing.d.ts +80 -0
- package/types/ngwr-toast.d.ts +19 -4
- package/types/ngwr-tour.d.ts +27 -0
- package/types/ngwr-transfer-testing.d.ts +444 -0
- package/types/ngwr-transfer.d.ts +16 -1
- package/types/ngwr-tree-testing.d.ts +501 -0
- package/types/ngwr-tree.d.ts +33 -0
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-virtual-scroll.d.ts +13 -1
- package/types/ngwr-window.d.ts +23 -2
- package/typewriter/styles/_index.scss +1 -1
- package/typography/styles/_index.scss +1 -1
- package/window/styles/_index.scss +32 -9
package/types/ngwr-affix.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Stick-on-scroll directive. Combines native CSS `position: sticky` with
|
|
5
|
-
* an `IntersectionObserver`-driven
|
|
5
|
+
* an `IntersectionObserver`-driven `wr-affix--active` state class, so consumers
|
|
6
6
|
* can style the element differently while it's pinned (e.g. add a
|
|
7
7
|
* shadow, change the background, shrink the height).
|
|
8
8
|
*
|
|
@@ -35,6 +35,12 @@ declare class WrAffix {
|
|
|
35
35
|
private readonly host;
|
|
36
36
|
private readonly destroyRef;
|
|
37
37
|
private readonly isBrowser;
|
|
38
|
+
/**
|
|
39
|
+
* `afterNextRender`'s callback is not an injection context, and the observer
|
|
40
|
+
* cannot exist before the sentinel it watches — so the effect that rebuilds it
|
|
41
|
+
* is handed the injector explicitly.
|
|
42
|
+
*/
|
|
43
|
+
private readonly injector;
|
|
38
44
|
constructor();
|
|
39
45
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrAffix, never>;
|
|
40
46
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrAffix, "[wrAffix]", never, { "offsetTop": { "alias": "wrAffixOffsetTop"; "required": false; "isSignal": true; }; }, { "affixChange": "wrAffixChange"; }, never, never, true, never>;
|
package/types/ngwr-anchor.d.ts
CHANGED
|
@@ -32,6 +32,13 @@ interface WrAnchorLink {
|
|
|
32
32
|
*/
|
|
33
33
|
declare class WrAnchor {
|
|
34
34
|
readonly links: _angular_core.InputSignal<readonly WrAnchorLink[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Accessible name for the navigation landmark. Falls back to `anchor.label`,
|
|
37
|
+
* then `'Table of contents'` — it used to be that English string, hard-coded
|
|
38
|
+
* on the host, in a landmark a screen reader reads out on every page.
|
|
39
|
+
*/
|
|
40
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
41
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
35
42
|
/** Pixel offset subtracted on scroll — for sticky headers. @default 0 */
|
|
36
43
|
readonly offset: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
37
44
|
/** Highlight an item when its target's top is within this many px of the offset line. @default 80 */
|
|
@@ -46,7 +53,7 @@ declare class WrAnchor {
|
|
|
46
53
|
constructor();
|
|
47
54
|
protected onClick(id: string, event: MouseEvent): void;
|
|
48
55
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrAnchor, never>;
|
|
49
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAnchor, "wr-anchor", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "hitArea": { "alias": "hitArea"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
56
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAnchor, "wr-anchor", never, { "links": { "alias": "links"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "hitArea": { "alias": "hitArea"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
50
57
|
}
|
|
51
58
|
|
|
52
59
|
export { WrAnchor };
|
package/types/ngwr-avatar.d.ts
CHANGED
|
@@ -58,11 +58,13 @@ declare class WrAvatar {
|
|
|
58
58
|
*/
|
|
59
59
|
readonly url: _angular_core.InputSignal<string | null>;
|
|
60
60
|
/**
|
|
61
|
-
* Alt text for the image.
|
|
61
|
+
* Alt text for the image. Falls back to `avatar.alt`, then `'Avatar'` — pass
|
|
62
|
+
* the person's name where you have it, since that is what a reader wants.
|
|
62
63
|
*
|
|
63
|
-
* @default
|
|
64
|
+
* @default null
|
|
64
65
|
*/
|
|
65
|
-
readonly alt: _angular_core.InputSignal<string>;
|
|
66
|
+
readonly alt: _angular_core.InputSignal<string | null>;
|
|
67
|
+
protected readonly resolvedAlt: _angular_core.Signal<string>;
|
|
66
68
|
/**
|
|
67
69
|
* Corner treatment. `rounded` (default) is a soft rounded square,
|
|
68
70
|
* `circle` is the classic profile avatar, `squircle` is the iOS look.
|
|
@@ -77,11 +79,19 @@ declare class WrAvatar {
|
|
|
77
79
|
*/
|
|
78
80
|
readonly size: _angular_core.InputSignal<WrAvatarSize>;
|
|
79
81
|
protected readonly loaded: _angular_core.WritableSignal<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Whether the image failed. Without this the spinner spun forever on a broken
|
|
84
|
+
* URL — the one state where an avatar is guaranteed to have projected initials
|
|
85
|
+
* worth showing instead.
|
|
86
|
+
*/
|
|
87
|
+
protected readonly failed: _angular_core.WritableSignal<boolean>;
|
|
88
|
+
constructor();
|
|
80
89
|
protected readonly resolved: _angular_core.Signal<ResolvedCssSize>;
|
|
81
90
|
protected readonly cssSize: _angular_core.Signal<string>;
|
|
82
91
|
protected readonly pxSize: _angular_core.Signal<number | null>;
|
|
83
92
|
protected readonly classes: _angular_core.Signal<string>;
|
|
84
93
|
protected onImageLoad(): void;
|
|
94
|
+
protected onImageError(): void;
|
|
85
95
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrAvatar, never>;
|
|
86
96
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAvatar, "wr-avatar", never, { "url": { "alias": "url"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
87
97
|
}
|
|
@@ -32,12 +32,28 @@ declare class WrBarChart {
|
|
|
32
32
|
readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
33
33
|
/** Explicit max value. `0` = auto. @default 0 */
|
|
34
34
|
readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
35
|
+
/**
|
|
36
|
+
* A datum's value, with anything non-finite read as `0`.
|
|
37
|
+
*
|
|
38
|
+
* One `NaN` used to take out the whole chart rather than its own bar:
|
|
39
|
+
* `Math.max(...values)` is `NaN` as soon as one value is, so the scale fell
|
|
40
|
+
* back to `1` and every OTHER bar was asked for a height of `value * 100`%.
|
|
41
|
+
* The bad bar also printed the literal text `NaN` above itself.
|
|
42
|
+
*/
|
|
43
|
+
private static value;
|
|
35
44
|
protected readonly resolvedMax: _angular_core.Signal<number>;
|
|
36
45
|
protected readonly bars: _angular_core.Signal<{
|
|
37
46
|
label: string;
|
|
38
47
|
value: number;
|
|
39
48
|
color: string;
|
|
40
49
|
heightPercent: number;
|
|
50
|
+
/**
|
|
51
|
+
* The bar's accessible name. The label and the value sit in separate
|
|
52
|
+
* rows, so a screen reader read every number and then every label with
|
|
53
|
+
* nothing tying the two together — and with `showValues` off the
|
|
54
|
+
* numbers were not in the accessible tree at all.
|
|
55
|
+
*/
|
|
56
|
+
name: string;
|
|
41
57
|
}[]>;
|
|
42
58
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrBarChart, never>;
|
|
43
59
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrBarChart, "wr-bar-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
package/types/ngwr-burger.d.ts
CHANGED
|
@@ -20,8 +20,12 @@ import * as _angular_core from '@angular/core';
|
|
|
20
20
|
declare class WrBurger {
|
|
21
21
|
/** Two-way bindable open state. Drives the hamburger ↔ close morph. @default false */
|
|
22
22
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
23
|
-
/**
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Accessible name for the toggle button. Falls back to `burger.label`, then
|
|
25
|
+
* `'Toggle menu'`.
|
|
26
|
+
*/
|
|
27
|
+
readonly label: _angular_core.InputSignal<string | null>;
|
|
28
|
+
protected readonly resolvedLabel: _angular_core.Signal<string>;
|
|
25
29
|
/** Disable the toggle. @default false */
|
|
26
30
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
27
31
|
protected readonly classes: _angular_core.Signal<{
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BaseHarnessFilters, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
|
2
|
+
import { WrColor } from 'ngwr/theme';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
*
|
|
7
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
8
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** Narrows which `<wr-btn>` a harness query matches. */
|
|
12
|
+
interface WrButtonHarnessFilters extends BaseHarnessFilters {
|
|
13
|
+
/** Match the button's visible label — a string is an exact match, a RegExp is tested. */
|
|
14
|
+
readonly text?: string | RegExp;
|
|
15
|
+
/** Match only enabled (`false`) or only disabled (`true`) buttons. */
|
|
16
|
+
readonly disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @license
|
|
21
|
+
*
|
|
22
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
23
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Test harness for `<wr-btn>` — drive a button from a consumer's spec without
|
|
28
|
+
* knowing how it is built.
|
|
29
|
+
*
|
|
30
|
+
* Everything this reads is public API: the `wr-btn` selector, the
|
|
31
|
+
* `.wr-btn__label` element, the `wr-btn--*` modifiers and the disabled attributes.
|
|
32
|
+
* `<wr-btn>` is deliberately NOT always a native `<button>` — the element form
|
|
33
|
+
* exists so a link or a custom host can be one — which is why the disabled state
|
|
34
|
+
* is answered from the ATTRIBUTES rather than from `el.disabled`, a property half
|
|
35
|
+
* of those shapes do not have.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const loader = TestbedHarnessEnvironment.loader(fixture);
|
|
40
|
+
* const save = await loader.getHarness(WrButtonHarness.with({ text: 'Save' }));
|
|
41
|
+
*
|
|
42
|
+
* expect(await save.isDisabled()).toBe(false);
|
|
43
|
+
* await save.click();
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @see https://ngwr.dev/guides/testing
|
|
47
|
+
*/
|
|
48
|
+
declare class WrButtonHarness extends ComponentHarness {
|
|
49
|
+
/** Every shape the button ships in: the element, and the two attribute forms. */
|
|
50
|
+
static hostSelector: string;
|
|
51
|
+
/** Build a predicate that narrows the query — pass to `getHarness` / `getAllHarnesses`. */
|
|
52
|
+
static with(options?: WrButtonHarnessFilters): HarnessPredicate<WrButtonHarness>;
|
|
53
|
+
/** The button's visible label, trimmed. Icons and the spinner are not part of it. */
|
|
54
|
+
getText(): Promise<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the button refuses interaction.
|
|
57
|
+
*
|
|
58
|
+
* Both signals are read, because the component sets them for different reasons:
|
|
59
|
+
* `disabled` lands on every shape (it is inert on a custom element, which is
|
|
60
|
+
* exactly why `aria-disabled` exists as well, but it is the attribute that is
|
|
61
|
+
* always there). A button that is merely LOADING also answers `true` here, and
|
|
62
|
+
* that is not a quirk — by default a loading button refuses clicks.
|
|
63
|
+
*/
|
|
64
|
+
isDisabled(): Promise<boolean>;
|
|
65
|
+
/** Whether the button is showing its loading spinner. */
|
|
66
|
+
isLoading(): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* The intent colour, or `null` when the button carries none.
|
|
69
|
+
*
|
|
70
|
+
* Matched against `WR_COLORS` rather than "the first `wr-btn--*` class": the
|
|
71
|
+
* modifier list also carries the size, the shape, `outlined`, `block`, `loading`
|
|
72
|
+
* and the icon position, so a pattern match answers `icon` as readily as
|
|
73
|
+
* `primary`.
|
|
74
|
+
*/
|
|
75
|
+
getColor(): Promise<WrColor | null>;
|
|
76
|
+
/** Click the button. A disabled button is still clicked — assert, do not assume. */
|
|
77
|
+
click(): Promise<void>;
|
|
78
|
+
/** Move keyboard focus to the button. */
|
|
79
|
+
focus(): Promise<void>;
|
|
80
|
+
/** Whether the button currently has focus. */
|
|
81
|
+
isFocused(): Promise<boolean>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export { WrButtonHarness };
|
|
85
|
+
export type { WrButtonHarnessFilters };
|
package/types/ngwr-button.d.ts
CHANGED
|
@@ -68,13 +68,26 @@ type WrButtonIconPosition = 'start' | 'end';
|
|
|
68
68
|
* @see https://ngwr.dev/reference/components/button
|
|
69
69
|
*/
|
|
70
70
|
declare class WrButton {
|
|
71
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Color variant. Omit for the neutral default style.
|
|
73
|
+
*
|
|
74
|
+
* Deliberately NOT configurable app-wide: the library's own chrome binds
|
|
75
|
+
* `[color]="isCurrent ? 'primary' : null"`, where `null` means neutral, and a
|
|
76
|
+
* configured intent would repaint every one of those buttons. See `WrConfig`.
|
|
77
|
+
*
|
|
78
|
+
* @default null
|
|
79
|
+
*/
|
|
72
80
|
readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "medium" | "dark" | null>;
|
|
73
|
-
/** Size variant. @default 'md' */
|
|
74
|
-
readonly size: _angular_core.InputSignal<WrButtonSize>;
|
|
75
81
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
82
|
+
* Size variant. Unset, it resolves through
|
|
83
|
+
* `provideWrConfig({ button: { size } })` and then to `md`.
|
|
84
|
+
*
|
|
85
|
+
* @default 'md'
|
|
86
|
+
*/
|
|
87
|
+
readonly size: _angular_core.InputSignal<WrButtonSize | null>;
|
|
88
|
+
/**
|
|
89
|
+
* Corner treatment — `rounded`, `pill` or `squircle`. `null` (default) falls
|
|
90
|
+
* back to `rounded`. Inside a `<wr-btn-group shape="…">`, the group's shape
|
|
78
91
|
* ALWAYS wins over this input — the group enforces a consistent corner
|
|
79
92
|
* treatment across its members.
|
|
80
93
|
*
|
|
@@ -106,14 +119,49 @@ declare class WrButton {
|
|
|
106
119
|
*/
|
|
107
120
|
readonly isDisabledWhenLoading: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
108
121
|
private readonly group;
|
|
122
|
+
/** The size, or the app-wide default, or `md`. @see useConfigValue */
|
|
123
|
+
protected readonly resolvedSize: _angular_core.Signal<WrButtonSize>;
|
|
124
|
+
/**
|
|
125
|
+
* Resolved shape. Inside a `<wr-btn-group>`, the group ALWAYS wins — child
|
|
126
|
+
* `[shape]` is ignored entirely so the group reads as one coherent control.
|
|
127
|
+
* Outside a group, the button's own `[shape]` is used, falling back to
|
|
128
|
+
* `rounded`. Not config-resolved: see `WrConfig` for why a boolean cannot
|
|
129
|
+
* express this three-valued input.
|
|
130
|
+
*/
|
|
131
|
+
protected readonly resolvedShape: _angular_core.Signal<WrButtonShape>;
|
|
132
|
+
private readonly hostEl;
|
|
109
133
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
134
|
+
* Whether this instance is the `<wr-btn>` ELEMENT rather than the attribute
|
|
135
|
+
* form on a native `<button>` / `<a>`.
|
|
136
|
+
*
|
|
137
|
+
* The element form is documented as first-class and is what the pagination,
|
|
138
|
+
* event-calendar and popconfirm chrome use — but a custom element has no
|
|
139
|
+
* button semantics of its own. It was rendering with no `role`, no
|
|
140
|
+
* `tabindex` and no keyboard activation, so it was invisible to assistive
|
|
141
|
+
* tech and unreachable by Tab. Measured in Chromium against the built site:
|
|
142
|
+
* the whole `wr-pagination` subtree, 26 elements, contained ZERO focusable
|
|
143
|
+
* nodes and sixty Tab presses never entered it. axe cannot see this — an
|
|
144
|
+
* unknown element with no role simply is not an interactive control to it,
|
|
145
|
+
* which is the same blind spot that lets `disabled` pass unnoticed on a
|
|
146
|
+
* custom element.
|
|
114
147
|
*/
|
|
115
|
-
|
|
148
|
+
private readonly isCustomHost;
|
|
149
|
+
private readonly isOff;
|
|
116
150
|
protected readonly nativeDisabled: _angular_core.Signal<"" | null>;
|
|
151
|
+
protected readonly hostRole: _angular_core.Signal<"button" | null>;
|
|
152
|
+
/** Out of the tab order while off — `disabled` is inert on a custom element. */
|
|
153
|
+
protected readonly hostTabIndex: _angular_core.Signal<"0" | null>;
|
|
154
|
+
protected readonly hostAriaDisabled: _angular_core.Signal<"true" | null>;
|
|
155
|
+
/**
|
|
156
|
+
* Enter and Space activate a button. A native one does this for free; a
|
|
157
|
+
* custom element does not, so without this the element form could be focused
|
|
158
|
+
* (once it had a tabindex) and still not be operable.
|
|
159
|
+
*
|
|
160
|
+
* `preventDefault` on Space is not optional — it scrolls the page otherwise.
|
|
161
|
+
* The pointer path needs no guard here: `.wr-btn[disabled]` already sets
|
|
162
|
+
* `pointer-events: none`.
|
|
163
|
+
*/
|
|
164
|
+
protected onHostKeydown(event: KeyboardEvent): void;
|
|
117
165
|
protected readonly classes: _angular_core.Signal<string>;
|
|
118
166
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrButton, never>;
|
|
119
167
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrButton, "wr-btn, button[wr-btn], a[wr-btn]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconPosition": { "alias": "iconPosition"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "outlined": { "alias": "outlined"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "isDisabledWhenLoading": { "alias": "isDisabledWhenLoading"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
@@ -27,6 +27,13 @@ interface Cell {
|
|
|
27
27
|
*/
|
|
28
28
|
declare class WrCalendarHeatmap {
|
|
29
29
|
readonly data: _angular_core.InputSignal<readonly WrHeatmapDatum[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Accessible name of the whole grid. Its cells are bare spans whose `title` a screen
|
|
32
|
+
* reader on a role-less element does not read, so the map used to be several hundred
|
|
33
|
+
* anonymous nodes with no name. Falls back to `calendarHeatmap.label`.
|
|
34
|
+
*/
|
|
35
|
+
readonly ariaLabel: _angular_core.InputSignal<string | null>;
|
|
36
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
30
37
|
/** Last day to render. @default today */
|
|
31
38
|
readonly endDate: _angular_core.InputSignal<string | Date | null>;
|
|
32
39
|
/** Number of weeks (columns) to render. @default 53 */
|
|
@@ -41,7 +48,14 @@ declare class WrCalendarHeatmap {
|
|
|
41
48
|
readonly emptyColor: _angular_core.InputSignal<string>;
|
|
42
49
|
/** Show the weekday + month labels around the grid. @default true */
|
|
43
50
|
readonly showLabels: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
44
|
-
|
|
51
|
+
private readonly locale;
|
|
52
|
+
/**
|
|
53
|
+
* Weekday names from the locale rather than a hard-coded English list — the row order is
|
|
54
|
+
* Sunday-first, matching the grid's own alignment, so 7 Jan 2024 (a Sunday) is the
|
|
55
|
+
* reference. Rows without a label stay blank on purpose: seven labels do not fit.
|
|
56
|
+
*/
|
|
57
|
+
protected readonly weekdayLabels: _angular_core.Signal<readonly string[]>;
|
|
58
|
+
private readonly monthNames;
|
|
45
59
|
protected readonly cells: _angular_core.Signal<readonly Cell[]>;
|
|
46
60
|
protected readonly monthLabels: _angular_core.Signal<{
|
|
47
61
|
label: string;
|
|
@@ -51,7 +65,7 @@ declare class WrCalendarHeatmap {
|
|
|
51
65
|
protected colorFor(intensity: number): string;
|
|
52
66
|
protected opacityFor(intensity: number): number;
|
|
53
67
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCalendarHeatmap, never>;
|
|
54
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCalendarHeatmap, "wr-calendar-heatmap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "endDate": { "alias": "endDate"; "required": false; "isSignal": true; }; "weeks": { "alias": "weeks"; "required": false; "isSignal": true; }; "cellSize": { "alias": "cellSize"; "required": false; "isSignal": true; }; "cellGap": { "alias": "cellGap"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "emptyColor": { "alias": "emptyColor"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
68
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCalendarHeatmap, "wr-calendar-heatmap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "endDate": { "alias": "endDate"; "required": false; "isSignal": true; }; "weeks": { "alias": "weeks"; "required": false; "isSignal": true; }; "cellSize": { "alias": "cellSize"; "required": false; "isSignal": true; }; "cellGap": { "alias": "cellGap"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "emptyColor": { "alias": "emptyColor"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
55
69
|
}
|
|
56
70
|
|
|
57
71
|
export { WrCalendarHeatmap };
|
package/types/ngwr-calendar.d.ts
CHANGED
|
@@ -56,10 +56,21 @@ declare class WrCalendar {
|
|
|
56
56
|
readonly max: _angular_core.InputSignal<Date | null>;
|
|
57
57
|
/** Predicate — return `false` to disable specific dates (e.g. weekends only). */
|
|
58
58
|
readonly dateFilter: _angular_core.InputSignal<((date: Date) => boolean) | null>;
|
|
59
|
+
/**
|
|
60
|
+
* Move real focus onto the roving cell as soon as the grid is on screen.
|
|
61
|
+
*
|
|
62
|
+
* Off by default: a standalone `<wr-calendar>` sitting in a page must not
|
|
63
|
+
* steal focus on load. `wr-date-picker` turns it on for the popup it opens
|
|
64
|
+
* from its trigger, where the user asked to be taken to the calendar.
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
readonly autoFocus: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
59
68
|
/** Disable interaction entirely. @default false */
|
|
60
69
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
61
70
|
private readonly adapter;
|
|
71
|
+
private readonly dir;
|
|
62
72
|
private readonly host;
|
|
73
|
+
private readonly injector;
|
|
63
74
|
/** Currently displayed month (any date inside it). */
|
|
64
75
|
protected readonly viewDate: _angular_core.WritableSignal<Date>;
|
|
65
76
|
/** Date currently focused by keyboard (single roving tabindex). */
|
|
@@ -105,11 +116,36 @@ declare class WrCalendar {
|
|
|
105
116
|
protected onCellLeave(): void;
|
|
106
117
|
private applyRangeClick;
|
|
107
118
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
119
|
+
/**
|
|
120
|
+
* The first selectable day at or after `candidate`, else the first before it,
|
|
121
|
+
* else `candidate` unchanged when everything nearby is closed off. Bounded at
|
|
122
|
+
* a year each way so a pathological `dateFilter` cannot spin.
|
|
123
|
+
*/
|
|
124
|
+
private nearestEnabled;
|
|
125
|
+
/**
|
|
126
|
+
* The first selectable day at `candidate` or beyond it in `step`'s direction,
|
|
127
|
+
* else null when that whole direction is closed off — which is the answer for
|
|
128
|
+
* an ArrowLeft that would cross `min`: stay put.
|
|
129
|
+
*
|
|
130
|
+
* Direction matters. Reusing `nearestEnabled`, which probes forward first,
|
|
131
|
+
* would send an ArrowLeft over a disabled weekend straight back to the day it
|
|
132
|
+
* started from, so the ring could never cross the hole.
|
|
133
|
+
*/
|
|
134
|
+
private nearestEnabledToward;
|
|
108
135
|
private focusActiveCell;
|
|
109
136
|
/** Used by the template's `track` expression. */
|
|
110
137
|
protected trackByTime(_: number, date: Date): number;
|
|
138
|
+
/**
|
|
139
|
+
* The key as the GRID sees it.
|
|
140
|
+
*
|
|
141
|
+
* Arrow keys follow visual order, and a calendar grid mirrors under
|
|
142
|
+
* `dir="rtl"`: the day to the visual right of today is yesterday. Only the
|
|
143
|
+
* inline pair swaps — Up/Down step a week either way, and PageUp/PageDown and
|
|
144
|
+
* Home/End are semantic rather than physical.
|
|
145
|
+
*/
|
|
146
|
+
private inlineKey;
|
|
111
147
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCalendar, never>;
|
|
112
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCalendar, "wr-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "range": "rangeChange"; }, never, never, true, never>;
|
|
148
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCalendar, "wr-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "range": "rangeChange"; }, never, never, true, never>;
|
|
113
149
|
}
|
|
114
150
|
|
|
115
151
|
export { WrCalendar };
|