ngwr 6.1.1 → 7.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/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/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-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 +266 -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 +361 -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 +576 -99
- 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 +83 -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 +356 -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 +102 -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-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 +164 -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,116 @@
|
|
|
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
|
+
* Selection mode for `<wr-calendar>`:
|
|
11
|
+
*
|
|
12
|
+
* - `single` — one date at a time, bound via `[(date)]`
|
|
13
|
+
* - `range` — start + end dates, bound via `[(range)]`
|
|
14
|
+
*/
|
|
15
|
+
type WrCalendarMode = 'single' | 'range';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @license
|
|
19
|
+
*
|
|
20
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
21
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* `[start, end]` tuple used by `<wr-calendar>` in `range` mode. Either side
|
|
25
|
+
* may be `null` while the user is mid-selection (start picked, end pending).
|
|
26
|
+
*/
|
|
27
|
+
type WrCalendarRange = readonly [Date | null, Date | null];
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Month-view calendar. Supports single-date selection (`mode="single"`) or
|
|
31
|
+
* date-range selection (`mode="range"`). Reusable on its own; consumed by
|
|
32
|
+
* `<wr-date-picker>` inside an overlay.
|
|
33
|
+
*
|
|
34
|
+
* Uses {@link WrDateAdapter} for all date math and formatting — register
|
|
35
|
+
* one via {@link provideWrDateAdapter} at bootstrap.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```html
|
|
39
|
+
* <wr-calendar [(date)]="picked" [min]="minDate" />
|
|
40
|
+
*
|
|
41
|
+
* <wr-calendar mode="range" [(range)]="[start, end]" />
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @see https://ngwr.dev/components/calendar
|
|
45
|
+
*/
|
|
46
|
+
declare class WrCalendar {
|
|
47
|
+
/** Selection mode. @default 'single' */
|
|
48
|
+
readonly mode: _angular_core.InputSignal<WrCalendarMode>;
|
|
49
|
+
/** Two-way bindable single value (used when `mode === 'single'`). */
|
|
50
|
+
readonly date: _angular_core.ModelSignal<Date | null>;
|
|
51
|
+
/** Two-way bindable `[start, end]` (used when `mode === 'range'`). */
|
|
52
|
+
readonly range: _angular_core.ModelSignal<WrCalendarRange>;
|
|
53
|
+
/** Min selectable date (inclusive). */
|
|
54
|
+
readonly min: _angular_core.InputSignal<Date | null>;
|
|
55
|
+
/** Max selectable date (inclusive). */
|
|
56
|
+
readonly max: _angular_core.InputSignal<Date | null>;
|
|
57
|
+
/** Predicate — return `false` to disable specific dates (e.g. weekends only). */
|
|
58
|
+
readonly dateFilter: _angular_core.InputSignal<((date: Date) => boolean) | null>;
|
|
59
|
+
/** Disable interaction entirely. @default false */
|
|
60
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
61
|
+
private readonly adapter;
|
|
62
|
+
private readonly host;
|
|
63
|
+
/** Currently displayed month (any date inside it). */
|
|
64
|
+
protected readonly viewDate: _angular_core.WritableSignal<Date>;
|
|
65
|
+
/** Date currently focused by keyboard (single roving tabindex). */
|
|
66
|
+
protected readonly focusedDate: _angular_core.WritableSignal<Date>;
|
|
67
|
+
/** Hovered date during range-mode end-pick — drives the preview highlight. */
|
|
68
|
+
protected readonly hoverDate: _angular_core.WritableSignal<Date | null>;
|
|
69
|
+
/** Which sub-view is currently shown. Cycles `day → month → year` on header click. */
|
|
70
|
+
protected readonly viewMode: _angular_core.WritableSignal<"day" | "month" | "year">;
|
|
71
|
+
protected readonly today: _angular_core.Signal<Date>;
|
|
72
|
+
protected readonly weekdayNames: _angular_core.Signal<readonly string[]>;
|
|
73
|
+
protected readonly monthsView: _angular_core.Signal<readonly string[]>;
|
|
74
|
+
/** 12-year window centered on the floor-aligned decade containing `viewDate`. */
|
|
75
|
+
protected readonly yearsView: _angular_core.Signal<readonly number[]>;
|
|
76
|
+
protected readonly headerLabel: _angular_core.Signal<string>;
|
|
77
|
+
/** 6×7 day grid covering the current month plus spillover. */
|
|
78
|
+
protected readonly weeks: _angular_core.Signal<readonly (readonly Date[])[]>;
|
|
79
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
80
|
+
constructor();
|
|
81
|
+
/** Header `‹` button — steps by month / year / decade based on the active view. */
|
|
82
|
+
protected prev(): void;
|
|
83
|
+
/** Header `›` button — steps by month / year / decade based on the active view. */
|
|
84
|
+
protected next(): void;
|
|
85
|
+
/** Header label click — zooms out (`day → month → year`). No-op at year view. */
|
|
86
|
+
protected onLabelClick(): void;
|
|
87
|
+
protected onMonthSelect(monthIdx: number): void;
|
|
88
|
+
protected onYearSelect(year: number): void;
|
|
89
|
+
private stepViewDate;
|
|
90
|
+
protected isToday(date: Date): boolean;
|
|
91
|
+
protected isOutOfMonth(date: Date): boolean;
|
|
92
|
+
protected isSelected(date: Date): boolean;
|
|
93
|
+
protected isInRange(date: Date): boolean;
|
|
94
|
+
protected isInRangePreview(date: Date): boolean;
|
|
95
|
+
protected isFocused(date: Date): boolean;
|
|
96
|
+
protected isDisabled(date: Date): boolean;
|
|
97
|
+
protected isMonthCurrent(monthIdx: number): boolean;
|
|
98
|
+
protected isMonthSelected(monthIdx: number): boolean;
|
|
99
|
+
protected isMonthDisabled(monthIdx: number): boolean;
|
|
100
|
+
protected isYearCurrent(year: number): boolean;
|
|
101
|
+
protected isYearSelected(year: number): boolean;
|
|
102
|
+
protected isYearDisabled(year: number): boolean;
|
|
103
|
+
protected onCellClick(date: Date): void;
|
|
104
|
+
protected onCellEnter(date: Date): void;
|
|
105
|
+
protected onCellLeave(): void;
|
|
106
|
+
private applyRangeClick;
|
|
107
|
+
protected onKeyDown(event: KeyboardEvent): void;
|
|
108
|
+
private focusActiveCell;
|
|
109
|
+
/** Used by the template's `track` expression. */
|
|
110
|
+
protected trackByTime(_: number, date: Date): number;
|
|
111
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCalendar, never>;
|
|
112
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCalendar, "wr-calendar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "date": "dateChange"; "range": "rangeChange"; }, never, never, true, never>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { WrCalendar };
|
|
116
|
+
export type { WrCalendarMode, WrCalendarRange };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Surface container with optional header, body, and footer slots.
|
|
5
|
+
*
|
|
6
|
+
* Compose with `<wr-card-header>`, the projected body content, and
|
|
7
|
+
* `<wr-card-footer>`. Each slot is a tiny component that just projects
|
|
8
|
+
* its content under the matching BEM class — consumers keep full control
|
|
9
|
+
* of the markup inside.
|
|
10
|
+
*
|
|
11
|
+
* @example Basic
|
|
12
|
+
* ```html
|
|
13
|
+
* <wr-card>
|
|
14
|
+
* <wr-card-header>
|
|
15
|
+
* <h3>Settings</h3>
|
|
16
|
+
* </wr-card-header>
|
|
17
|
+
* <p>Body content.</p>
|
|
18
|
+
* <wr-card-footer>
|
|
19
|
+
* <button wr-btn>Save</button>
|
|
20
|
+
* </wr-card-footer>
|
|
21
|
+
* </wr-card>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @see https://ngwr.dev/components/card
|
|
25
|
+
*/
|
|
26
|
+
declare class WrCard {
|
|
27
|
+
/** Render a 1px border around the surface. @default true */
|
|
28
|
+
readonly bordered: i0.InputSignalWithTransform<boolean, any>;
|
|
29
|
+
/** Lift / shadow the card on hover. @default false */
|
|
30
|
+
readonly hoverable: i0.InputSignalWithTransform<boolean, any>;
|
|
31
|
+
/** Overlay with a centred spinner — for in-place data loads. @default false */
|
|
32
|
+
readonly loading: i0.InputSignalWithTransform<boolean, any>;
|
|
33
|
+
/** Compact paddings — half the default vertical / horizontal spacing. @default false */
|
|
34
|
+
readonly compact: i0.InputSignalWithTransform<boolean, any>;
|
|
35
|
+
protected readonly classes: i0.Signal<string>;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrCard, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrCard, "wr-card", never, { "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "hoverable": { "alias": "hoverable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, ["wr-card-header", "*", "wr-card-footer"], true, never>;
|
|
38
|
+
}
|
|
39
|
+
/** Header slot — projects content under `.wr-card__header`. */
|
|
40
|
+
declare class WrCardHeader {
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrCardHeader, never>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrCardHeader, "wr-card-header", never, {}, {}, never, ["*"], true, never>;
|
|
43
|
+
}
|
|
44
|
+
/** Footer slot — projects content under `.wr-card__footer`. */
|
|
45
|
+
declare class WrCardFooter {
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrCardFooter, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrCardFooter, "wr-card-footer", never, {}, {}, never, ["*"], true, never>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export { WrCard, WrCardFooter, WrCardHeader };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* One slide in a {@link WrCarousel}. Holds whatever content you
|
|
5
|
+
* project — image, card, video, anything.
|
|
6
|
+
*/
|
|
7
|
+
declare class WrCarouselSlide {
|
|
8
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCarouselSlide, never>;
|
|
9
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCarouselSlide, "wr-carousel-slide", never, {}, {}, never, ["*"], true, never>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Slide carousel. Project `<wr-carousel-slide>` children — the carousel
|
|
14
|
+
* snaps between them with prev/next buttons and optional dots / autoplay.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <wr-carousel [(active)]="i" autoplay>
|
|
19
|
+
* <wr-carousel-slide><img src="a.jpg" /></wr-carousel-slide>
|
|
20
|
+
* <wr-carousel-slide><img src="b.jpg" /></wr-carousel-slide>
|
|
21
|
+
* <wr-carousel-slide><img src="c.jpg" /></wr-carousel-slide>
|
|
22
|
+
* </wr-carousel>
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @see https://ngwr.dev/components/carousel
|
|
26
|
+
*/
|
|
27
|
+
declare class WrCarousel {
|
|
28
|
+
/** Active slide index. Two-way bindable. @default 0 */
|
|
29
|
+
readonly active: _angular_core.ModelSignal<number>;
|
|
30
|
+
/** Show prev / next arrow buttons. @default true */
|
|
31
|
+
readonly showArrows: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
32
|
+
/** Show dot indicators below the slides. @default true */
|
|
33
|
+
readonly showDots: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
34
|
+
/** Auto-advance slides. @default false */
|
|
35
|
+
readonly autoplay: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
36
|
+
/** Autoplay interval (ms). @default 4000 */
|
|
37
|
+
readonly intervalMs: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
38
|
+
/** Wrap around at the ends. @default true */
|
|
39
|
+
readonly loop: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
40
|
+
protected readonly slides: _angular_core.Signal<readonly WrCarouselSlide[]>;
|
|
41
|
+
protected readonly count: _angular_core.Signal<number>;
|
|
42
|
+
/** CSS transform for the track. */
|
|
43
|
+
protected readonly trackStyle: _angular_core.Signal<string>;
|
|
44
|
+
private timer;
|
|
45
|
+
private readonly paused;
|
|
46
|
+
private readonly destroyRef;
|
|
47
|
+
constructor();
|
|
48
|
+
protected onMouseEnter(): void;
|
|
49
|
+
protected onMouseLeave(): void;
|
|
50
|
+
goTo(index: number): void;
|
|
51
|
+
next(): void;
|
|
52
|
+
prev(): void;
|
|
53
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCarousel, never>;
|
|
54
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCarousel, "wr-carousel", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "showArrows": { "alias": "showArrows"; "required": false; "isSignal": true; }; "showDots": { "alias": "showDots"; "required": false; "isSignal": true; }; "autoplay": { "alias": "autoplay"; "required": false; "isSignal": true; }; "intervalMs": { "alias": "intervalMs"; "required": false; "isSignal": true; }; "loop": { "alias": "loop"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["slides"], ["*"], true, never>;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { WrCarousel, WrCarouselSlide };
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
/** One node in the cascader tree. */
|
|
6
|
+
interface WrCascaderOption<T = string> {
|
|
7
|
+
/** Value contributed when this node is part of the selection path. */
|
|
8
|
+
readonly value: T;
|
|
9
|
+
/** Display label for this node. */
|
|
10
|
+
readonly label: string;
|
|
11
|
+
/** Disable interaction for this node. @default false */
|
|
12
|
+
readonly disabled?: boolean;
|
|
13
|
+
/** Children. Absence (or empty array) marks this as a leaf. */
|
|
14
|
+
readonly children?: readonly WrCascaderOption<T>[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Multi-level select — drills down through hierarchical categories
|
|
19
|
+
* (e.g. country → state → city). Each level renders as a column; clicks
|
|
20
|
+
* advance to the next column. Selecting a leaf (no children) commits
|
|
21
|
+
* the full path.
|
|
22
|
+
*
|
|
23
|
+
* Implements `ControlValueAccessor` — value is the path through the
|
|
24
|
+
* tree as a `readonly T[]`.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```html
|
|
28
|
+
* <wr-cascader [options]="locations" [(ngModel)]="path" placeholder="Pick a location" />
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* locations: WrCascaderOption[] = [
|
|
33
|
+
* {
|
|
34
|
+
* value: 'us', label: 'United States', children: [
|
|
35
|
+
* { value: 'ny', label: 'New York', children: [
|
|
36
|
+
* { value: 'nyc', label: 'NYC' },
|
|
37
|
+
* { value: 'buf', label: 'Buffalo' },
|
|
38
|
+
* ] },
|
|
39
|
+
* ],
|
|
40
|
+
* },
|
|
41
|
+
* ];
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @see https://ngwr.dev/components/cascader
|
|
45
|
+
*/
|
|
46
|
+
declare class WrCascader<T = string> implements ControlValueAccessor {
|
|
47
|
+
/** Root-level options. Each may have `children` for deeper levels. */
|
|
48
|
+
readonly options: _angular_core.InputSignal<readonly WrCascaderOption<T>[]>;
|
|
49
|
+
/** Placeholder shown when no path is selected. @default '' */
|
|
50
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
51
|
+
/** Disable the cascader. */
|
|
52
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
53
|
+
/** Show a clear-all (×) button on the trigger when a path is selected. @default true */
|
|
54
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
55
|
+
/**
|
|
56
|
+
* Allow selecting non-leaf (parent) nodes. When `false`, only leaves
|
|
57
|
+
* (nodes without children) commit a selection. @default false
|
|
58
|
+
*/
|
|
59
|
+
readonly changeOnSelect: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
60
|
+
/** Separator between labels in the trigger display. @default '/' */
|
|
61
|
+
readonly separator: _angular_core.InputSignal<string>;
|
|
62
|
+
/** Committed selection path (full T[] from root to leaf). @internal */
|
|
63
|
+
protected readonly path: _angular_core.WritableSignal<readonly T[]>;
|
|
64
|
+
/** Currently-expanded column path — drives which columns the panel shows. @internal */
|
|
65
|
+
protected readonly activePath: _angular_core.WritableSignal<readonly T[]>;
|
|
66
|
+
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
67
|
+
/** Panel id used by the trigger's `aria-controls`. */
|
|
68
|
+
protected readonly panelId: string;
|
|
69
|
+
private readonly disabledFromCva;
|
|
70
|
+
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
* Columns visible in the panel. Each column shows the children of the
|
|
73
|
+
* preceding activePath entry. Column 0 = root options. The last
|
|
74
|
+
* column is whatever the deepest active node's children resolve to —
|
|
75
|
+
* we only render a column when there are children to show.
|
|
76
|
+
*/
|
|
77
|
+
protected readonly columns: _angular_core.Signal<readonly (readonly WrCascaderOption<T>[])[]>;
|
|
78
|
+
/** Label trail joined by `separator()` — what the trigger shows. */
|
|
79
|
+
protected readonly displayLabel: _angular_core.Signal<string | null>;
|
|
80
|
+
protected readonly hasSelection: _angular_core.Signal<boolean>;
|
|
81
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
82
|
+
protected readonly panelTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
83
|
+
private readonly host;
|
|
84
|
+
private readonly overlay;
|
|
85
|
+
private readonly vcr;
|
|
86
|
+
private readonly scrollStrategies;
|
|
87
|
+
private readonly destroyRef;
|
|
88
|
+
private overlayRef;
|
|
89
|
+
private onChange;
|
|
90
|
+
protected onTouched: () => void;
|
|
91
|
+
constructor();
|
|
92
|
+
protected onTriggerClick(): void;
|
|
93
|
+
protected onOptionClick(colIndex: number, opt: WrCascaderOption<T>, event: Event): void;
|
|
94
|
+
protected clearSelection(event: Event): void;
|
|
95
|
+
protected isActiveAt(colIndex: number, value: T): boolean;
|
|
96
|
+
writeValue(value: unknown): void;
|
|
97
|
+
registerOnChange(fn: (value: readonly T[]) => void): void;
|
|
98
|
+
registerOnTouched(fn: () => void): void;
|
|
99
|
+
setDisabledState(isDisabled: boolean): void;
|
|
100
|
+
private openOverlay;
|
|
101
|
+
private closeOverlay;
|
|
102
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCascader<any>, never>;
|
|
103
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCascader<any>, "wr-cascader", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "changeOnSelect": { "alias": "changeOnSelect"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export { WrCascader };
|
|
107
|
+
export type { WrCascaderOption };
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { InjectionToken, Signal } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Two-state checkbox.
|
|
7
|
+
*
|
|
8
|
+
* **Standalone mode** — boolean value, works as a `ControlValueAccessor`:
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <wr-checkbox [(ngModel)]="agree">I agree</wr-checkbox>
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* **Inside `<wr-checkbox-group>`** — the checkbox's `value` is added to
|
|
16
|
+
* or removed from the group's array. The standalone CVA is ignored.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```html
|
|
20
|
+
* <wr-checkbox-group [(ngModel)]="features">
|
|
21
|
+
* <wr-checkbox value="autosave">Autosave</wr-checkbox>
|
|
22
|
+
* <wr-checkbox value="notifications">Notifications</wr-checkbox>
|
|
23
|
+
* </wr-checkbox-group>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @see https://ngwr.dev/components/checkbox
|
|
27
|
+
*/
|
|
28
|
+
declare class WrCheckbox implements ControlValueAccessor {
|
|
29
|
+
/**
|
|
30
|
+
* Stable id used to associate the native input with its label.
|
|
31
|
+
*
|
|
32
|
+
* @default Randomly generated
|
|
33
|
+
*/
|
|
34
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Per-checkbox value used only when inside a `<wr-checkbox-group>`.
|
|
37
|
+
* Ignored in standalone mode.
|
|
38
|
+
*/
|
|
39
|
+
readonly value: _angular_core.InputSignal<unknown>;
|
|
40
|
+
/**
|
|
41
|
+
* Disable the checkbox. Also set automatically by Angular forms.
|
|
42
|
+
*
|
|
43
|
+
* @default false
|
|
44
|
+
*/
|
|
45
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
46
|
+
/**
|
|
47
|
+
* Optional icon name rendered inside the box when checked, in place of the
|
|
48
|
+
* default checkmark. Use any registered NGWR icon.
|
|
49
|
+
*/
|
|
50
|
+
readonly icon: _angular_core.InputSignal<string | null>;
|
|
51
|
+
private readonly group;
|
|
52
|
+
protected readonly standaloneChecked: _angular_core.WritableSignal<boolean>;
|
|
53
|
+
protected readonly standaloneDisabledFromCva: _angular_core.WritableSignal<boolean>;
|
|
54
|
+
/** Derived "is checked". Reads from group when grouped, else local state. */
|
|
55
|
+
protected readonly checked: _angular_core.Signal<boolean>;
|
|
56
|
+
/** Effective disabled — input wins, then group, then CVA. */
|
|
57
|
+
protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
|
|
58
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
59
|
+
private onChange;
|
|
60
|
+
private onTouched;
|
|
61
|
+
writeValue(value: boolean | null): void;
|
|
62
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
63
|
+
registerOnTouched(fn: () => void): void;
|
|
64
|
+
setDisabledState(isDisabled: boolean): void;
|
|
65
|
+
protected onInputChange(event: Event): void;
|
|
66
|
+
protected onInputBlur(): void;
|
|
67
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCheckbox, never>;
|
|
68
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckbox, "wr-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @license
|
|
73
|
+
*
|
|
74
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
75
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Contract a checkbox uses to talk to its parent `<wr-checkbox-group>`.
|
|
80
|
+
*
|
|
81
|
+
* @internal
|
|
82
|
+
*/
|
|
83
|
+
interface WrCheckboxGroupContext {
|
|
84
|
+
/** Is the given value currently selected? */
|
|
85
|
+
isSelected(value: unknown): boolean;
|
|
86
|
+
/** Toggle the given value in the group. */
|
|
87
|
+
toggle(value: unknown): void;
|
|
88
|
+
/** Whether the entire group is disabled. */
|
|
89
|
+
readonly isDisabled: Signal<boolean>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Token a `<wr-checkbox>` injects to read selection state from — and
|
|
93
|
+
* toggle values in — its parent `<wr-checkbox-group>` (when present).
|
|
94
|
+
*
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
declare const WR_CHECKBOX_GROUP: InjectionToken<WrCheckboxGroupContext>;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Manages a group of `<wr-checkbox>` children as a single form value
|
|
101
|
+
* (an array of the checked items' `value` inputs).
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```html
|
|
105
|
+
* <wr-checkbox-group [(ngModel)]="features">
|
|
106
|
+
* <wr-checkbox value="autosave">Autosave</wr-checkbox>
|
|
107
|
+
* <wr-checkbox value="notifications">Notifications</wr-checkbox>
|
|
108
|
+
* <wr-checkbox value="darkmode">Dark mode</wr-checkbox>
|
|
109
|
+
* </wr-checkbox-group>
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
* @see https://ngwr.dev/components/checkbox
|
|
113
|
+
*/
|
|
114
|
+
declare class WrCheckboxGroup implements ControlValueAccessor, WrCheckboxGroupContext {
|
|
115
|
+
/**
|
|
116
|
+
* Disable every child checkbox. Also set by Angular forms via
|
|
117
|
+
* `setDisabledState`.
|
|
118
|
+
*
|
|
119
|
+
* @default false
|
|
120
|
+
*/
|
|
121
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
122
|
+
private readonly selected;
|
|
123
|
+
private readonly disabledFromCva;
|
|
124
|
+
/** Effective disabled state — input wins, CVA second. */
|
|
125
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
126
|
+
private onChange;
|
|
127
|
+
private onTouched;
|
|
128
|
+
isSelected(value: unknown): boolean;
|
|
129
|
+
toggle(value: unknown): void;
|
|
130
|
+
writeValue(value: unknown): void;
|
|
131
|
+
registerOnChange(fn: (value: unknown[]) => void): void;
|
|
132
|
+
registerOnTouched(fn: () => void): void;
|
|
133
|
+
setDisabledState(isDisabled: boolean): void;
|
|
134
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCheckboxGroup, never>;
|
|
135
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckboxGroup, "wr-checkbox-group", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { WR_CHECKBOX_GROUP, WrCheckbox, WrCheckboxGroup };
|
|
139
|
+
export type { WrCheckboxGroupContext };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type WrCircularTextHover = 'speedUp' | 'slowDown' | 'pause' | 'goBonkers' | null;
|
|
4
|
+
|
|
5
|
+
interface Char {
|
|
6
|
+
readonly ch: string;
|
|
7
|
+
readonly transform: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Text laid out around a circle, with the whole circle spinning. Hover
|
|
11
|
+
* behaviour swaps the spin rate (or pauses it) — the current rotation
|
|
12
|
+
* angle is preserved across the swap so there's no visible jump.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```html
|
|
16
|
+
* <wr-circular-text text="HELLO * NGWR * " />
|
|
17
|
+
* <wr-circular-text text="GO BONKERS" onHover="goBonkers" [spinDuration]="12" />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @see https://www.reactbits.dev/text-animations/circular-text
|
|
21
|
+
*/
|
|
22
|
+
declare class WrCircularText {
|
|
23
|
+
/** Text to lay out around the circle. */
|
|
24
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
25
|
+
/** Seconds per full revolution at rest. @default 20 */
|
|
26
|
+
readonly spinDuration: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
27
|
+
/** Hover behaviour. `null` disables hover reactivity. @default 'speedUp' */
|
|
28
|
+
readonly onHover: _angular_core.InputSignal<WrCircularTextHover>;
|
|
29
|
+
protected readonly chars: _angular_core.Signal<readonly Char[]>;
|
|
30
|
+
private readonly spinEl;
|
|
31
|
+
private readonly destroyRef;
|
|
32
|
+
private readonly isBrowser;
|
|
33
|
+
private readonly platform;
|
|
34
|
+
private rotation;
|
|
35
|
+
private hovered;
|
|
36
|
+
/** Active spin duration in seconds — base, or hover-modified. */
|
|
37
|
+
private effectiveDuration;
|
|
38
|
+
constructor();
|
|
39
|
+
/**
|
|
40
|
+
* Start the rotation, or swap its duration while preserving the
|
|
41
|
+
* current angle. If the new mode is `pause`, just pause the animation.
|
|
42
|
+
*/
|
|
43
|
+
private startOrSwap;
|
|
44
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCircularText, never>;
|
|
45
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCircularText, "wr-circular-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "spinDuration": { "alias": "spinDuration"; "required": false; "isSignal": true; }; "onHover": { "alias": "onHover"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { WrCircularText };
|
|
49
|
+
export type { WrCircularTextHover };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type WrClickSparkEasing = 'linear' | 'ease-in' | 'ease-in-out' | 'ease-out';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Click ripple — bursts a ring of short line sparks from the click point
|
|
7
|
+
* across any projected content. Wraps children in a positioned container
|
|
8
|
+
* with a `pointer-events: none` canvas overlay, so projected DOM stays
|
|
9
|
+
* fully interactive.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <wr-click-spark>
|
|
14
|
+
* <h1>Click anywhere</h1>
|
|
15
|
+
* <button>Buttons still work</button>
|
|
16
|
+
* </wr-click-spark>
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @see https://www.reactbits.dev/animations/click-spark
|
|
20
|
+
*/
|
|
21
|
+
declare class WrClickSpark {
|
|
22
|
+
/** Spark line colour. @default '#fff' */
|
|
23
|
+
readonly sparkColor: _angular_core.InputSignal<string>;
|
|
24
|
+
/** Length of each spark line in pixels (at t=0; tapers to 0 at t=1). @default 10 */
|
|
25
|
+
readonly sparkSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
26
|
+
/** Distance each spark travels from origin in pixels. @default 15 */
|
|
27
|
+
readonly sparkRadius: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
28
|
+
/** Number of sparks per click (evenly distributed around the circle). @default 8 */
|
|
29
|
+
readonly sparkCount: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
30
|
+
/** Animation duration in ms. @default 400 */
|
|
31
|
+
readonly duration: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
32
|
+
/** Easing function applied to the travel distance. @default 'ease-out' */
|
|
33
|
+
readonly easing: _angular_core.InputSignal<WrClickSparkEasing>;
|
|
34
|
+
/** Multiplier on the travel distance — bumps the radius without changing `sparkRadius`. @default 1 */
|
|
35
|
+
readonly extraScale: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
36
|
+
private readonly canvasRef;
|
|
37
|
+
private readonly host;
|
|
38
|
+
private readonly destroyRef;
|
|
39
|
+
private readonly isBrowser;
|
|
40
|
+
private readonly platform;
|
|
41
|
+
private sparks;
|
|
42
|
+
constructor();
|
|
43
|
+
protected onClick(event: MouseEvent): void;
|
|
44
|
+
private syncCanvasSize;
|
|
45
|
+
private watchResize;
|
|
46
|
+
private startLoop;
|
|
47
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrClickSpark, never>;
|
|
48
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrClickSpark, "wr-click-spark", never, { "sparkColor": { "alias": "sparkColor"; "required": false; "isSignal": true; }; "sparkSize": { "alias": "sparkSize"; "required": false; "isSignal": true; }; "sparkRadius": { "alias": "sparkRadius"; "required": false; "isSignal": true; }; "sparkCount": { "alias": "sparkCount"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "easing": { "alias": "easing"; "required": false; "isSignal": true; }; "extraScale": { "alias": "extraScale"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { WrClickSpark };
|
|
52
|
+
export type { WrClickSparkEasing };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/** Outcome of a clipboard read or permission probe. */
|
|
4
|
+
type WrClipboardPermission = 'granted' | 'denied' | 'prompt' | 'unsupported';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Programmatic clipboard read / write.
|
|
8
|
+
*
|
|
9
|
+
* - **Write** uses `navigator.clipboard.writeText` with a hidden
|
|
10
|
+
* `<textarea>` + `execCommand('copy')` fallback for non-secure contexts.
|
|
11
|
+
* - **Read** uses `navigator.clipboard.readText` (no fallback — older
|
|
12
|
+
* browsers expose no equivalent).
|
|
13
|
+
* - **Available** / **permission** check what the current browser allows
|
|
14
|
+
* so UI can disable the action when it would silently no-op.
|
|
15
|
+
*
|
|
16
|
+
* SSR-safe: every method short-circuits when there's no `document.defaultView`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const clip = inject(WrClipboard);
|
|
21
|
+
*
|
|
22
|
+
* await clip.write('Hello'); // resolves to true on success
|
|
23
|
+
* const text = await clip.read(); // string | null
|
|
24
|
+
* clip.available(); // boolean
|
|
25
|
+
* await clip.permission('write'); // 'granted' | 'denied' | 'prompt' | 'unsupported'
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @see https://ngwr.dev/services/clipboard
|
|
29
|
+
*/
|
|
30
|
+
declare class WrClipboard {
|
|
31
|
+
private readonly doc;
|
|
32
|
+
/** Is any clipboard write path available (async API or `execCommand`)? */
|
|
33
|
+
available(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Write text. Resolves to `true` on success, `false` on failure (denied
|
|
36
|
+
* permission, no clipboard, etc).
|
|
37
|
+
*/
|
|
38
|
+
write(text: string): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Read text from the clipboard. Returns `null` when unsupported or
|
|
41
|
+
* when the user denied the permission prompt.
|
|
42
|
+
*/
|
|
43
|
+
read(): Promise<string | null>;
|
|
44
|
+
/** Probe the Permissions API for `clipboard-read` / `clipboard-write`. */
|
|
45
|
+
permission(name: 'read' | 'write'): Promise<WrClipboardPermission>;
|
|
46
|
+
/** Hidden-textarea + `execCommand('copy')` write. Synchronous, no permissions. */
|
|
47
|
+
private legacyWrite;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrClipboard, never>;
|
|
49
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<WrClipboard>;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { WrClipboard };
|
|
53
|
+
export type { WrClipboardPermission };
|