ngwr 7.3.0 → 9.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 +79 -31
- package/action-sheet/styles/_index.scss +93 -0
- package/alert/styles/_index.scss +45 -18
- package/anchor/styles/_index.scss +3 -3
- package/avatar/styles/_index.scss +2 -2
- package/back-top/styles/_index.scss +1 -1
- package/badge/styles/_index.scss +11 -7
- package/badge/styles/_tag.scss +4 -4
- package/bar-chart/styles/_index.scss +5 -6
- package/border-glow/styles/_index.scss +3 -3
- package/breadcrumbs/styles/_index.scss +7 -5
- package/burger/styles/_index.scss +3 -3
- package/button/styles/_index.scss +34 -24
- package/calendar/styles/_index.scss +15 -13
- package/calendar-heatmap/styles/_index.scss +5 -3
- package/card/styles/_index.scss +5 -5
- package/carousel/styles/_index.scss +6 -6
- package/cascader/styles/_index.scss +69 -29
- package/checkbox/styles/_index.scss +41 -9
- package/collapse/styles/_index.scss +7 -7
- package/color-picker/styles/_index.scss +26 -21
- package/command-palette/styles/_index.scss +22 -19
- package/compare/styles/_index.scss +6 -6
- package/context-menu/styles/_index.scss +17 -7
- package/counter/styles/_index.scss +12 -1
- package/date-picker/styles/_index.scss +13 -14
- package/density/styles/_index.scss +3 -3
- package/descriptions/styles/_index.scss +9 -9
- package/dialog/styles/_index.scss +10 -9
- package/divider/styles/_index.scss +3 -3
- package/donut-chart/styles/_index.scss +3 -3
- package/drag-drop/styles/_index.scss +11 -6
- package/drawer/styles/_index.scss +26 -17
- package/dropdown/styles/_index.scss +7 -7
- package/empty/styles/_index.scss +4 -4
- package/fesm2022/ngwr-action-sheet.mjs +81 -0
- package/fesm2022/ngwr-action-sheet.mjs.map +1 -0
- package/fesm2022/ngwr-affix.mjs +3 -3
- package/fesm2022/ngwr-alert.mjs +23 -11
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- package/fesm2022/ngwr-anchor.mjs +4 -4
- package/fesm2022/ngwr-anchor.mjs.map +1 -1
- package/fesm2022/ngwr-aurora.mjs +5 -4
- package/fesm2022/ngwr-aurora.mjs.map +1 -1
- package/fesm2022/ngwr-avatar.mjs +4 -4
- package/fesm2022/ngwr-avatar.mjs.map +1 -1
- package/fesm2022/ngwr-back-top.mjs +4 -4
- package/fesm2022/ngwr-back-top.mjs.map +1 -1
- package/fesm2022/ngwr-badge.mjs +8 -8
- package/fesm2022/ngwr-badge.mjs.map +1 -1
- package/fesm2022/ngwr-bar-chart.mjs +4 -4
- package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
- package/fesm2022/ngwr-blur-text.mjs +3 -3
- package/fesm2022/ngwr-border-glow.mjs +4 -4
- package/fesm2022/ngwr-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngwr-burger.mjs +4 -4
- package/fesm2022/ngwr-burger.mjs.map +1 -1
- package/fesm2022/ngwr-button.mjs +8 -8
- package/fesm2022/ngwr-button.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-heatmap.mjs +4 -4
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-calendar.mjs +5 -5
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +11 -11
- package/fesm2022/ngwr-card.mjs.map +1 -1
- package/fesm2022/ngwr-carousel.mjs +7 -7
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +58 -89
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +80 -129
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +5 -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 +28 -7
- package/fesm2022/ngwr-clipboard.mjs.map +1 -1
- package/fesm2022/ngwr-collapse.mjs +12 -12
- package/fesm2022/ngwr-collapse.mjs.map +1 -1
- package/fesm2022/ngwr-color-picker.mjs +58 -66
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +4 -4
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-compare.mjs +4 -4
- package/fesm2022/ngwr-compare.mjs.map +1 -1
- package/fesm2022/ngwr-confetti.mjs +3 -3
- package/fesm2022/ngwr-context-menu.mjs +98 -75
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-cookie.mjs +19 -6
- package/fesm2022/ngwr-cookie.mjs.map +1 -1
- package/fesm2022/ngwr-counter.mjs +32 -14
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
- package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
- package/fesm2022/ngwr-date-adapter.mjs +10 -5
- package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker.mjs +142 -123
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/ngwr-decrypt-text.mjs +3 -3
- package/fesm2022/ngwr-density.mjs +15 -15
- package/fesm2022/ngwr-density.mjs.map +1 -1
- package/fesm2022/ngwr-descriptions.mjs +7 -7
- package/fesm2022/ngwr-descriptions.mjs.map +1 -1
- package/fesm2022/ngwr-dialog.mjs +16 -16
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +22 -88
- package/fesm2022/ngwr-directives.mjs.map +1 -1
- package/fesm2022/ngwr-divider.mjs +4 -4
- package/fesm2022/ngwr-divider.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart.mjs +11 -5
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +10 -9
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer.mjs +19 -18
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +13 -12
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +4 -4
- package/fesm2022/ngwr-empty.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text.mjs +5 -4
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-file-upload.mjs +58 -60
- package/fesm2022/ngwr-file-upload.mjs.map +1 -1
- package/fesm2022/ngwr-form.mjs +11 -11
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +10 -8
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +4 -4
- package/fesm2022/ngwr-gauge.mjs.map +1 -1
- package/fesm2022/ngwr-glitch-text.mjs +15 -7
- 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 +7 -7
- package/fesm2022/ngwr-hotkey.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +10 -10
- package/fesm2022/ngwr-i18n.mjs.map +1 -1
- package/fesm2022/ngwr-icon-adapters-lucide.mjs +6 -7
- package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
- package/fesm2022/ngwr-icon.mjs +4 -4
- package/fesm2022/ngwr-icon.mjs.map +1 -1
- package/fesm2022/ngwr-image-cropper.mjs +6 -5
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
- package/fesm2022/ngwr-input-number.mjs +56 -73
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp.mjs +52 -52
- package/fesm2022/ngwr-input-otp.mjs.map +1 -1
- package/fesm2022/ngwr-input.mjs +27 -18
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-keyboard.mjs +4 -4
- package/fesm2022/ngwr-keyboard.mjs.map +1 -1
- package/fesm2022/ngwr-knob.mjs +47 -58
- package/fesm2022/ngwr-knob.mjs.map +1 -1
- package/fesm2022/ngwr-layout.mjs +16 -16
- package/fesm2022/ngwr-layout.mjs.map +1 -1
- package/fesm2022/ngwr-lightbox.mjs +20 -7
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +4 -4
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +8 -8
- 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-marquee.mjs +6 -5
- package/fesm2022/ngwr-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-media.mjs +4 -4
- package/fesm2022/ngwr-media.mjs.map +1 -1
- package/fesm2022/ngwr-mention.mjs +15 -9
- package/fesm2022/ngwr-mention.mjs.map +1 -1
- package/fesm2022/ngwr-meta.mjs +7 -7
- package/fesm2022/ngwr-meta.mjs.map +1 -1
- package/fesm2022/ngwr-meter-group.mjs +4 -4
- package/fesm2022/ngwr-meter-group.mjs.map +1 -1
- package/fesm2022/ngwr-overlay.mjs +9 -4
- package/fesm2022/ngwr-overlay.mjs.map +1 -1
- package/fesm2022/ngwr-page-header.mjs +4 -4
- package/fesm2022/ngwr-page-header.mjs.map +1 -1
- package/fesm2022/ngwr-pagination.mjs +6 -16
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +21 -21
- package/fesm2022/ngwr-platform.mjs +169 -5
- package/fesm2022/ngwr-platform.mjs.map +1 -1
- package/fesm2022/ngwr-popconfirm.mjs +7 -7
- package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
- package/fesm2022/ngwr-popover.mjs +7 -7
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-progress.mjs +4 -4
- package/fesm2022/ngwr-progress.mjs.map +1 -1
- package/fesm2022/ngwr-pull-to-refresh.mjs +172 -0
- package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -0
- package/fesm2022/ngwr-qr.mjs +5 -5
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio.mjs +49 -72
- package/fesm2022/ngwr-radio.mjs.map +1 -1
- package/fesm2022/ngwr-rating.mjs +41 -65
- package/fesm2022/ngwr-rating.mjs.map +1 -1
- package/fesm2022/ngwr-result.mjs +13 -13
- package/fesm2022/ngwr-result.mjs.map +1 -1
- package/fesm2022/ngwr-rotating-text.mjs +15 -4
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
- package/fesm2022/ngwr-scroll.mjs +4 -4
- package/fesm2022/ngwr-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-segmented.mjs +10 -22
- package/fesm2022/ngwr-segmented.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +303 -86
- 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 +4 -4
- package/fesm2022/ngwr-sidebar.mjs.map +1 -1
- package/fesm2022/ngwr-skeleton.mjs +4 -4
- package/fesm2022/ngwr-skeleton.mjs.map +1 -1
- package/fesm2022/ngwr-slider.mjs +79 -73
- package/fesm2022/ngwr-slider.mjs.map +1 -1
- package/fesm2022/ngwr-sparkline.mjs +4 -4
- package/fesm2022/ngwr-sparkline.mjs.map +1 -1
- package/fesm2022/ngwr-speed-dial.mjs +13 -5
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
- package/fesm2022/ngwr-spinner.mjs +4 -4
- 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 +3 -3
- package/fesm2022/ngwr-splitter.mjs +4 -4
- package/fesm2022/ngwr-splitter.mjs.map +1 -1
- package/fesm2022/ngwr-spotlight-card.mjs +8 -8
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-squircle.mjs +7 -7
- package/fesm2022/ngwr-squircle.mjs.map +1 -1
- package/fesm2022/ngwr-star-border.mjs +4 -4
- package/fesm2022/ngwr-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-statistic.mjs +138 -14
- package/fesm2022/ngwr-statistic.mjs.map +1 -1
- package/fesm2022/ngwr-stepper.mjs +8 -8
- package/fesm2022/ngwr-stepper.mjs.map +1 -1
- package/fesm2022/ngwr-storage.mjs +4 -4
- package/fesm2022/ngwr-storage.mjs.map +1 -1
- package/fesm2022/ngwr-switch.mjs +22 -58
- package/fesm2022/ngwr-switch.mjs.map +1 -1
- package/fesm2022/ngwr-table.mjs +824 -20
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +11 -8
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea.mjs +94 -67
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-theme.mjs +20 -5
- package/fesm2022/ngwr-theme.mjs.map +1 -1
- package/fesm2022/ngwr-tilt-card.mjs +27 -11
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-timeline.mjs +7 -7
- package/fesm2022/ngwr-timeline.mjs.map +1 -1
- package/fesm2022/ngwr-toast.mjs +47 -25
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +4 -4
- package/fesm2022/ngwr-toolbar.mjs.map +1 -1
- package/fesm2022/ngwr-tree.mjs +280 -84
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter.mjs +10 -5
- package/fesm2022/ngwr-typewriter.mjs.map +1 -1
- package/fesm2022/ngwr-typography.mjs +4 -4
- package/fesm2022/ngwr-typography.mjs.map +1 -1
- package/fesm2022/ngwr-validators.mjs +42 -4
- package/fesm2022/ngwr-validators.mjs.map +1 -1
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +9 -7
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-waves.mjs +6 -5
- package/fesm2022/ngwr-waves.mjs.map +1 -1
- package/fesm2022/ngwr-window.mjs +16 -15
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/file-upload/styles/_index.scss +14 -14
- package/form/styles/_index.scss +9 -9
- package/gauge/styles/_index.scss +2 -2
- package/glitch-text/styles/_index.scss +4 -7
- package/gradient-text/styles/_index.scss +1 -1
- package/image-cropper/styles/_index.scss +8 -7
- package/input/styles/_index.scss +35 -16
- package/input-number/styles/_index.scss +1 -1
- package/input-otp/styles/_index.scss +28 -10
- package/keyboard/styles/_index.scss +11 -9
- package/knob/styles/_index.scss +7 -3
- package/layout/styles/_index.scss +12 -12
- package/lightbox/styles/_index.scss +31 -10
- package/line-chart/styles/_index.scss +5 -5
- package/list/styles/_index.scss +6 -6
- package/llms-full.txt +45 -24
- package/llms.txt +48 -32
- package/marquee/styles/_index.scss +1 -1
- package/mention/styles/_index.scss +6 -6
- package/meter-group/styles/_index.scss +4 -4
- package/overlay/styles/_index.scss +9 -1
- package/package.json +21 -14
- package/page-header/styles/_index.scss +4 -4
- package/pagination/styles/_index.scss +6 -29
- package/popconfirm/styles/_index.scss +4 -4
- package/popover/styles/_index.scss +7 -7
- package/progress/styles/_index.scss +1 -1
- package/pull-to-refresh/styles/_index.scss +38 -0
- package/radio/styles/_index.scss +24 -9
- package/rating/styles/_index.scss +13 -2
- package/result/styles/_index.scss +3 -3
- package/schematics/migrations/v8/index.js +122 -0
- package/schematics/migrations/v9/index.js +71 -0
- package/schematics/migrations.json +10 -0
- package/schematics/ng-add/index.js +3 -3
- package/schematics/ng-add/schema.json +7 -7
- package/schematics/provider/schema.json +1 -1
- package/schematics/use/symbol-map.json +24 -2
- package/segmented/styles/_index.scss +35 -12
- package/select/styles/_index.scss +126 -43
- package/shiny-text/styles/_index.scss +4 -4
- package/sidebar/styles/_index.scss +15 -15
- package/slider/styles/_index.scss +7 -8
- package/speed-dial/styles/_index.scss +23 -6
- package/splash-cursor/styles/_index.scss +1 -0
- package/splitter/styles/_index.scss +11 -8
- package/spotlight-card/styles/_index.scss +11 -7
- package/star-border/styles/_index.scss +3 -3
- package/statistic/styles/_index.scss +51 -4
- package/stepper/styles/_index.scss +10 -10
- package/styles/_animations.scss +0 -23
- package/styles/_typography.scss +4 -1
- package/styles.scss +2 -1
- package/switch/styles/_index.scss +29 -10
- package/table/styles/_index.scss +456 -26
- package/tabs/styles/_index.scss +25 -6
- package/textarea/styles/_index.scss +65 -10
- package/theme/styles/_colors.scss +82 -1
- package/theme/styles/_dark.scss +22 -8
- package/theme/styles/_focus.scss +5 -0
- package/theme/styles/_variables.scss +24 -0
- package/tilt-card/styles/_index.scss +4 -4
- package/timeline/styles/_index.scss +18 -8
- package/toast/styles/_index.scss +24 -16
- package/toolbar/styles/_index.scss +5 -5
- package/tree/styles/_index.scss +63 -32
- package/types/ngwr-action-sheet.d.ts +75 -0
- package/types/ngwr-alert.d.ts +17 -7
- package/types/ngwr-anchor.d.ts +1 -1
- package/types/ngwr-avatar.d.ts +1 -1
- package/types/ngwr-back-top.d.ts +1 -1
- package/types/ngwr-badge.d.ts +4 -4
- package/types/ngwr-bar-chart.d.ts +1 -1
- package/types/ngwr-breadcrumbs.d.ts +1 -1
- package/types/ngwr-burger.d.ts +1 -1
- package/types/ngwr-button.d.ts +3 -3
- package/types/ngwr-calendar-heatmap.d.ts +1 -1
- package/types/ngwr-calendar.d.ts +1 -1
- package/types/ngwr-card.d.ts +1 -1
- package/types/ngwr-carousel.d.ts +1 -1
- package/types/ngwr-cascader.d.ts +31 -17
- package/types/ngwr-checkbox.d.ts +67 -44
- package/types/ngwr-click-spark.d.ts +13 -1
- package/types/ngwr-clipboard.d.ts +13 -2
- package/types/ngwr-collapse.d.ts +3 -3
- package/types/ngwr-color-picker.d.ts +24 -19
- package/types/ngwr-command-palette.d.ts +1 -1
- package/types/ngwr-compare.d.ts +1 -1
- package/types/ngwr-context-menu.d.ts +42 -23
- package/types/ngwr-cookie.d.ts +7 -1
- package/types/ngwr-counter.d.ts +9 -2
- package/types/ngwr-date-picker.d.ts +39 -23
- package/types/ngwr-density.d.ts +8 -8
- package/types/ngwr-descriptions.d.ts +1 -1
- package/types/ngwr-dialog.d.ts +1 -1
- package/types/ngwr-directives.d.ts +18 -49
- package/types/ngwr-divider.d.ts +2 -2
- package/types/ngwr-donut-chart.d.ts +1 -1
- package/types/ngwr-drag-drop.d.ts +1 -1
- package/types/ngwr-drawer.d.ts +1 -1
- package/types/ngwr-dropdown.d.ts +1 -1
- package/types/ngwr-empty.d.ts +1 -1
- package/types/ngwr-file-upload.d.ts +28 -17
- package/types/ngwr-form.d.ts +2 -2
- package/types/ngwr-fuzzy-text.d.ts +1 -1
- package/types/ngwr-gauge.d.ts +1 -1
- package/types/ngwr-glitch-text.d.ts +9 -3
- package/types/ngwr-hotkey.d.ts +1 -1
- package/types/ngwr-i18n.d.ts +1 -1
- package/types/ngwr-icon-adapters-lucide.d.ts +5 -3
- package/types/ngwr-icon.d.ts +1 -1
- package/types/ngwr-image-cropper.d.ts +1 -1
- package/types/ngwr-input-number.d.ts +25 -19
- package/types/ngwr-input-otp.d.ts +28 -18
- package/types/ngwr-input.d.ts +29 -15
- package/types/ngwr-keyboard.d.ts +1 -1
- package/types/ngwr-knob.d.ts +24 -19
- package/types/ngwr-layout.d.ts +1 -1
- package/types/ngwr-lightbox.d.ts +10 -2
- package/types/ngwr-line-chart.d.ts +1 -1
- package/types/ngwr-list.d.ts +1 -1
- package/types/ngwr-loading-bar.d.ts +1 -1
- package/types/ngwr-marquee.d.ts +1 -1
- package/types/ngwr-media.d.ts +1 -1
- package/types/ngwr-mention.d.ts +1 -1
- package/types/ngwr-meta.d.ts +1 -1
- package/types/ngwr-meter-group.d.ts +1 -1
- package/types/ngwr-page-header.d.ts +1 -1
- package/types/ngwr-pagination.d.ts +4 -10
- package/types/ngwr-platform.d.ts +93 -2
- package/types/ngwr-popconfirm.d.ts +3 -3
- package/types/ngwr-progress.d.ts +2 -2
- package/types/ngwr-pull-to-refresh.d.ts +69 -0
- package/types/ngwr-qr.d.ts +1 -1
- package/types/ngwr-radio.d.ts +39 -25
- package/types/ngwr-rating.d.ts +32 -20
- package/types/ngwr-result.d.ts +1 -1
- package/types/ngwr-rotating-text.d.ts +1 -0
- package/types/ngwr-scroll.d.ts +1 -1
- package/types/ngwr-segmented.d.ts +6 -3
- package/types/ngwr-select.d.ts +98 -27
- package/types/ngwr-sidebar.d.ts +1 -1
- package/types/ngwr-skeleton.d.ts +2 -2
- package/types/ngwr-slider.d.ts +35 -21
- package/types/ngwr-sparkline.d.ts +1 -1
- package/types/ngwr-speed-dial.d.ts +8 -2
- package/types/ngwr-spinner.d.ts +1 -1
- package/types/ngwr-splitter.d.ts +1 -1
- package/types/ngwr-spotlight-card.d.ts +1 -1
- package/types/ngwr-squircle.d.ts +1 -1
- package/types/ngwr-statistic.d.ts +75 -6
- package/types/ngwr-stepper.d.ts +2 -2
- package/types/ngwr-storage.d.ts +1 -1
- package/types/ngwr-switch.d.ts +24 -16
- package/types/ngwr-table.d.ts +417 -6
- package/types/ngwr-tabs.d.ts +1 -1
- package/types/ngwr-textarea.d.ts +45 -20
- package/types/ngwr-theme.d.ts +7 -2
- package/types/ngwr-tilt-card.d.ts +3 -0
- package/types/ngwr-timeline.d.ts +1 -1
- package/types/ngwr-toast.d.ts +8 -2
- package/types/ngwr-toolbar.d.ts +1 -1
- package/types/ngwr-tree.d.ts +100 -19
- package/types/ngwr-typography.d.ts +1 -1
- package/types/ngwr-validators.d.ts +4 -2
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-virtual-scroll.d.ts +1 -1
- package/types/ngwr-window.d.ts +1 -1
- package/typography/styles/_index.scss +11 -11
- package/virtual-scroll/styles/_index.scss +1 -1
- package/waves/styles/_index.scss +1 -1
- package/window/styles/_index.scss +26 -26
- package/fesm2022/ngwr-scramble-text.mjs +0 -165
- package/fesm2022/ngwr-scramble-text.mjs.map +0 -1
- package/scramble-text/scramble-text.scss +0 -1
- package/scramble-text/styles/_index.scss +0 -8
- package/types/ngwr-scramble-text.d.ts +0 -49
package/types/ngwr-switch.d.ts
CHANGED
|
@@ -1,39 +1,47 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FormCheckboxControl } from '@angular/forms/signals';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Boolean toggle with an iOS-style slider.
|
|
5
|
+
* Boolean toggle with an iOS-style slider.
|
|
6
|
+
*
|
|
7
|
+
* A signal-forms native control: it implements `FormCheckboxControl`, so
|
|
8
|
+
* `[formField]` binds straight to its `checked` model — no
|
|
9
|
+
* `ControlValueAccessor` in between. `[(checked)]` works standalone.
|
|
6
10
|
*
|
|
7
11
|
* @example
|
|
8
12
|
* ```html
|
|
9
|
-
*
|
|
13
|
+
* <!-- signal forms -->
|
|
14
|
+
* <wr-switch [formField]="form.notifications">Notifications</wr-switch>
|
|
15
|
+
*
|
|
16
|
+
* <!-- standalone two-way binding -->
|
|
17
|
+
* <wr-switch [(checked)]="enabled">Notifications</wr-switch>
|
|
10
18
|
* ```
|
|
11
19
|
*
|
|
12
|
-
* @see https://ngwr.dev/components/switch
|
|
20
|
+
* @see https://ngwr.dev/reference/components/switch
|
|
13
21
|
*/
|
|
14
|
-
|
|
22
|
+
type WrSwitchSize = 'sm' | 'md' | 'lg';
|
|
23
|
+
declare class WrSwitch implements FormCheckboxControl {
|
|
15
24
|
/** Stable id used to associate the native input with its label. */
|
|
16
25
|
readonly id: _angular_core.InputSignal<string>;
|
|
17
26
|
/**
|
|
18
|
-
* Disable the switch.
|
|
27
|
+
* Disable the switch. Bound automatically from the field's disabled state
|
|
28
|
+
* when used with `[formField]`.
|
|
19
29
|
*
|
|
20
30
|
* @default false
|
|
21
31
|
*/
|
|
22
32
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
|
|
34
|
+
readonly size: _angular_core.InputSignal<WrSwitchSize>;
|
|
35
|
+
/** On / off state. Bound by `[formField]`, or two-way via `[(checked)]`. */
|
|
36
|
+
readonly checked: _angular_core.ModelSignal<boolean>;
|
|
37
|
+
/** Emitted on blur so a bound field can mark itself touched. */
|
|
38
|
+
readonly touch: _angular_core.OutputEmitterRef<void>;
|
|
26
39
|
protected readonly classes: _angular_core.Signal<string>;
|
|
27
|
-
private onChange;
|
|
28
|
-
private onTouched;
|
|
29
|
-
writeValue(value: boolean | null): void;
|
|
30
|
-
registerOnChange(fn: (value: boolean) => void): void;
|
|
31
|
-
registerOnTouched(fn: () => void): void;
|
|
32
|
-
setDisabledState(isDisabled: boolean): void;
|
|
33
40
|
protected onInputChange(event: Event): void;
|
|
34
41
|
protected onInputBlur(): void;
|
|
35
42
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSwitch, never>;
|
|
36
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSwitch, "wr-switch", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
43
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSwitch, "wr-switch", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touch": "touch"; }, never, ["*"], true, never>;
|
|
37
44
|
}
|
|
38
45
|
|
|
39
46
|
export { WrSwitch };
|
|
47
|
+
export type { WrSwitchSize };
|
package/types/ngwr-table.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @license
|
|
@@ -67,6 +68,11 @@ interface WrTableFilterChange {
|
|
|
67
68
|
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
68
69
|
*/
|
|
69
70
|
|
|
71
|
+
/**
|
|
72
|
+
* A column's footer aggregate — a built-in over its numeric values, or a
|
|
73
|
+
* function given all rows that returns the value to display.
|
|
74
|
+
*/
|
|
75
|
+
type WrTableSummary = 'sum' | 'avg' | 'count' | 'min' | 'max' | ((rows: readonly Record<string, unknown>[]) => unknown);
|
|
70
76
|
/** A single column definition. */
|
|
71
77
|
interface WrTableColumn {
|
|
72
78
|
/** Heading shown in the column's header. */
|
|
@@ -75,6 +81,22 @@ interface WrTableColumn {
|
|
|
75
81
|
readonly sortable?: boolean;
|
|
76
82
|
/** When non-empty, shows a filter dropdown in the header. */
|
|
77
83
|
readonly filterItems?: readonly WrTableFilterItem[];
|
|
84
|
+
/**
|
|
85
|
+
* Freeze the column against the left or right edge — it stays visible while
|
|
86
|
+
* the rest of the table scrolls horizontally. Pin the leftmost columns
|
|
87
|
+
* `'left'` and the rightmost `'right'`; several per side stack in order.
|
|
88
|
+
*/
|
|
89
|
+
readonly pin?: 'left' | 'right';
|
|
90
|
+
/** Show a drag handle on the header edge to resize the column. */
|
|
91
|
+
readonly resizable?: boolean;
|
|
92
|
+
/** Initial column width in px. Overridden once the user drags to resize. */
|
|
93
|
+
readonly width?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Footer aggregate for this column — renders a summary row when any column
|
|
96
|
+
* sets it. Computed over the current `items`, so in server-side mode
|
|
97
|
+
* (`totalItems` set) it reflects the current page, not the whole dataset.
|
|
98
|
+
*/
|
|
99
|
+
readonly summary?: WrTableSummary;
|
|
78
100
|
}
|
|
79
101
|
/**
|
|
80
102
|
* Column map — keys are the row's property names; values are column defs.
|
|
@@ -109,6 +131,87 @@ interface WrTableCellContext {
|
|
|
109
131
|
readonly column: WrTableColumn;
|
|
110
132
|
}
|
|
111
133
|
|
|
134
|
+
/**
|
|
135
|
+
* @license
|
|
136
|
+
*
|
|
137
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
138
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
139
|
+
*/
|
|
140
|
+
/** Options for `WrTable.toCsv()` / `WrTable.exportCsv()`. */
|
|
141
|
+
interface WrTableCsvOptions {
|
|
142
|
+
/** Download filename. @default 'table.csv' */
|
|
143
|
+
readonly filename?: string;
|
|
144
|
+
/** Export only the selected rows (needs `rowSelection`). @default false */
|
|
145
|
+
readonly selectedOnly?: boolean;
|
|
146
|
+
/** Field delimiter — use `';'` for locales where Excel expects it. @default ',' */
|
|
147
|
+
readonly delimiter?: string;
|
|
148
|
+
/**
|
|
149
|
+
* Prefix string values starting with `= + - @` with a quote so spreadsheets
|
|
150
|
+
* treat them as text instead of formulas. @default true
|
|
151
|
+
*/
|
|
152
|
+
readonly escapeFormulas?: boolean;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* @license
|
|
157
|
+
*
|
|
158
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
159
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
160
|
+
*/
|
|
161
|
+
/**
|
|
162
|
+
* Context passed to a `[wrTableExpand]` detail template.
|
|
163
|
+
*/
|
|
164
|
+
interface WrTableExpandContext {
|
|
165
|
+
/** The expanded row. Use as `let-row`. */
|
|
166
|
+
readonly $implicit: Record<string, unknown>;
|
|
167
|
+
/** The expanded row (alias of `$implicit`). */
|
|
168
|
+
readonly row: Record<string, unknown>;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* @license
|
|
173
|
+
*
|
|
174
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
175
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
176
|
+
*/
|
|
177
|
+
/**
|
|
178
|
+
* Context of one rendered row group — passed to a `[wrTableGroupHeader]`
|
|
179
|
+
* template and used to build the built-in band. One is produced per group on
|
|
180
|
+
* the current page (grouping runs after pagination).
|
|
181
|
+
*/
|
|
182
|
+
interface WrTableGroupContext {
|
|
183
|
+
/** The group value returned by `groupBy` (alias of `value`). Use as `let-group`. */
|
|
184
|
+
readonly $implicit: unknown;
|
|
185
|
+
/** The group value. Also the identity stored in `collapsedGroups`. */
|
|
186
|
+
readonly value: unknown;
|
|
187
|
+
/** Default label — `String(value)`, or `'—'` for `null` / `undefined` / `''`. */
|
|
188
|
+
readonly label: string;
|
|
189
|
+
/** The group's rows on the current page, in page order. */
|
|
190
|
+
readonly rows: readonly Record<string, unknown>[];
|
|
191
|
+
/** `rows.length` — the group's row count on the current page. */
|
|
192
|
+
readonly count: number;
|
|
193
|
+
/** Whether the group is currently collapsed. */
|
|
194
|
+
readonly collapsed: boolean;
|
|
195
|
+
/** 0-based index of the group on the current page. */
|
|
196
|
+
readonly index: number;
|
|
197
|
+
/** Collapse / expand this group — wire it to a custom header's own control. */
|
|
198
|
+
readonly toggle: () => void;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/** One `<tbody>` row descriptor. Not exported — same precedent as the tree's flat node. */
|
|
202
|
+
type RenderRow = {
|
|
203
|
+
readonly kind: 'group';
|
|
204
|
+
readonly id: string;
|
|
205
|
+
readonly group: WrTableGroupContext;
|
|
206
|
+
} | {
|
|
207
|
+
readonly kind: 'row';
|
|
208
|
+
readonly id: string;
|
|
209
|
+
readonly row: Record<string, unknown>;
|
|
210
|
+
} | {
|
|
211
|
+
readonly kind: 'group-foot';
|
|
212
|
+
readonly id: string;
|
|
213
|
+
readonly summaries: ReadonlyMap<string, unknown>;
|
|
214
|
+
};
|
|
112
215
|
/**
|
|
113
216
|
* Data table with sortable / filterable headers and custom cell templates.
|
|
114
217
|
*
|
|
@@ -130,7 +233,7 @@ interface WrTableCellContext {
|
|
|
130
233
|
* </wr-table>
|
|
131
234
|
* ```
|
|
132
235
|
*
|
|
133
|
-
* @see https://ngwr.dev/components/table
|
|
236
|
+
* @see https://ngwr.dev/reference/components/table
|
|
134
237
|
*/
|
|
135
238
|
declare class WrTable {
|
|
136
239
|
/** Column definitions, keyed by row property name. */
|
|
@@ -145,6 +248,62 @@ declare class WrTable {
|
|
|
145
248
|
* cell shows its column title as a label. @default false
|
|
146
249
|
*/
|
|
147
250
|
readonly responsive: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
251
|
+
/** Enable drag-to-reorder on the column headers. @default false */
|
|
252
|
+
readonly reorderable: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
253
|
+
/**
|
|
254
|
+
* Two-way bindable column order — an array of column keys. Reflects and drives
|
|
255
|
+
* the header order: the table falls back to declaration order for any key not
|
|
256
|
+
* listed, and updates this on drag. Bind it to persist a user's arrangement.
|
|
257
|
+
*/
|
|
258
|
+
readonly columnOrder: _angular_core.ModelSignal<readonly string[]>;
|
|
259
|
+
/**
|
|
260
|
+
* Row selection with a leading checkbox column — `'multiple'` adds a
|
|
261
|
+
* select-all header; `'single'` keeps one row selected. @default null (off)
|
|
262
|
+
*/
|
|
263
|
+
readonly rowSelection: _angular_core.InputSignal<"single" | "multiple" | null>;
|
|
264
|
+
/**
|
|
265
|
+
* How to identify a row for selection — a property name or a function.
|
|
266
|
+
* Unset uses the row object itself (fine for a stable row array).
|
|
267
|
+
*/
|
|
268
|
+
readonly rowKey: _angular_core.InputSignal<string | ((row: Record<string, unknown>) => unknown) | null>;
|
|
269
|
+
/** Two-way bindable selected row keys. */
|
|
270
|
+
readonly selection: _angular_core.ModelSignal<readonly unknown[]>;
|
|
271
|
+
/** Two-way bindable expanded row keys (needs a `[wrTableExpand]` template). */
|
|
272
|
+
readonly expanded: _angular_core.ModelSignal<readonly unknown[]>;
|
|
273
|
+
/**
|
|
274
|
+
* Group rows under collapsible band headers — a row property name, or a
|
|
275
|
+
* function returning the group value. `null` (default) renders the table
|
|
276
|
+
* exactly as before.
|
|
277
|
+
*
|
|
278
|
+
* Grouping runs AFTER pagination: it buckets the rows on the current page in
|
|
279
|
+
* first-appearance order (it never re-sorts your data — same contract as
|
|
280
|
+
* `[(sort)]`), so a group straddling a page boundary shows a band on both
|
|
281
|
+
* pages, and per-group counts / subtotals are page-scoped. Sort `items` by the
|
|
282
|
+
* same key upstream to keep groups whole, or pair with `pageSize = 0`.
|
|
283
|
+
*
|
|
284
|
+
* Group values are compared by identity (`Map`/`Set`, SameValueZero) — return
|
|
285
|
+
* a primitive, exactly as for `rowKey`. Objects / `Date`s bucket by reference.
|
|
286
|
+
*
|
|
287
|
+
* @default null
|
|
288
|
+
*/
|
|
289
|
+
readonly groupBy: _angular_core.InputSignal<string | ((row: Record<string, unknown>) => unknown) | null>;
|
|
290
|
+
/**
|
|
291
|
+
* Two-way bindable collapsed group values (the values `groupBy` returns).
|
|
292
|
+
* Keyed by value, so a collapsed group stays collapsed across page changes and
|
|
293
|
+
* re-sorts. Empty (the default) shows every group expanded.
|
|
294
|
+
*/
|
|
295
|
+
readonly collapsedGroups: _angular_core.ModelSignal<readonly unknown[]>;
|
|
296
|
+
/**
|
|
297
|
+
* Render an aggregate row under each group using the same `column.summary`
|
|
298
|
+
* definitions as the grand footer, computed over that group's rows on the
|
|
299
|
+
* current page. No-op unless at least one column defines a `summary`. The grand
|
|
300
|
+
* `<tfoot>` is unaffected and still aggregates the whole client dataset — with
|
|
301
|
+
* client-side pagination the two describe different scopes, so pair grouping
|
|
302
|
+
* with `pageSize = 0` when you need them to reconcile. @default false
|
|
303
|
+
*/
|
|
304
|
+
readonly groupSummary: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
305
|
+
/** Show the page-scoped row-count badge in each group band. @default true */
|
|
306
|
+
readonly showGroupCount: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
148
307
|
/** Two-way bindable sort array. Order in array = application order. */
|
|
149
308
|
readonly sort: _angular_core.ModelSignal<readonly WrTableSortState[]>;
|
|
150
309
|
/** Fires whenever a column's filter selection changes. */
|
|
@@ -162,6 +321,42 @@ declare class WrTable {
|
|
|
162
321
|
* page's slice yourself and react to `(page)` changes).
|
|
163
322
|
*/
|
|
164
323
|
readonly totalItems: _angular_core.InputSignal<number | null>;
|
|
324
|
+
/**
|
|
325
|
+
* Window the `<tbody>` so a table of thousands of rows keeps only ~one
|
|
326
|
+
* viewport of `<tr>`s in the DOM. Opt-in and OFF by default — a table
|
|
327
|
+
* without it renders byte-identically to today.
|
|
328
|
+
*
|
|
329
|
+
* Engages ONLY on the flat, fixed-height tier: it silently falls back to the
|
|
330
|
+
* full render whenever a variable-height layout is active — `groupBy`, a
|
|
331
|
+
* `[wrTableExpand]` template, `responsive` card mode, or a visible pager
|
|
332
|
+
* (`pageSize > 0` / `totalItems`). While on, it forces fixed layout for
|
|
333
|
+
* stable column widths and assumes a uniform row height (see `rowHeight`).
|
|
334
|
+
*
|
|
335
|
+
* Intended as static config. Give columns an explicit `width` so the frozen
|
|
336
|
+
* layout is exact (a virtualized table always renders fixed-layout); toggling
|
|
337
|
+
* it off at runtime leaves the frozen widths in place as column minimums.
|
|
338
|
+
* @default false
|
|
339
|
+
*/
|
|
340
|
+
readonly virtualScroll: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
341
|
+
/**
|
|
342
|
+
* Uniform body-row height in px used to map scroll offset to row index. `0`
|
|
343
|
+
* (default) measures the first rendered row once — matching the density at
|
|
344
|
+
* that point — and reuses it; pass an explicit value to remove the
|
|
345
|
+
* post-hydration measure and make SSR pixel-exact (recommended if the density
|
|
346
|
+
* can change at runtime). Read only when `virtualScroll` is on. Keep
|
|
347
|
+
* virtualized cells single-line and no taller than this — a taller custom
|
|
348
|
+
* `[wrTableCell]` template drifts the window. @default 0
|
|
349
|
+
*/
|
|
350
|
+
readonly rowHeight: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
351
|
+
/**
|
|
352
|
+
* Height of the scroll viewport when `virtualScroll` is on — a number (px) or
|
|
353
|
+
* any CSS length (`'70vh'`). Applied as `max-height` on `.wr-table__scroll`
|
|
354
|
+
* (a short table shrinks to fit; a long one caps and scrolls). A numeric px
|
|
355
|
+
* value lets the server prerender the exact first window. @default 480
|
|
356
|
+
*/
|
|
357
|
+
readonly viewportHeight: _angular_core.InputSignal<string | number>;
|
|
358
|
+
/** Extra rows kept rendered above and below the viewport as scroll headroom. @default 6 */
|
|
359
|
+
readonly overscan: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
165
360
|
/** Total row count derived for the pager (server-mode wins). */
|
|
166
361
|
protected readonly resolvedTotal: _angular_core.Signal<number>;
|
|
167
362
|
/** Items visible on the current page (client mode slices; server mode passes through). */
|
|
@@ -171,8 +366,168 @@ declare class WrTable {
|
|
|
171
366
|
private readonly cellTemplates;
|
|
172
367
|
/** Map of column key → custom template (if provided via `[wrTableCell]`). */
|
|
173
368
|
protected readonly cellMap: _angular_core.Signal<Map<string, TemplateRef<WrTableCellContext>>>;
|
|
174
|
-
|
|
175
|
-
|
|
369
|
+
private readonly platformId;
|
|
370
|
+
private readonly headerCells;
|
|
371
|
+
/**
|
|
372
|
+
* Columns in render order — declaration order, overridden by `columnOrder`
|
|
373
|
+
* once reordered; new keys append, removed keys drop out. Pin and resize
|
|
374
|
+
* measurement key off this, so it must equal the rendered order.
|
|
375
|
+
*/
|
|
376
|
+
protected readonly displayColumns: _angular_core.Signal<readonly {
|
|
377
|
+
key: string;
|
|
378
|
+
column: WrTableColumn;
|
|
379
|
+
}[]>;
|
|
380
|
+
/**
|
|
381
|
+
* Sticky offsets for pinned columns, measured from the header cells so any
|
|
382
|
+
* number of columns can stack per side. Also names the inner-edge column on
|
|
383
|
+
* each side (where the separating shadow sits). Empty until measured in the
|
|
384
|
+
* browser; on the server the pins stay at offset 0, corrected on hydration.
|
|
385
|
+
*/
|
|
386
|
+
private readonly pins;
|
|
387
|
+
constructor();
|
|
388
|
+
private measurePins;
|
|
389
|
+
/** Sticky `left` offset (px) for a left-pinned column, else `null`. */
|
|
390
|
+
protected leftPin(key: string): number | null;
|
|
391
|
+
/** Sticky `right` offset (px) for a right-pinned column, else `null`. */
|
|
392
|
+
protected rightPin(key: string): number | null;
|
|
393
|
+
/** Whether `key` is the inner-edge pinned column on `side` (carries the shadow). */
|
|
394
|
+
protected isPinEdge(key: string, side: 'left' | 'right'): boolean;
|
|
395
|
+
private readonly resizeWidths;
|
|
396
|
+
private resizeKey;
|
|
397
|
+
private resizeStartX;
|
|
398
|
+
private resizeStartWidth;
|
|
399
|
+
private lastColumnKeys;
|
|
400
|
+
/**
|
|
401
|
+
* Once a column has been dragged, the table switches to fixed layout so the
|
|
402
|
+
* `<col>` widths are honoured exactly (auto layout treats them as minimums).
|
|
403
|
+
*/
|
|
404
|
+
protected readonly fixedLayout: _angular_core.WritableSignal<boolean>;
|
|
405
|
+
/** Current width (px) for a column, or `null` for auto — a live resize wins. */
|
|
406
|
+
protected colWidth(key: string): number | null;
|
|
407
|
+
/** Freeze every column at its current rendered header width (skips frozen keys). */
|
|
408
|
+
private freezeColumnWidths;
|
|
409
|
+
protected onResizeStart(event: PointerEvent, key: string, th: HTMLElement): void;
|
|
410
|
+
protected onResizeMove(event: PointerEvent): void;
|
|
411
|
+
protected onResizeEnd(event: PointerEvent): void;
|
|
412
|
+
/** md-density fallback row height (px), used before measuring / on the server. */
|
|
413
|
+
private static readonly FALLBACK_ROW_PX;
|
|
414
|
+
private static readonly FALLBACK_VIEWPORT_PX;
|
|
415
|
+
/** The `.wr-table__scroll` div (always in the template; only read when virtual). */
|
|
416
|
+
private readonly scrollEl;
|
|
417
|
+
/** Live vertical scroll offset (px); 0 on the server / before first scroll. */
|
|
418
|
+
private readonly scrollTop;
|
|
419
|
+
/** Measured viewport clientHeight (px); 0 until the browser observer fires. */
|
|
420
|
+
private readonly viewportPx;
|
|
421
|
+
/** Measured first-row height (px) when `rowHeight` is auto; 0 until measured. */
|
|
422
|
+
private readonly measuredRowPx;
|
|
423
|
+
/** Fixed layout forced ON by virtualization (distinct from the resize latch). */
|
|
424
|
+
private readonly virtualFixed;
|
|
425
|
+
/** `virtualScroll` requested AND the data shape is safe to window. SSR-deterministic. */
|
|
426
|
+
protected readonly virtualized: _angular_core.Signal<boolean>;
|
|
427
|
+
/** Effective uniform row height (px). */
|
|
428
|
+
protected readonly effRowH: _angular_core.Signal<number>;
|
|
429
|
+
/** Deterministic viewport px for SSR + first paint (numeric height, else fallback). */
|
|
430
|
+
private readonly fallbackViewportPx;
|
|
431
|
+
/** `viewportHeight` as a CSS length for the inline max-height. */
|
|
432
|
+
protected readonly resolvedViewportHeight: _angular_core.Signal<string>;
|
|
433
|
+
/** Rendered window [start,end) + spacer pads (px). Pure math, O(1) per scroll frame. */
|
|
434
|
+
protected readonly virtualWindow: _angular_core.Signal<{
|
|
435
|
+
start: number;
|
|
436
|
+
end: number;
|
|
437
|
+
padTop: number;
|
|
438
|
+
padBottom: number;
|
|
439
|
+
}>;
|
|
440
|
+
/** Flat index of the first rendered window row (for `aria-rowindex`). */
|
|
441
|
+
protected readonly windowStart: _angular_core.Signal<number>;
|
|
442
|
+
/** Rows placed in `<tbody>`. SAME array instance as `renderRows()` when off → byte-identical DOM. */
|
|
443
|
+
protected readonly windowRows: _angular_core.Signal<readonly RenderRow[]>;
|
|
444
|
+
/** Fixed layout is on when a resize drag latched it OR virtualization forces it. */
|
|
445
|
+
protected readonly fixedLayoutActive: _angular_core.Signal<boolean>;
|
|
446
|
+
/** Scroll a flat row index to the top of the virtual viewport. No-op on the server / when not virtual. */
|
|
447
|
+
scrollToRow(index: number, behavior?: ScrollBehavior): void;
|
|
448
|
+
protected onColumnDrop(event: CdkDragDrop<unknown>): void;
|
|
449
|
+
/**
|
|
450
|
+
* Keep pinned columns anchored — a drop can't land on a pinned column's slot,
|
|
451
|
+
* so a scrollable column can't be dragged into the frozen region at either edge.
|
|
452
|
+
*/
|
|
453
|
+
protected readonly sortPredicate: (index: number) => boolean;
|
|
454
|
+
private rowKeyOf;
|
|
455
|
+
/** Keys of the rows on the current page — the select-all scope. */
|
|
456
|
+
private readonly pageRowKeys;
|
|
457
|
+
protected isRowSelected(row: Record<string, unknown>): boolean;
|
|
458
|
+
/** Every current-page row selected (drives the header checkbox). */
|
|
459
|
+
protected readonly allSelected: _angular_core.Signal<boolean>;
|
|
460
|
+
/** Some but not all selected (drives the header indeterminate). */
|
|
461
|
+
protected readonly someSelected: _angular_core.Signal<boolean>;
|
|
462
|
+
protected toggleRow(row: Record<string, unknown>, checked: boolean): void;
|
|
463
|
+
/** Add (or remove) a set of row keys from the selection in one update. */
|
|
464
|
+
private applySelection;
|
|
465
|
+
protected toggleAll(checked: boolean): void;
|
|
466
|
+
private readonly expandTpl;
|
|
467
|
+
/** Whether the expand column shows (a `[wrTableExpand]` template was projected). */
|
|
468
|
+
protected readonly expandable: _angular_core.Signal<boolean>;
|
|
469
|
+
/** Leading control columns — selection + expand. */
|
|
470
|
+
protected readonly leadingCols: _angular_core.Signal<number>;
|
|
471
|
+
/** Total rendered columns (data + leading), for detail-row / empty colspans. */
|
|
472
|
+
protected readonly totalCols: _angular_core.Signal<number>;
|
|
473
|
+
protected expandTemplate(): TemplateRef<WrTableExpandContext> | undefined;
|
|
474
|
+
protected isExpanded(row: Record<string, unknown>): boolean;
|
|
475
|
+
protected toggleExpand(row: Record<string, unknown>): void;
|
|
476
|
+
protected expandContext(row: Record<string, unknown>): WrTableExpandContext;
|
|
477
|
+
/** Whether any column defines a `summary` (so the footer row shows). */
|
|
478
|
+
protected readonly hasSummary: _angular_core.Signal<boolean>;
|
|
479
|
+
/** Per-column footer values, computed over `items` (the current page in server mode). */
|
|
480
|
+
private readonly summaries;
|
|
481
|
+
protected summaryFor(key: string): unknown;
|
|
482
|
+
private readonly groupTpl;
|
|
483
|
+
protected groupTemplate(): TemplateRef<WrTableGroupContext> | undefined;
|
|
484
|
+
/**
|
|
485
|
+
* Rows on the current page bucketed by `groupBy`, in first-appearance order.
|
|
486
|
+
* Depends only on `visibleItems()` + `groupBy` (not on collapse / summary), so
|
|
487
|
+
* a collapse toggle never re-buckets. The ungrouped path returns one synthetic
|
|
488
|
+
* bucket holding the same array instance `visibleItems()` returned.
|
|
489
|
+
*/
|
|
490
|
+
private readonly groupBuckets;
|
|
491
|
+
/**
|
|
492
|
+
* The flat `<tbody>` render list. Ungrouped it is exactly today's rows in
|
|
493
|
+
* order (the rendered elements are unchanged; only the `@for` track identity
|
|
494
|
+
* moves to a stable id). Returns `[]` for both no-rows and loading — the
|
|
495
|
+
* template's `@if (visibleItems())` guard keeps the loading case from showing
|
|
496
|
+
* the empty row.
|
|
497
|
+
*/
|
|
498
|
+
protected readonly renderRows: _angular_core.Signal<readonly RenderRow[]>;
|
|
499
|
+
/** Default band label — the primitive as text, `'—'` for empty, JSON for objects. */
|
|
500
|
+
private groupLabelOf;
|
|
501
|
+
protected toggleGroupCollapse(value: unknown): void;
|
|
502
|
+
/** Collapse every group on the current page. No-op when `groupBy` is unset. */
|
|
503
|
+
collapseAllGroups(): void;
|
|
504
|
+
/** Expand every group. */
|
|
505
|
+
expandAllGroups(): void;
|
|
506
|
+
/** Memoized selection as a Set — O(1) membership for row + group + select-all checks. */
|
|
507
|
+
private readonly selectionSet;
|
|
508
|
+
protected groupChecked(rows: readonly Record<string, unknown>[]): boolean;
|
|
509
|
+
protected groupIndeterminate(rows: readonly Record<string, unknown>[]): boolean;
|
|
510
|
+
protected toggleGroupSelection(rows: readonly Record<string, unknown>[], checked: boolean): void;
|
|
511
|
+
private readonly doc;
|
|
512
|
+
/**
|
|
513
|
+
* Build the table as an RFC-4180 CSV string — a header row from the column
|
|
514
|
+
* titles, then one row per item in the current column order. Values are taken
|
|
515
|
+
* from the row data, not from custom `[wrTableCell]` templates.
|
|
516
|
+
*
|
|
517
|
+
* Covers the current `items`, so in server-side mode (`totalItems` set) it
|
|
518
|
+
* exports the current page, while client-side pagination exports every page.
|
|
519
|
+
*
|
|
520
|
+
* @example
|
|
521
|
+
* ```html
|
|
522
|
+
* <wr-table #table [columns]="columns" [items]="rows" />
|
|
523
|
+
* <wr-btn (click)="table.exportCsv({ filename: 'users.csv' })">Export</wr-btn>
|
|
524
|
+
* ```
|
|
525
|
+
*/
|
|
526
|
+
toCsv(options?: WrTableCsvOptions): string;
|
|
527
|
+
/** Download the table as a CSV file. No-op on the server. */
|
|
528
|
+
exportCsv(options?: WrTableCsvOptions): void;
|
|
529
|
+
private selectedRows;
|
|
530
|
+
private computeSummary;
|
|
176
531
|
protected directionFor(key: string): WrTableSortDirection;
|
|
177
532
|
protected cycleSort(key: string): void;
|
|
178
533
|
protected onFilter(key: string, items: readonly WrTableFilterItem[]): void;
|
|
@@ -180,7 +535,7 @@ declare class WrTable {
|
|
|
180
535
|
protected getValue(item: Record<string, unknown>, key: unknown): unknown;
|
|
181
536
|
protected templateFor(key: unknown): TemplateRef<WrTableCellContext> | undefined;
|
|
182
537
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrTable, never>;
|
|
183
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrTable, "wr-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; "filterChange": "filterChange"; "page": "pageChange"; }, ["cellTemplates"], never, true, never>;
|
|
538
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrTable, "wr-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "columnOrder": { "alias": "columnOrder"; "required": false; "isSignal": true; }; "rowSelection": { "alias": "rowSelection"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "collapsedGroups": { "alias": "collapsedGroups"; "required": false; "isSignal": true; }; "groupSummary": { "alias": "groupSummary"; "required": false; "isSignal": true; }; "showGroupCount": { "alias": "showGroupCount"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; "totalItems": { "alias": "totalItems"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "overscan": { "alias": "overscan"; "required": false; "isSignal": true; }; }, { "columnOrder": "columnOrderChange"; "selection": "selectionChange"; "expanded": "expandedChange"; "collapsedGroups": "collapsedGroupsChange"; "sort": "sortChange"; "filterChange": "filterChange"; "page": "pageChange"; }, ["cellTemplates", "expandTpl", "groupTpl"], never, true, never>;
|
|
184
539
|
}
|
|
185
540
|
|
|
186
541
|
/**
|
|
@@ -203,6 +558,62 @@ declare class WrTableCell {
|
|
|
203
558
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrTableCell, "[wrTableCell]", never, { "columnKey": { "alias": "wrTableCell"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
204
559
|
}
|
|
205
560
|
|
|
561
|
+
/**
|
|
562
|
+
* @license
|
|
563
|
+
*
|
|
564
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
565
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
566
|
+
*/
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Provide the detail template revealed when a row is expanded. Adding it turns
|
|
570
|
+
* on the leading expand column; the row object is the template's implicit
|
|
571
|
+
* context.
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```html
|
|
575
|
+
* <wr-table [columns]="columns" [items]="items" [(expanded)]="expanded" rowKey="id">
|
|
576
|
+
* <ng-template wrTableExpand let-row>
|
|
577
|
+
* <p>{{ row.bio }}</p>
|
|
578
|
+
* </ng-template>
|
|
579
|
+
* </wr-table>
|
|
580
|
+
* ```
|
|
581
|
+
*/
|
|
582
|
+
declare class WrTableExpand {
|
|
583
|
+
readonly template: TemplateRef<WrTableExpandContext>;
|
|
584
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrTableExpand, never>;
|
|
585
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrTableExpand, "ng-template[wrTableExpand]", never, {}, {}, never, never, true, never>;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* @license
|
|
590
|
+
*
|
|
591
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
592
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
593
|
+
*/
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Provide a custom template for a group band's label area. The collapse chevron
|
|
597
|
+
* and the optional group checkbox are still rendered by the table around it, so
|
|
598
|
+
* the template may safely contain its own interactive content. Projecting it
|
|
599
|
+
* does NOT enable grouping — set `[groupBy]` for that.
|
|
600
|
+
*
|
|
601
|
+
* @example
|
|
602
|
+
* ```html
|
|
603
|
+
* <wr-table [columns]="columns" [items]="rows" groupBy="department">
|
|
604
|
+
* <ng-template wrTableGroupHeader let-value let-count="count" let-toggle="toggle">
|
|
605
|
+
* <wr-tag color="primary" (click)="toggle()">{{ value }}</wr-tag>
|
|
606
|
+
* <small>{{ count }} people</small>
|
|
607
|
+
* </ng-template>
|
|
608
|
+
* </wr-table>
|
|
609
|
+
* ```
|
|
610
|
+
*/
|
|
611
|
+
declare class WrTableGroupHeader {
|
|
612
|
+
readonly template: TemplateRef<WrTableGroupContext>;
|
|
613
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrTableGroupHeader, never>;
|
|
614
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrTableGroupHeader, "ng-template[wrTableGroupHeader]", never, {}, {}, never, never, true, never>;
|
|
615
|
+
}
|
|
616
|
+
|
|
206
617
|
/**
|
|
207
618
|
* Sort indicator rendered in a sortable column's header.
|
|
208
619
|
*
|
|
@@ -239,5 +650,5 @@ declare class WrTableFilter {
|
|
|
239
650
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrTableFilter, "wr-table-filter", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
240
651
|
}
|
|
241
652
|
|
|
242
|
-
export { WrTable, WrTableCell, WrTableFilter, WrTableSort };
|
|
243
|
-
export type { WrTableCellContext, WrTableColumn, WrTableColumns, WrTableFilterChange, WrTableFilterItem, WrTableSortDirection, WrTableSortState };
|
|
653
|
+
export { WrTable, WrTableCell, WrTableExpand, WrTableFilter, WrTableGroupHeader, WrTableSort };
|
|
654
|
+
export type { WrTableCellContext, WrTableColumn, WrTableColumns, WrTableCsvOptions, WrTableExpandContext, WrTableFilterChange, WrTableFilterItem, WrTableGroupContext, WrTableSortDirection, WrTableSortState, WrTableSummary };
|
package/types/ngwr-tabs.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ declare const WR_TABS: InjectionToken<WrTabsContext>;
|
|
|
91
91
|
* <router-outlet />
|
|
92
92
|
* ```
|
|
93
93
|
*
|
|
94
|
-
* @see https://ngwr.dev/components/tabs
|
|
94
|
+
* @see https://ngwr.dev/reference/components/tabs
|
|
95
95
|
*/
|
|
96
96
|
declare class WrTabs implements WrTabsContext {
|
|
97
97
|
/** Two-way bindable active tab key (content mode). */
|