ngwr 6.1.1 → 7.1.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/LICENSE +1 -3
- package/README.md +179 -32
- package/affix/styles/_index.scss +12 -0
- package/alert/styles/_index.scss +75 -32
- package/anchor/styles/_index.scss +59 -0
- package/aurora/aurora.scss +1 -0
- package/aurora/styles/_index.scss +30 -0
- package/avatar/styles/_index.scss +30 -14
- package/back-top/styles/_index.scss +42 -0
- package/badge/styles/_index.scss +80 -0
- package/badge/styles/_tag.scss +81 -0
- package/bar-chart/styles/_index.scss +56 -0
- package/blur-text/blur-text.scss +1 -0
- package/blur-text/styles/_index.scss +14 -0
- package/border-glow/border-glow.scss +4 -0
- package/border-glow/styles/_index.scss +228 -0
- package/breadcrumbs/breadcrumbs.scss +1 -0
- package/breadcrumbs/styles/_index.scss +76 -0
- package/burger/styles/_index.scss +101 -0
- package/button/styles/_index.scss +148 -125
- package/calendar/styles/_index.scss +252 -0
- package/calendar-heatmap/styles/_index.scss +69 -0
- package/card/card.scss +1 -0
- package/card/styles/_index.scss +96 -0
- package/carousel/styles/_index.scss +102 -0
- package/cascader/cascader.scss +1 -0
- package/cascader/styles/_index.scss +174 -0
- package/checkbox/styles/_index.scss +76 -60
- package/circular-text/circular-text.scss +1 -0
- package/circular-text/styles/_index.scss +45 -0
- package/click-spark/click-spark.scss +1 -0
- package/click-spark/styles/_index.scss +16 -0
- package/collapse/styles/_index.scss +92 -0
- package/color-picker/styles/_index.scss +247 -0
- package/command-palette/styles/_index.scss +188 -0
- package/compare/styles/_index.scss +100 -0
- package/context-menu/styles/_index.scss +112 -0
- package/counter/styles/_index.scss +44 -0
- package/date-picker/styles/_index.scss +204 -0
- package/decrypt-text/decrypt-text.scss +1 -0
- package/decrypt-text/styles/_index.scss +26 -0
- package/density/styles/_index.scss +37 -0
- package/descriptions/styles/_index.scss +104 -0
- package/dialog/styles/_index.scss +101 -27
- package/divider/styles/_index.scss +43 -24
- package/donut-chart/styles/_index.scss +76 -0
- package/drag-drop/sortable-list.scss +1 -0
- package/drag-drop/styles/_index.scss +99 -0
- package/drawer/styles/_index.scss +164 -0
- package/dropdown/styles/_index.scss +76 -56
- package/empty/styles/_index.scss +49 -0
- package/falling-text/falling-text.scss +1 -0
- package/falling-text/styles/_index.scss +30 -0
- package/fesm2022/ngwr-affix.mjs +102 -0
- package/fesm2022/ngwr-affix.mjs.map +1 -0
- package/fesm2022/ngwr-alert.mjs +70 -52
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- package/fesm2022/ngwr-anchor.mjs +103 -0
- package/fesm2022/ngwr-anchor.mjs.map +1 -0
- package/fesm2022/ngwr-aurora.mjs +309 -0
- package/fesm2022/ngwr-aurora.mjs.map +1 -0
- package/fesm2022/ngwr-avatar.mjs +81 -71
- package/fesm2022/ngwr-avatar.mjs.map +1 -1
- package/fesm2022/ngwr-back-top.mjs +81 -0
- package/fesm2022/ngwr-back-top.mjs.map +1 -0
- package/fesm2022/ngwr-badge.mjs +192 -0
- package/fesm2022/ngwr-badge.mjs.map +1 -0
- package/fesm2022/ngwr-bar-chart.mjs +69 -0
- package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
- package/fesm2022/ngwr-blur-text.mjs +181 -0
- package/fesm2022/ngwr-blur-text.mjs.map +1 -0
- package/fesm2022/ngwr-border-glow.mjs +278 -0
- package/fesm2022/ngwr-border-glow.mjs.map +1 -0
- package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
- package/fesm2022/ngwr-burger.mjs +60 -0
- package/fesm2022/ngwr-burger.mjs.map +1 -0
- package/fesm2022/ngwr-button.mjs +179 -104
- package/fesm2022/ngwr-button.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
- package/fesm2022/ngwr-calendar.mjs +402 -0
- package/fesm2022/ngwr-calendar.mjs.map +1 -0
- package/fesm2022/ngwr-card.mjs +100 -0
- package/fesm2022/ngwr-card.mjs.map +1 -0
- package/fesm2022/ngwr-carousel.mjs +128 -0
- package/fesm2022/ngwr-carousel.mjs.map +1 -0
- package/fesm2022/ngwr-cascader.mjs +280 -0
- package/fesm2022/ngwr-cascader.mjs.map +1 -0
- package/fesm2022/ngwr-checkbox.mjs +214 -54
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +168 -0
- package/fesm2022/ngwr-circular-text.mjs.map +1 -0
- package/fesm2022/ngwr-click-spark.mjs +163 -0
- package/fesm2022/ngwr-click-spark.mjs.map +1 -0
- package/fesm2022/ngwr-clipboard.mjs +130 -0
- package/fesm2022/ngwr-clipboard.mjs.map +1 -0
- package/fesm2022/ngwr-collapse.mjs +232 -0
- package/fesm2022/ngwr-collapse.mjs.map +1 -0
- package/fesm2022/ngwr-color-picker.mjs +646 -0
- package/fesm2022/ngwr-color-picker.mjs.map +1 -0
- package/fesm2022/ngwr-command-palette.mjs +259 -0
- package/fesm2022/ngwr-command-palette.mjs.map +1 -0
- package/fesm2022/ngwr-compare.mjs +137 -0
- package/fesm2022/ngwr-compare.mjs.map +1 -0
- package/fesm2022/ngwr-confetti.mjs +160 -0
- package/fesm2022/ngwr-confetti.mjs.map +1 -0
- package/fesm2022/ngwr-context-menu.mjs +653 -0
- package/fesm2022/ngwr-context-menu.mjs.map +1 -0
- package/fesm2022/ngwr-cookie.mjs +127 -0
- package/fesm2022/ngwr-cookie.mjs.map +1 -0
- package/fesm2022/ngwr-counter.mjs +415 -0
- package/fesm2022/ngwr-counter.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
- package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
- package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter.mjs +419 -0
- package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
- package/fesm2022/ngwr-date-picker.mjs +624 -0
- package/fesm2022/ngwr-date-picker.mjs.map +1 -0
- package/fesm2022/ngwr-decrypt-text.mjs +396 -0
- package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
- package/fesm2022/ngwr-density.mjs +157 -0
- package/fesm2022/ngwr-density.mjs.map +1 -0
- package/fesm2022/ngwr-descriptions.mjs +83 -0
- package/fesm2022/ngwr-descriptions.mjs.map +1 -0
- package/fesm2022/ngwr-dialog.mjs +249 -377
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +315 -0
- package/fesm2022/ngwr-directives.mjs.map +1 -0
- package/fesm2022/ngwr-divider.mjs +74 -59
- package/fesm2022/ngwr-divider.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart.mjs +131 -0
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
- package/fesm2022/ngwr-drag-drop.mjs +117 -0
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
- package/fesm2022/ngwr-drawer.mjs +315 -0
- package/fesm2022/ngwr-drawer.mjs.map +1 -0
- package/fesm2022/ngwr-dropdown.mjs +276 -229
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +57 -0
- package/fesm2022/ngwr-empty.mjs.map +1 -0
- package/fesm2022/ngwr-falling-text.mjs +316 -0
- package/fesm2022/ngwr-falling-text.mjs.map +1 -0
- package/fesm2022/ngwr-file-upload.mjs +260 -0
- package/fesm2022/ngwr-file-upload.mjs.map +1 -0
- package/fesm2022/ngwr-form.mjs +133 -48
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
- package/fesm2022/ngwr-gauge.mjs +83 -0
- package/fesm2022/ngwr-gauge.mjs.map +1 -0
- package/fesm2022/ngwr-glitch-text.mjs +67 -0
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
- package/fesm2022/ngwr-gradient-text.mjs +109 -0
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
- package/fesm2022/ngwr-hotkey.mjs +263 -0
- package/fesm2022/ngwr-hotkey.mjs.map +1 -0
- package/fesm2022/ngwr-i18n-en.mjs +168 -0
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
- package/fesm2022/ngwr-i18n-ru.mjs +156 -0
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
- package/fesm2022/ngwr-i18n.mjs +478 -0
- package/fesm2022/ngwr-i18n.mjs.map +1 -0
- package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
- package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
- package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
- package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
- package/fesm2022/ngwr-icon.mjs +189 -649
- package/fesm2022/ngwr-icon.mjs.map +1 -1
- package/fesm2022/ngwr-image-cropper.mjs +299 -0
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
- package/fesm2022/ngwr-input-number.mjs +239 -0
- package/fesm2022/ngwr-input-number.mjs.map +1 -0
- package/fesm2022/ngwr-input-otp.mjs +216 -0
- package/fesm2022/ngwr-input-otp.mjs.map +1 -0
- package/fesm2022/ngwr-input.mjs +183 -104
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-keyboard.mjs +47 -0
- package/fesm2022/ngwr-keyboard.mjs.map +1 -0
- package/fesm2022/ngwr-knob.mjs +227 -0
- package/fesm2022/ngwr-knob.mjs.map +1 -0
- package/fesm2022/ngwr-layout.mjs +197 -0
- package/fesm2022/ngwr-layout.mjs.map +1 -0
- package/fesm2022/ngwr-lightbox.mjs +131 -0
- package/fesm2022/ngwr-lightbox.mjs.map +1 -0
- package/fesm2022/ngwr-line-chart.mjs +176 -0
- package/fesm2022/ngwr-line-chart.mjs.map +1 -0
- package/fesm2022/ngwr-list.mjs +132 -0
- package/fesm2022/ngwr-list.mjs.map +1 -0
- package/fesm2022/ngwr-loading-bar.mjs +160 -0
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
- package/fesm2022/ngwr-marquee.mjs +224 -0
- package/fesm2022/ngwr-marquee.mjs.map +1 -0
- package/fesm2022/ngwr-media.mjs +132 -0
- package/fesm2022/ngwr-media.mjs.map +1 -0
- package/fesm2022/ngwr-mention.mjs +374 -0
- package/fesm2022/ngwr-mention.mjs.map +1 -0
- package/fesm2022/ngwr-meta.mjs +323 -0
- package/fesm2022/ngwr-meta.mjs.map +1 -0
- package/fesm2022/ngwr-meter-group.mjs +73 -0
- package/fesm2022/ngwr-meter-group.mjs.map +1 -0
- package/fesm2022/ngwr-overlay.mjs +145 -0
- package/fesm2022/ngwr-overlay.mjs.map +1 -0
- package/fesm2022/ngwr-page-header.mjs +53 -0
- package/fesm2022/ngwr-page-header.mjs.map +1 -0
- package/fesm2022/ngwr-pagination.mjs +152 -96
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +290 -11
- package/fesm2022/ngwr-pipes.mjs.map +1 -1
- package/fesm2022/ngwr-platform.mjs +63 -0
- package/fesm2022/ngwr-platform.mjs.map +1 -0
- package/fesm2022/ngwr-popconfirm.mjs +188 -0
- package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
- package/fesm2022/ngwr-popover.mjs +365 -0
- package/fesm2022/ngwr-popover.mjs.map +1 -0
- package/fesm2022/ngwr-progress.mjs +47 -39
- package/fesm2022/ngwr-progress.mjs.map +1 -1
- package/fesm2022/ngwr-qr.mjs +160 -179
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio.mjs +204 -0
- package/fesm2022/ngwr-radio.mjs.map +1 -0
- package/fesm2022/ngwr-rating.mjs +180 -0
- package/fesm2022/ngwr-rating.mjs.map +1 -0
- package/fesm2022/ngwr-result.mjs +119 -0
- package/fesm2022/ngwr-result.mjs.map +1 -0
- package/fesm2022/ngwr-rotating-text.mjs +256 -0
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
- package/fesm2022/ngwr-scramble-text.mjs +165 -0
- package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
- package/fesm2022/ngwr-scroll.mjs +107 -0
- package/fesm2022/ngwr-scroll.mjs.map +1 -0
- package/fesm2022/ngwr-segmented.mjs +96 -0
- package/fesm2022/ngwr-segmented.mjs.map +1 -0
- package/fesm2022/ngwr-select.mjs +844 -309
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +127 -0
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
- package/fesm2022/ngwr-sidebar.mjs +134 -0
- package/fesm2022/ngwr-sidebar.mjs.map +1 -0
- package/fesm2022/ngwr-skeleton.mjs +59 -34
- package/fesm2022/ngwr-skeleton.mjs.map +1 -1
- package/fesm2022/ngwr-slider.mjs +234 -0
- package/fesm2022/ngwr-slider.mjs.map +1 -0
- package/fesm2022/ngwr-sparkline.mjs +104 -0
- package/fesm2022/ngwr-sparkline.mjs.map +1 -0
- package/fesm2022/ngwr-speed-dial.mjs +79 -0
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
- package/fesm2022/ngwr-spinner.mjs +34 -28
- package/fesm2022/ngwr-spinner.mjs.map +1 -1
- package/fesm2022/ngwr-splash-cursor.mjs +970 -0
- package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
- package/fesm2022/ngwr-split-text.mjs +200 -0
- package/fesm2022/ngwr-split-text.mjs.map +1 -0
- package/fesm2022/ngwr-splitter.mjs +125 -0
- package/fesm2022/ngwr-splitter.mjs.map +1 -0
- package/fesm2022/ngwr-spotlight-card.mjs +138 -0
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
- package/fesm2022/ngwr-squircle.mjs +320 -0
- package/fesm2022/ngwr-squircle.mjs.map +1 -0
- package/fesm2022/ngwr-star-border.mjs +72 -0
- package/fesm2022/ngwr-star-border.mjs.map +1 -0
- package/fesm2022/ngwr-statistic.mjs +220 -0
- package/fesm2022/ngwr-statistic.mjs.map +1 -0
- package/fesm2022/ngwr-stepper.mjs +186 -0
- package/fesm2022/ngwr-stepper.mjs.map +1 -0
- package/fesm2022/ngwr-storage.mjs +317 -0
- package/fesm2022/ngwr-storage.mjs.map +1 -0
- package/fesm2022/ngwr-switch.mjs +99 -0
- package/fesm2022/ngwr-switch.mjs.map +1 -0
- package/fesm2022/ngwr-table.mjs +217 -206
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +217 -0
- package/fesm2022/ngwr-tabs.mjs.map +1 -0
- package/fesm2022/ngwr-textarea.mjs +106 -120
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-theme.mjs +152 -0
- package/fesm2022/ngwr-theme.mjs.map +1 -0
- package/fesm2022/ngwr-tilt-card.mjs +137 -0
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
- package/fesm2022/ngwr-timeline.mjs +73 -0
- package/fesm2022/ngwr-timeline.mjs.map +1 -0
- package/fesm2022/ngwr-toast.mjs +446 -0
- package/fesm2022/ngwr-toast.mjs.map +1 -0
- package/fesm2022/ngwr-toolbar.mjs +46 -0
- package/fesm2022/ngwr-toolbar.mjs.map +1 -0
- package/fesm2022/ngwr-tree.mjs +483 -0
- package/fesm2022/ngwr-tree.mjs.map +1 -0
- package/fesm2022/ngwr-typewriter.mjs +229 -0
- package/fesm2022/ngwr-typewriter.mjs.map +1 -0
- package/fesm2022/ngwr-typography.mjs +79 -0
- package/fesm2022/ngwr-typography.mjs.map +1 -0
- package/fesm2022/ngwr-utils.mjs +535 -0
- package/fesm2022/ngwr-utils.mjs.map +1 -0
- package/fesm2022/ngwr-validators.mjs +214 -0
- package/fesm2022/ngwr-validators.mjs.map +1 -0
- package/fesm2022/ngwr-version.mjs +51 -0
- package/fesm2022/ngwr-version.mjs.map +1 -0
- package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
- package/fesm2022/ngwr-waves.mjs +356 -0
- package/fesm2022/ngwr-waves.mjs.map +1 -0
- package/fesm2022/ngwr-window.mjs +1141 -0
- package/fesm2022/ngwr-window.mjs.map +1 -0
- package/fesm2022/ngwr.mjs +0 -3
- package/fesm2022/ngwr.mjs.map +1 -1
- package/file-upload/styles/_index.scss +152 -0
- package/form/styles/_index.scss +85 -42
- package/gauge/styles/_index.scss +37 -0
- package/glitch-text/glitch-text.scss +1 -0
- package/glitch-text/styles/_index.scss +144 -0
- package/gradient-text/gradient-text.scss +1 -0
- package/gradient-text/styles/_index.scss +113 -0
- package/icon/styles/_index.scss +21 -15
- package/image-cropper/styles/_index.scss +114 -0
- package/input/styles/_index.scss +133 -93
- package/input-number/styles/_index.scss +75 -0
- package/input-otp/styles/_index.scss +53 -0
- package/keyboard/styles/_index.scss +55 -0
- package/knob/styles/_index.scss +54 -0
- package/layout/styles/_index.scss +65 -0
- package/lightbox/lightbox.scss +1 -0
- package/lightbox/styles/_index.scss +144 -0
- package/line-chart/styles/_index.scss +93 -0
- package/list/list.scss +1 -0
- package/list/styles/_index.scss +101 -0
- package/loading-bar/loading-bar.scss +1 -0
- package/loading-bar/styles/_index.scss +29 -0
- package/marquee/marquee.scss +1 -0
- package/marquee/styles/_index.scss +138 -0
- package/mention/styles/_index.scss +47 -0
- package/meter-group/styles/_index.scss +61 -0
- package/package.json +586 -104
- package/page-header/styles/_index.scss +78 -0
- package/pagination/styles/_index.scss +89 -34
- package/popconfirm/styles/_index.scss +32 -0
- package/popover/styles/_index.scss +99 -0
- package/progress/styles/_index.scss +29 -14
- package/qr/styles/_index.scss +6 -3
- package/radio/styles/_index.scss +111 -0
- package/rating/styles/_index.scss +63 -0
- package/result/styles/_index.scss +69 -0
- package/rotating-text/rotating-text.scss +1 -0
- package/rotating-text/styles/_index.scss +39 -0
- package/schematics/collection.json +37 -0
- package/schematics/component-style/index.js +49 -0
- package/{cdk/utils/index.d.ts → schematics/component-style/schema.js} +2 -8
- package/schematics/component-style/schema.json +20 -0
- package/schematics/icon-set/index.js +96 -0
- package/schematics/icon-set/schema.js +8 -0
- package/schematics/icon-set/schema.json +39 -0
- package/schematics/migrations/v7/index.js +187 -0
- package/schematics/migrations.json +10 -0
- package/schematics/ng-add/index.js +180 -0
- package/schematics/ng-add/schema.js +8 -0
- package/schematics/ng-add/schema.json +80 -0
- package/schematics/page/index.js +63 -0
- package/schematics/page/schema.js +8 -0
- package/schematics/page/schema.json +39 -0
- package/schematics/page/templates.js +198 -0
- package/schematics/provider/index.js +126 -0
- package/schematics/provider/schema.js +8 -0
- package/schematics/provider/schema.json +52 -0
- package/schematics/use/index.js +143 -0
- package/schematics/use/schema.js +8 -0
- package/schematics/use/schema.json +25 -0
- package/schematics/use/symbol-map.json +357 -0
- package/scramble-text/scramble-text.scss +1 -0
- package/scramble-text/styles/_index.scss +8 -0
- package/segmented/styles/_index.scss +92 -0
- package/select/styles/_index.scss +245 -159
- package/shiny-text/shiny-text.scss +1 -0
- package/shiny-text/styles/_index.scss +101 -0
- package/sidebar/styles/_index.scss +208 -0
- package/skeleton/styles/_index.scss +33 -33
- package/slider/styles/_index.scss +77 -0
- package/sparkline/styles/_index.scss +9 -0
- package/speed-dial/styles/_index.scss +158 -0
- package/spinner/styles/_index.scss +38 -22
- package/splash-cursor/splash-cursor.scss +1 -0
- package/splash-cursor/styles/_index.scss +27 -0
- package/split-text/split-text.scss +1 -0
- package/split-text/styles/_index.scss +22 -0
- package/splitter/styles/_index.scss +85 -0
- package/spotlight-card/spotlight-card.scss +1 -0
- package/spotlight-card/styles/_index.scss +43 -0
- package/squircle/styles/_index.scss +34 -0
- package/star-border/star-border.scss +1 -0
- package/star-border/styles/_index.scss +118 -0
- package/statistic/styles/_index.scss +54 -0
- package/stepper/styles/_index.scss +162 -0
- package/styles/_animations.scss +198 -0
- package/styles/_breakpoints.scss +75 -0
- package/styles/_grid.scss +71 -0
- package/styles/_reset.scss +123 -0
- package/styles/_typography.scss +122 -0
- package/styles.scss +103 -13
- package/switch/styles/_index.scss +82 -0
- package/table/styles/_index.scss +255 -4
- package/tabs/styles/_index.scss +71 -0
- package/textarea/styles/_index.scss +47 -56
- package/theme/styles/_colors.scss +83 -0
- package/theme/styles/_dark.scss +85 -0
- package/theme/styles/_focus.scss +93 -0
- package/theme/styles/_index.scss +5 -0
- package/theme/styles/_mixins.scss +57 -0
- package/theme/styles/_variables.scss +118 -0
- package/tilt-card/styles/_index.scss +40 -0
- package/tilt-card/tilt-card.scss +1 -0
- package/timeline/styles/_index.scss +127 -0
- package/toast/styles/_index.scss +263 -0
- package/toolbar/styles/_index.scss +65 -0
- package/tree/styles/_index.scss +271 -0
- package/types/ngwr-affix.d.ts +43 -0
- package/types/ngwr-alert.d.ts +68 -0
- package/types/ngwr-anchor.d.ts +53 -0
- package/types/ngwr-aurora.d.ts +52 -0
- package/types/ngwr-avatar.d.ts +90 -0
- package/types/ngwr-back-top.d.ts +37 -0
- package/types/ngwr-badge.d.ts +158 -0
- package/types/ngwr-bar-chart.d.ts +47 -0
- package/types/ngwr-blur-text.d.ts +62 -0
- package/types/ngwr-border-glow.d.ts +66 -0
- package/types/ngwr-breadcrumbs.d.ts +61 -0
- package/types/ngwr-burger.d.ts +36 -0
- package/types/ngwr-button.d.ts +176 -0
- package/types/ngwr-calendar-heatmap.d.ts +58 -0
- package/types/ngwr-calendar.d.ts +116 -0
- package/types/ngwr-card.d.ts +50 -0
- package/types/ngwr-carousel.d.ts +57 -0
- package/types/ngwr-cascader.d.ts +107 -0
- package/types/ngwr-checkbox.d.ts +139 -0
- package/types/ngwr-circular-text.d.ts +49 -0
- package/types/ngwr-click-spark.d.ts +52 -0
- package/types/ngwr-clipboard.d.ts +53 -0
- package/types/ngwr-collapse.d.ts +139 -0
- package/types/ngwr-color-picker.d.ts +302 -0
- package/types/ngwr-command-palette.d.ts +113 -0
- package/types/ngwr-compare.d.ts +55 -0
- package/types/ngwr-confetti.d.ts +70 -0
- package/types/ngwr-context-menu.d.ts +207 -0
- package/types/ngwr-cookie.d.ts +60 -0
- package/types/ngwr-counter.d.ts +182 -0
- package/types/ngwr-date-adapter-fns.d.ts +73 -0
- package/types/ngwr-date-adapter-luxon.d.ts +73 -0
- package/types/ngwr-date-adapter.d.ts +198 -0
- package/types/ngwr-date-picker.d.ts +117 -0
- package/types/ngwr-decrypt-text.d.ts +85 -0
- package/types/ngwr-density.d.ts +97 -0
- package/types/ngwr-descriptions.d.ts +41 -0
- package/types/ngwr-dialog.d.ts +210 -0
- package/types/ngwr-directives.d.ts +125 -0
- package/types/ngwr-divider.d.ts +73 -0
- package/types/ngwr-donut-chart.d.ts +53 -0
- package/types/ngwr-drag-drop.d.ts +83 -0
- package/types/ngwr-drawer.d.ts +155 -0
- package/types/ngwr-dropdown.d.ts +124 -0
- package/types/ngwr-empty.d.ts +38 -0
- package/types/ngwr-falling-text.d.ts +63 -0
- package/types/ngwr-file-upload.d.ts +94 -0
- package/types/ngwr-form.d.ts +95 -0
- package/types/ngwr-fuzzy-text.d.ts +74 -0
- package/types/ngwr-gauge.d.ts +39 -0
- package/types/ngwr-glitch-text.d.ts +31 -0
- package/types/ngwr-gradient-text.d.ts +46 -0
- package/types/ngwr-hotkey.d.ts +142 -0
- package/types/ngwr-i18n-en.d.ts +18 -0
- package/types/ngwr-i18n-ru.d.ts +6 -0
- package/types/ngwr-i18n.d.ts +336 -0
- package/types/ngwr-icon-adapters-feather.d.ts +44 -0
- package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
- package/types/ngwr-icon.d.ts +180 -0
- package/types/ngwr-image-cropper.d.ts +110 -0
- package/types/ngwr-input-number.d.ts +77 -0
- package/types/ngwr-input-otp.d.ts +78 -0
- package/types/ngwr-input.d.ts +131 -0
- package/types/ngwr-keyboard.d.ts +34 -0
- package/types/ngwr-knob.d.ts +77 -0
- package/types/ngwr-layout.d.ts +89 -0
- package/types/ngwr-lightbox.d.ts +50 -0
- package/types/ngwr-line-chart.d.ts +90 -0
- package/types/ngwr-list.d.ts +71 -0
- package/types/ngwr-loading-bar.d.ts +79 -0
- package/types/ngwr-marquee.d.ts +95 -0
- package/types/ngwr-media.d.ts +74 -0
- package/types/ngwr-mention.d.ts +110 -0
- package/types/ngwr-meta.d.ts +188 -0
- package/types/ngwr-meter-group.d.ts +57 -0
- package/types/ngwr-overlay.d.ts +110 -0
- package/types/ngwr-page-header.d.ts +35 -0
- package/types/ngwr-pagination.d.ts +119 -0
- package/types/ngwr-pipes.d.ts +177 -0
- package/types/ngwr-platform.d.ts +38 -0
- package/types/ngwr-popconfirm.d.ts +79 -0
- package/types/ngwr-popover.d.ts +90 -0
- package/types/ngwr-progress.d.ts +33 -0
- package/types/ngwr-qr.d.ts +56 -0
- package/types/ngwr-radio.d.ts +120 -0
- package/types/ngwr-rating.d.ts +62 -0
- package/types/ngwr-result.d.ts +64 -0
- package/types/ngwr-rotating-text.d.ts +72 -0
- package/types/ngwr-scramble-text.d.ts +49 -0
- package/types/ngwr-scroll.d.ts +65 -0
- package/types/ngwr-segmented.d.ts +65 -0
- package/types/ngwr-select.d.ts +413 -0
- package/types/ngwr-shiny-text.d.ts +70 -0
- package/types/ngwr-sidebar.d.ts +83 -0
- package/types/ngwr-skeleton.d.ts +41 -0
- package/types/ngwr-slider.d.ts +86 -0
- package/types/ngwr-sparkline.d.ts +48 -0
- package/types/ngwr-speed-dial.d.ts +51 -0
- package/types/ngwr-spinner.d.ts +41 -0
- package/types/ngwr-splash-cursor.d.ts +94 -0
- package/types/ngwr-split-text.d.ts +83 -0
- package/types/ngwr-splitter.d.ts +52 -0
- package/types/ngwr-spotlight-card.d.ts +71 -0
- package/types/ngwr-squircle.d.ts +132 -0
- package/types/ngwr-star-border.d.ts +40 -0
- package/types/ngwr-statistic.d.ts +88 -0
- package/types/ngwr-stepper.d.ts +99 -0
- package/types/ngwr-storage.d.ts +178 -0
- package/types/ngwr-switch.d.ts +39 -0
- package/types/ngwr-table.d.ts +237 -0
- package/types/ngwr-tabs.d.ts +125 -0
- package/types/ngwr-textarea.d.ts +60 -0
- package/types/ngwr-theme.d.ts +124 -0
- package/types/ngwr-tilt-card.d.ts +63 -0
- package/types/ngwr-timeline.d.ts +40 -0
- package/types/ngwr-toast.d.ts +230 -0
- package/types/ngwr-toolbar.d.ts +30 -0
- package/types/ngwr-tree.d.ts +150 -0
- package/types/ngwr-typewriter.d.ts +84 -0
- package/types/ngwr-typography.d.ts +56 -0
- package/types/ngwr-utils.d.ts +447 -0
- package/types/ngwr-validators.d.ts +70 -0
- package/types/ngwr-version.d.ts +44 -0
- package/types/ngwr-virtual-scroll.d.ts +64 -0
- package/types/ngwr-waves.d.ts +71 -0
- package/types/ngwr-window.d.ts +437 -0
- package/typewriter/styles/_index.scss +33 -0
- package/typewriter/typewriter.scss +1 -0
- package/typography/styles/_index.scss +211 -0
- package/virtual-scroll/styles/_index.scss +27 -0
- package/virtual-scroll/virtual-scroll.scss +1 -0
- package/waves/styles/_index.scss +24 -0
- package/waves/waves.scss +1 -0
- package/window/styles/_index.scss +430 -0
- package/alert/index.d.ts +0 -32
- package/alert/styles/theming.scss +0 -26
- package/alert/styles/vars.scss +0 -11
- package/avatar/index.d.ts +0 -30
- package/button/index.d.ts +0 -45
- package/button/styles/vars.scss +0 -13
- package/cdk/index.d.ts +0 -24
- package/cdk/rxjs/index.d.ts +0 -40
- package/cdk/types/index.d.ts +0 -27
- package/checkbox/index.d.ts +0 -31
- package/checkbox/styles/vars.scss +0 -16
- package/dialog/index.d.ts +0 -193
- package/dialog/styles/vars.scss +0 -7
- package/divider/index.d.ts +0 -16
- package/dropdown/index.d.ts +0 -68
- package/dropdown/styles/vars.scss +0 -18
- package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
- package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
- package/fesm2022/ngwr-cdk-types.mjs +0 -44
- package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
- package/fesm2022/ngwr-cdk-utils.mjs +0 -30
- package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
- package/fesm2022/ngwr-cdk.mjs +0 -46
- package/fesm2022/ngwr-cdk.mjs.map +0 -1
- package/fesm2022/ngwr-tag.mjs +0 -87
- package/fesm2022/ngwr-tag.mjs.map +0 -1
- package/form/index.d.ts +0 -28
- package/icon/index.d.ts +0 -830
- package/icon/styles/vars.scss +0 -3
- package/input/index.d.ts +0 -43
- package/input/styles/vars.scss +0 -17
- package/pagination/index.d.ts +0 -34
- package/pagination/styles/vars.scss +0 -14
- package/pipes/index.d.ts +0 -17
- package/progress/index.d.ts +0 -13
- package/progress/styles/theming.scss +0 -8
- package/progress/styles/vars.scss +0 -6
- package/qr/index.d.ts +0 -127
- package/select/index.d.ts +0 -121
- package/select/styles/vars.scss +0 -32
- package/skeleton/index.d.ts +0 -13
- package/spinner/index.d.ts +0 -23
- package/styles/animations.scss +0 -92
- package/styles/cdk.scss +0 -5
- package/styles/colors.scss +0 -72
- package/styles/grid.scss +0 -99
- package/styles/maps.scss +0 -31
- package/styles/reset.scss +0 -112
- package/styles/variables.scss +0 -72
- package/table/index.d.ts +0 -101
- package/table/styles/table-filter.scss +0 -202
- package/table/styles/table-sort.scss +0 -47
- package/table/styles/table.scss +0 -232
- package/table/styles/vars.scss +0 -21
- package/tag/index.d.ts +0 -24
- package/tag/styles/_index.scss +0 -32
- package/tag/styles/theming.scss +0 -21
- package/tag/styles/vars.scss +0 -12
- package/textarea/index.d.ts +0 -47
- package/textarea/styles/vars.scss +0 -17
- /package/{index.d.ts → types/ngwr.d.ts} +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { PipeTransform } from '@angular/core';
|
|
3
|
+
import { WrDateFormat } from 'ngwr/date-adapter';
|
|
4
|
+
import { SafeHtml } from '@angular/platform-browser';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Humanise a byte count using binary (1024-based) units.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* {{ 1234 | wrBytes }} <!-- "1.2 KB" -->
|
|
12
|
+
* {{ 1234567 | wrBytes: 0 }} <!-- "1 MB" -->
|
|
13
|
+
* {{ 0 | wrBytes }} <!-- "0 B" -->
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
declare class WrBytes implements PipeTransform {
|
|
17
|
+
transform(value: number | string | null | undefined, decimals?: number): string;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrBytes, never>;
|
|
19
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrBytes, "wrBytes", true>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Locale-aware date formatting. Delegates to `WrDateAdapter` when
|
|
24
|
+
* `provideWrDateAdapter()` is in the provider tree (giving access to named
|
|
25
|
+
* format keys like `'shortDate'` and `'longDate'`), otherwise falls back to
|
|
26
|
+
* a minimal `Intl.DateTimeFormat`-based formatter so the pipe still works
|
|
27
|
+
* without the date-adapter package wired up.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```html
|
|
31
|
+
* {{ now | wrDate }} <!-- shortDate -->
|
|
32
|
+
* {{ now | wrDate: 'mediumDateTime' }} <!-- named key -->
|
|
33
|
+
* {{ now | wrDate: 'dd.MM.yyyy' }} <!-- raw token string -->
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
declare class WrDate implements PipeTransform {
|
|
37
|
+
private readonly adapter;
|
|
38
|
+
private readonly locale;
|
|
39
|
+
transform(value: Date | string | number | null | undefined, format?: WrDateFormat | (string & {})): string;
|
|
40
|
+
/** Tiny fallback for the named keys when no adapter is provided. */
|
|
41
|
+
private fallback;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrDate, never>;
|
|
43
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrDate, "wrDate", true>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @license
|
|
48
|
+
*
|
|
49
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
50
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Wrap every occurrence of `query` in `<mark>` tags. Useful for highlighting
|
|
55
|
+
* search-term matches in autocomplete results, lists, and table cells.
|
|
56
|
+
*
|
|
57
|
+
* The output is `SafeHtml` — bind with `[innerHTML]`. Input is escaped first
|
|
58
|
+
* so user-supplied values can't inject markup.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```html
|
|
62
|
+
* <span [innerHTML]="row.name | wrMark: query()"></span>
|
|
63
|
+
*
|
|
64
|
+
* <!-- Case-sensitive: -->
|
|
65
|
+
* <span [innerHTML]="row.name | wrMark: query() : true"></span>
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
declare class WrMark implements PipeTransform {
|
|
69
|
+
private readonly sanitizer;
|
|
70
|
+
/**
|
|
71
|
+
* @param value Source text.
|
|
72
|
+
* @param query Search term to highlight. Empty/null skips the wrap.
|
|
73
|
+
* @param caseSensitive Match exactly. @default false
|
|
74
|
+
*/
|
|
75
|
+
transform(value: string | null | undefined, query: string | null | undefined, caseSensitive?: boolean): SafeHtml;
|
|
76
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrMark, never>;
|
|
77
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrMark, "wrMark", true>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** Word forms keyed by CLDR plural category. Only `other` is required. */
|
|
81
|
+
type WrPluralForms = Partial<Record<Intl.LDMLPluralRule, string>> & {
|
|
82
|
+
readonly other: string;
|
|
83
|
+
};
|
|
84
|
+
interface WrPluralOptions {
|
|
85
|
+
/** Prefix the formatted count before the word. @default true */
|
|
86
|
+
readonly includeValue?: boolean;
|
|
87
|
+
/** Locale override; defaults to Angular's `LOCALE_ID`. */
|
|
88
|
+
readonly locale?: string;
|
|
89
|
+
}
|
|
90
|
+
/** Built-in style shortcuts — pick a sensible `Intl.NumberFormat` preset by name. */
|
|
91
|
+
type WrNumberStyle = 'decimal' | 'percent' | 'currency';
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Locale-aware number formatting via `Intl.NumberFormat`. Uses Angular's
|
|
95
|
+
* `LOCALE_ID` as the default locale.
|
|
96
|
+
*
|
|
97
|
+
* Accepts either a style shortcut (with optional currency code) or a full
|
|
98
|
+
* `Intl.NumberFormatOptions` object for fine-grained control.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```html
|
|
102
|
+
* {{ 1234.5 | wrNumber }} <!-- "1,234.5" -->
|
|
103
|
+
* {{ 0.875 | wrNumber: 'percent' }} <!-- "88%" -->
|
|
104
|
+
* {{ 19.99 | wrNumber: 'currency': 'USD' }} <!-- "$19.99" -->
|
|
105
|
+
* {{ 19.99 | wrNumber: { minimumFractionDigits: 2 } }}
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
declare class WrNumber implements PipeTransform {
|
|
109
|
+
private readonly locale;
|
|
110
|
+
transform(value: number | string | null | undefined, styleOrOptions?: WrNumberStyle | Intl.NumberFormatOptions, currency?: string): string;
|
|
111
|
+
private toOptions;
|
|
112
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrNumber, never>;
|
|
113
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrNumber, "wrNumber", true>;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Locale-aware pluralization via `Intl.PluralRules`. Picks the right word
|
|
118
|
+
* form for the count — including languages with more than two forms
|
|
119
|
+
* (Russian, Polish, Arabic, …) — without hand-rolled `n % 10` rules.
|
|
120
|
+
*
|
|
121
|
+
* Categories follow CLDR: `zero` / `one` / `two` / `few` / `many` /
|
|
122
|
+
* `other`. Missing categories fall back to `other`.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```html
|
|
126
|
+
* {{ 1 | wrPlural: { one: 'comment', other: 'comments' } }}
|
|
127
|
+
* <!-- "1 comment" -->
|
|
128
|
+
*
|
|
129
|
+
* {{ 5 | wrPlural: { one: 'файл', few: 'файла', other: 'файлов' } }}
|
|
130
|
+
* <!-- "5 файлов" (with LOCALE_ID = ru) -->
|
|
131
|
+
*
|
|
132
|
+
* {{ count() | wrPlural: forms : { includeValue: false } }}
|
|
133
|
+
* <!-- word only -->
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
declare class WrPlural implements PipeTransform {
|
|
137
|
+
private readonly locale;
|
|
138
|
+
transform(value: number | null | undefined, forms: WrPluralForms, options?: WrPluralOptions): string;
|
|
139
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrPlural, never>;
|
|
140
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrPlural, "wrPlural", true>;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Creates an array of sequential indices `[0, 1, 2, ..., n-1]`.
|
|
145
|
+
*
|
|
146
|
+
* Useful for repeating template blocks a fixed number of times.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```html
|
|
150
|
+
* @for (i of (5 | wrRange); track i) {
|
|
151
|
+
* <div>Item {{ i }}</div>
|
|
152
|
+
* }
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
declare class WrRange implements PipeTransform {
|
|
156
|
+
transform(length: number): number[];
|
|
157
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrRange, never>;
|
|
158
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrRange, "wrRange", true>;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Clamp a string to `length` characters, appending `ellipsis` when truncated.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```html
|
|
166
|
+
* {{ 'Hello, world' | wrTruncate: 5 }} <!-- "Hello…" -->
|
|
167
|
+
* {{ 'Hello, world' | wrTruncate: 8: '...' }} <!-- "Hello, w..." -->
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
declare class WrTruncate implements PipeTransform {
|
|
171
|
+
transform(value: string | null | undefined, length?: number, ellipsis?: string): string;
|
|
172
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrTruncate, never>;
|
|
173
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<WrTruncate, "wrTruncate", true>;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export { WrBytes, WrDate, WrMark, WrNumber, WrPlural, WrRange, WrTruncate };
|
|
177
|
+
export type { WrNumberStyle, WrPluralForms, WrPluralOptions };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SSR-safe environment probes. Use to gate browser-only code paths and
|
|
6
|
+
* react to user preferences without scattering `matchMedia` calls around.
|
|
7
|
+
*
|
|
8
|
+
* - `isBrowser` / `isServer` — synchronous platform check.
|
|
9
|
+
* - `userAgent` — `navigator.userAgent` or `null` on the server.
|
|
10
|
+
* - `prefersDark` — signal mirroring `(prefers-color-scheme: dark)`.
|
|
11
|
+
* - `prefersReducedMotion` — signal mirroring `(prefers-reduced-motion: reduce)`.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* private readonly platform = inject(WrPlatform);
|
|
16
|
+
* if (this.platform.isBrowser) {
|
|
17
|
+
* localStorage.setItem('theme', 'dark');
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* protected readonly dark = this.platform.prefersDark;
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @see https://ngwr.dev/services/platform
|
|
24
|
+
*/
|
|
25
|
+
declare class WrPlatform {
|
|
26
|
+
private readonly destroyRef;
|
|
27
|
+
private readonly doc;
|
|
28
|
+
readonly isBrowser: boolean;
|
|
29
|
+
readonly isServer: boolean;
|
|
30
|
+
readonly userAgent: string | null;
|
|
31
|
+
readonly prefersDark: Signal<boolean>;
|
|
32
|
+
readonly prefersReducedMotion: Signal<boolean>;
|
|
33
|
+
private mediaSignal;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrPlatform, never>;
|
|
35
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WrPlatform>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { WrPlatform };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
*
|
|
6
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
7
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
type WrPopconfirmPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Small "Are you sure?" panel anchored to its trigger. Fires `confirmed`
|
|
14
|
+
* or `cancelled` and closes automatically. Built on CDK Overlay.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <wr-btn
|
|
19
|
+
* color="danger"
|
|
20
|
+
* [wrPopconfirm]="'Delete this item?'"
|
|
21
|
+
* confirmColor="danger"
|
|
22
|
+
* confirmText="Delete"
|
|
23
|
+
* (confirmed)="remove()"
|
|
24
|
+
* >Delete</wr-btn>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @see https://ngwr.dev/components/popconfirm
|
|
28
|
+
*/
|
|
29
|
+
declare class WrPopconfirm {
|
|
30
|
+
/** Confirmation message. */
|
|
31
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
32
|
+
/** Anchor side. @default 'top' */
|
|
33
|
+
readonly position: _angular_core.InputSignal<WrPopconfirmPosition>;
|
|
34
|
+
/** Label for the confirm button. @default 'Confirm' */
|
|
35
|
+
readonly confirmText: _angular_core.InputSignal<string>;
|
|
36
|
+
/** Label for the cancel button. @default 'Cancel' */
|
|
37
|
+
readonly cancelText: _angular_core.InputSignal<string>;
|
|
38
|
+
/** Color of the confirm button. @default 'primary' */
|
|
39
|
+
readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
|
|
40
|
+
/** Fires when the user clicks confirm. */
|
|
41
|
+
readonly confirmed: _angular_core.OutputEmitterRef<void>;
|
|
42
|
+
/** Fires when the user clicks cancel or dismisses the overlay. */
|
|
43
|
+
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
44
|
+
private readonly host;
|
|
45
|
+
private readonly overlay;
|
|
46
|
+
private readonly vcr;
|
|
47
|
+
private readonly scrollStrategies;
|
|
48
|
+
private readonly destroyRef;
|
|
49
|
+
private overlayRef;
|
|
50
|
+
constructor();
|
|
51
|
+
/** @internal */
|
|
52
|
+
protected toggle(event: MouseEvent): void;
|
|
53
|
+
open(): void;
|
|
54
|
+
close(): void;
|
|
55
|
+
private dismiss;
|
|
56
|
+
private dispose;
|
|
57
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopconfirm, never>;
|
|
58
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopconfirm, "[wrPopconfirm]", never, { "message": { "alias": "wrPopconfirm"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "confirmText": { "alias": "confirmText"; "required": false; "isSignal": true; }; "cancelText": { "alias": "cancelText"; "required": false; "isSignal": true; }; "confirmColor": { "alias": "confirmColor"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Confirmation panel rendered inside the popconfirm overlay. Not part
|
|
63
|
+
* of the public template API — use `[wrPopconfirm]` instead.
|
|
64
|
+
*
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
declare class WrPopconfirmPanel {
|
|
68
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
69
|
+
readonly confirmText: _angular_core.InputSignal<string>;
|
|
70
|
+
readonly cancelText: _angular_core.InputSignal<string>;
|
|
71
|
+
readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
|
|
72
|
+
readonly confirmed: _angular_core.OutputEmitterRef<void>;
|
|
73
|
+
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
74
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopconfirmPanel, never>;
|
|
75
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPopconfirmPanel, "wr-popconfirm", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "confirmText": { "alias": "confirmText"; "required": false; "isSignal": true; }; "cancelText": { "alias": "cancelText"; "required": false; "isSignal": true; }; "confirmColor": { "alias": "confirmColor"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, true, never>;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { WrPopconfirm, WrPopconfirmPanel };
|
|
79
|
+
export type { WrPopconfirmPosition };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
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
|
+
type WrPopoverPosition = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
12
|
+
|
|
13
|
+
declare class WrPopover {
|
|
14
|
+
/**
|
|
15
|
+
* Content to render inside the panel.
|
|
16
|
+
* - In **popover** mode (default): pass a `TemplateRef`.
|
|
17
|
+
* - In **tooltip** mode: pass a plain string.
|
|
18
|
+
*/
|
|
19
|
+
readonly content: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
|
20
|
+
/**
|
|
21
|
+
* Shape preset.
|
|
22
|
+
*
|
|
23
|
+
* - `'popover'` (default) — template content, click trigger, dialog
|
|
24
|
+
* semantics.
|
|
25
|
+
* - `'tooltip'` — text content, hover+focus trigger, `role="tooltip"`,
|
|
26
|
+
* `aria-describedby` on the host.
|
|
27
|
+
*/
|
|
28
|
+
readonly mode: _angular_core.InputSignal<"tooltip" | "popover">;
|
|
29
|
+
/**
|
|
30
|
+
* How the popover opens. Ignored in tooltip mode — tooltips are always
|
|
31
|
+
* hover+focus. @default 'click'
|
|
32
|
+
*/
|
|
33
|
+
readonly trigger: _angular_core.InputSignal<"click" | "hover">;
|
|
34
|
+
/** Anchor side. @default 'bottom' for popover, 'top' for tooltip */
|
|
35
|
+
readonly position: _angular_core.InputSignal<WrPopoverPosition | null>;
|
|
36
|
+
/** Tooltip only — delay before showing, in ms. @default 120 */
|
|
37
|
+
readonly showDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
38
|
+
/** Tooltip only — delay before hiding, in ms. @default 60 */
|
|
39
|
+
readonly hideDelay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
40
|
+
/** Fires after the panel opens. */
|
|
41
|
+
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
42
|
+
/** Fires after the panel closes. */
|
|
43
|
+
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
44
|
+
private readonly host;
|
|
45
|
+
private readonly overlay;
|
|
46
|
+
private readonly vcr;
|
|
47
|
+
private readonly scrollStrategies;
|
|
48
|
+
private readonly destroyRef;
|
|
49
|
+
/** @internal */
|
|
50
|
+
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
51
|
+
/** @internal */
|
|
52
|
+
protected readonly isTooltip: _angular_core.Signal<boolean>;
|
|
53
|
+
/** Auto-generated id for `aria-controls` / `aria-describedby`. */
|
|
54
|
+
protected readonly panelId: string;
|
|
55
|
+
private readonly resolvedPosition;
|
|
56
|
+
private overlayRef;
|
|
57
|
+
private hoverCloseTimer;
|
|
58
|
+
private showTimer;
|
|
59
|
+
private hideTimer;
|
|
60
|
+
constructor();
|
|
61
|
+
open(): void;
|
|
62
|
+
close(): void;
|
|
63
|
+
toggle(): void;
|
|
64
|
+
/** @internal */
|
|
65
|
+
protected onClick(event: MouseEvent): void;
|
|
66
|
+
/** @internal */
|
|
67
|
+
protected onMouseEnter(): void;
|
|
68
|
+
/** @internal */
|
|
69
|
+
protected onMouseLeave(event: MouseEvent): void;
|
|
70
|
+
/** @internal */
|
|
71
|
+
protected onFocus(): void;
|
|
72
|
+
/** @internal */
|
|
73
|
+
protected onBlur(): void;
|
|
74
|
+
/** @internal */
|
|
75
|
+
protected onEscape(): void;
|
|
76
|
+
private scheduleShow;
|
|
77
|
+
private scheduleHide;
|
|
78
|
+
private clearTimers;
|
|
79
|
+
private openOverlay;
|
|
80
|
+
private closeOverlay;
|
|
81
|
+
private readonly onOverlayLeave;
|
|
82
|
+
private readonly onOverlayEnter;
|
|
83
|
+
private scheduleHoverClose;
|
|
84
|
+
private clearHoverClose;
|
|
85
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopover, never>;
|
|
86
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopover, "[wrPopover]", never, { "content": { "alias": "wrPopover"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export { WrPopover };
|
|
90
|
+
export type { WrPopoverPosition };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Horizontal progress bar.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <wr-progress [value]="42" />
|
|
9
|
+
* <wr-progress color="success" [value]="80" />
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* @see https://ngwr.dev/components/progress
|
|
13
|
+
*/
|
|
14
|
+
declare class WrProgress {
|
|
15
|
+
/**
|
|
16
|
+
* Bar color.
|
|
17
|
+
*
|
|
18
|
+
* @default 'primary'
|
|
19
|
+
*/
|
|
20
|
+
readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
|
|
21
|
+
/**
|
|
22
|
+
* Progress value, clamped to `[0, 100]`.
|
|
23
|
+
*
|
|
24
|
+
* @default 0
|
|
25
|
+
*/
|
|
26
|
+
readonly value: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
27
|
+
protected readonly clamped: _angular_core.Signal<number>;
|
|
28
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
29
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrProgress, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrProgress, "wr-progress", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { WrProgress };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
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
|
+
* QR code error correction level.
|
|
12
|
+
*
|
|
13
|
+
* - `'L'` — Low (~7%)
|
|
14
|
+
* - `'M'` — Medium (~15%)
|
|
15
|
+
* - `'Q'` — Quartile (~25%)
|
|
16
|
+
* - `'H'` — High (~30%) — needed if overlaying a center icon
|
|
17
|
+
*/
|
|
18
|
+
type WrQrErrorLevel = 'L' | 'M' | 'Q' | 'H';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Renders a QR code on a `<canvas>`.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```html
|
|
25
|
+
* <wr-qr value="https://ngwr.dev" [size]="200" level="H" />
|
|
26
|
+
* <wr-qr value="..." iconUrl="/logo.png" [iconSize]="48" level="H" />
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @see https://ngwr.dev/components/qrcode
|
|
30
|
+
*/
|
|
31
|
+
declare class WrQr {
|
|
32
|
+
/** Text or URL to encode. Required. */
|
|
33
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
34
|
+
/** Error correction level. Use `'H'` if you overlay an icon. @default 'M' */
|
|
35
|
+
readonly level: _angular_core.InputSignal<WrQrErrorLevel>;
|
|
36
|
+
/** Side length of the rendered canvas, in pixels. @default 160 */
|
|
37
|
+
readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
38
|
+
/** Outer quiet-zone padding in pixels. @default 10 */
|
|
39
|
+
readonly padding: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
40
|
+
/** Module (dot) color. @default '#000000' */
|
|
41
|
+
readonly color: _angular_core.InputSignal<string>;
|
|
42
|
+
/** Background color of the canvas + host. @default '#ffffff' */
|
|
43
|
+
readonly bgColor: _angular_core.InputSignal<string>;
|
|
44
|
+
/** Optional image URL or data URL to overlay in the center. */
|
|
45
|
+
readonly iconUrl: _angular_core.InputSignal<string | null>;
|
|
46
|
+
/** Center icon size in logical pixels. @default 42 */
|
|
47
|
+
readonly iconSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
48
|
+
protected readonly canvas: _angular_core.Signal<ElementRef<HTMLCanvasElement> | undefined>;
|
|
49
|
+
protected readonly isBrowser: boolean;
|
|
50
|
+
constructor();
|
|
51
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrQr, never>;
|
|
52
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrQr, "wr-qr", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "iconUrl": { "alias": "iconUrl"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { WrQr };
|
|
56
|
+
export type { WrQrErrorLevel };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, Signal } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Single-choice option. Must be a child of `<wr-radio-group>`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```html
|
|
10
|
+
* <wr-radio-group [(ngModel)]="size">
|
|
11
|
+
* <wr-radio value="sm">Small</wr-radio>
|
|
12
|
+
* <wr-radio value="md">Medium</wr-radio>
|
|
13
|
+
* <wr-radio value="lg">Large</wr-radio>
|
|
14
|
+
* </wr-radio-group>
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @see https://ngwr.dev/components/radio
|
|
18
|
+
*/
|
|
19
|
+
declare class WrRadio {
|
|
20
|
+
/** Stable id used to associate the native input with its label. */
|
|
21
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
22
|
+
/** Value selected when this radio is checked. */
|
|
23
|
+
readonly value: _angular_core.InputSignal<unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Optional icon name rendered inside the dot when checked, in place of the
|
|
26
|
+
* default solid circle. Use any registered NGWR icon.
|
|
27
|
+
*/
|
|
28
|
+
readonly icon: _angular_core.InputSignal<string | null>;
|
|
29
|
+
private readonly group;
|
|
30
|
+
constructor();
|
|
31
|
+
protected readonly name: _angular_core.Signal<string>;
|
|
32
|
+
protected readonly checked: _angular_core.Signal<boolean>;
|
|
33
|
+
protected readonly disabled: _angular_core.Signal<boolean>;
|
|
34
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
35
|
+
protected onSelect(): void;
|
|
36
|
+
protected onBlur(): void;
|
|
37
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadio, never>;
|
|
38
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadio, "wr-radio", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @license
|
|
43
|
+
*
|
|
44
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
45
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Contract a radio uses to talk to its parent `<wr-radio-group>`.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
interface WrRadioGroupContext {
|
|
54
|
+
/** Shared `name` attribute applied to every native input in the group. */
|
|
55
|
+
readonly name: Signal<string>;
|
|
56
|
+
/** Currently selected value. */
|
|
57
|
+
readonly value: Signal<unknown>;
|
|
58
|
+
/** Whether the entire group is disabled. */
|
|
59
|
+
readonly isDisabled: Signal<boolean>;
|
|
60
|
+
/** Select the given value. */
|
|
61
|
+
select(value: unknown): void;
|
|
62
|
+
/** Mark the group as touched (called on blur from any child). */
|
|
63
|
+
touch(): void;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Token a `<wr-radio>` injects to participate in its parent `<wr-radio-group>`
|
|
67
|
+
* — reads the selected value, shares the `name` attribute, and signals
|
|
68
|
+
* selection / blur back up.
|
|
69
|
+
*
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
declare const WR_RADIO_GROUP: InjectionToken<WrRadioGroupContext>;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Hosts a group of `<wr-radio>` children as a single-value selection.
|
|
76
|
+
*
|
|
77
|
+
* Implements `ControlValueAccessor` — the group's `value` is the
|
|
78
|
+
* currently selected radio's `value`.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```html
|
|
82
|
+
* <wr-radio-group [(ngModel)]="size">
|
|
83
|
+
* <wr-radio value="sm">Small</wr-radio>
|
|
84
|
+
* <wr-radio value="md">Medium</wr-radio>
|
|
85
|
+
* <wr-radio value="lg">Large</wr-radio>
|
|
86
|
+
* </wr-radio-group>
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @see https://ngwr.dev/components/radio
|
|
90
|
+
*/
|
|
91
|
+
declare class WrRadioGroup implements ControlValueAccessor, WrRadioGroupContext {
|
|
92
|
+
/**
|
|
93
|
+
* Shared `name` attribute. Defaults to a random id so multiple groups
|
|
94
|
+
* on the same page don't collide.
|
|
95
|
+
*/
|
|
96
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Disable the whole group. Also set by Angular forms via `setDisabledState`.
|
|
99
|
+
*
|
|
100
|
+
* @default false
|
|
101
|
+
*/
|
|
102
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
103
|
+
readonly value: _angular_core.WritableSignal<unknown>;
|
|
104
|
+
private readonly disabledFromCva;
|
|
105
|
+
/** Effective disabled state — true if either source disables. */
|
|
106
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
107
|
+
private onChange;
|
|
108
|
+
private onTouched;
|
|
109
|
+
select(value: unknown): void;
|
|
110
|
+
touch(): void;
|
|
111
|
+
writeValue(value: unknown): void;
|
|
112
|
+
registerOnChange(fn: (value: unknown) => void): void;
|
|
113
|
+
registerOnTouched(fn: () => void): void;
|
|
114
|
+
setDisabledState(isDisabled: boolean): void;
|
|
115
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadioGroup, never>;
|
|
116
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadioGroup, "wr-radio-group", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export { WR_RADIO_GROUP, WrRadio, WrRadioGroup };
|
|
120
|
+
export type { WrRadioGroupContext };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Star rating input. Click or hover to set a value; supports half-star
|
|
6
|
+
* increments via `step="0.5"`. Implements `ControlValueAccessor` — value
|
|
7
|
+
* is `number | null` (clamped to `[0, count]`).
|
|
8
|
+
*
|
|
9
|
+
* Keyboard: `←` / `→` bump by `step`, `Home` / `End` jump to 0 / max.
|
|
10
|
+
* Clicking the current value clears it (toggle off).
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <wr-rating [(ngModel)]="score" />
|
|
15
|
+
* <wr-rating [(ngModel)]="score" [count]="10" step="0.5" />
|
|
16
|
+
* <wr-rating [ngModel]="4.5" [readonly]="true" />
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @see https://ngwr.dev/components/rating
|
|
20
|
+
*/
|
|
21
|
+
declare class WrRating implements ControlValueAccessor {
|
|
22
|
+
/** Total number of slots. @default 5 */
|
|
23
|
+
readonly count: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
24
|
+
/** Step granularity — `1` for whole stars, `0.5` for halves. @default 1 */
|
|
25
|
+
readonly step: _angular_core.InputSignalWithTransform<1 | 0.5, unknown>;
|
|
26
|
+
/** Read-only — value is displayed but not interactive. @default false */
|
|
27
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
28
|
+
/** Disable interaction. @default false */
|
|
29
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
30
|
+
/** Accessible label. @default 'Rating' */
|
|
31
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
32
|
+
/** Last committed value (mirrored from the CVA). */
|
|
33
|
+
protected readonly value: _angular_core.WritableSignal<number | null>;
|
|
34
|
+
/** Transient hover preview — overrides `value` for display when set. */
|
|
35
|
+
protected readonly hoverValue: _angular_core.WritableSignal<number | null>;
|
|
36
|
+
private readonly disabledFromCva;
|
|
37
|
+
protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
|
|
38
|
+
protected readonly interactive: _angular_core.Signal<boolean>;
|
|
39
|
+
/** What we actually render — hover wins while hovering. */
|
|
40
|
+
protected readonly displayValue: _angular_core.Signal<number>;
|
|
41
|
+
protected readonly slots: _angular_core.Signal<number[]>;
|
|
42
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
43
|
+
/** Fill ratio for slot `i` in `[0, 1]` — drives the CSS clip width. */
|
|
44
|
+
protected fillFor(i: number): number;
|
|
45
|
+
private onChange;
|
|
46
|
+
private onTouched;
|
|
47
|
+
writeValue(value: number | null): void;
|
|
48
|
+
registerOnChange(fn: (value: number | null) => void): void;
|
|
49
|
+
registerOnTouched(fn: () => void): void;
|
|
50
|
+
setDisabledState(isDisabled: boolean): void;
|
|
51
|
+
protected onSlotMove(event: MouseEvent, index: number): void;
|
|
52
|
+
protected onLeave(): void;
|
|
53
|
+
protected onSlotClick(event: MouseEvent, index: number): void;
|
|
54
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
55
|
+
/** Convert a mouse position over slot `index` to a snapped value. */
|
|
56
|
+
private computeValue;
|
|
57
|
+
private commit;
|
|
58
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRating, never>;
|
|
59
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { WrRating };
|