ngwr 6.0.0 → 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 -383
- 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 -650
- 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 +168 -190
- 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 +842 -307
- 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 +218 -207
- 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/{alert/alert-type.d.ts → schematics/component-style/schema.js} +2 -1
- package/schematics/component-style/schema.json +20 -0
- package/schematics/icon-set/index.js +96 -0
- package/{avatar/public-api.d.ts → schematics/icon-set/schema.js} +2 -1
- 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/{cdk/public-api.d.ts → schematics/ng-add/schema.js} +2 -1
- package/schematics/ng-add/schema.json +80 -0
- package/schematics/page/index.js +63 -0
- package/{alert/public-api.d.ts → schematics/page/schema.js} +2 -2
- 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/types/ngwr.d.ts +2 -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/alert.component.d.ts +0 -21
- package/alert/index.d.ts +0 -5
- package/alert/styles/theming.scss +0 -26
- package/alert/styles/vars.scss +0 -11
- package/avatar/avatar.component.d.ts +0 -27
- package/avatar/index.d.ts +0 -5
- package/button/button-group.component.d.ts +0 -12
- package/button/button.component.d.ts +0 -31
- package/button/index.d.ts +0 -5
- package/button/public-api.d.ts +0 -8
- package/button/styles/vars.scss +0 -13
- package/cdk/base.directive.d.ts +0 -20
- package/cdk/index.d.ts +0 -5
- package/cdk/rxjs/index.d.ts +0 -5
- package/cdk/rxjs/is-array.d.ts +0 -8
- package/cdk/rxjs/is-defined.d.ts +0 -8
- package/cdk/rxjs/is-not-empty-array.d.ts +0 -8
- package/cdk/rxjs/is-observable.d.ts +0 -9
- package/cdk/rxjs/public-api.d.ts +0 -10
- package/cdk/types/index.d.ts +0 -5
- package/cdk/types/maybe.d.ts +0 -7
- package/cdk/types/public-api.d.ts +0 -9
- package/cdk/types/safe-any.d.ts +0 -7
- package/cdk/types/theme-color.d.ts +0 -8
- package/cdk/utils/generate-random-id.d.ts +0 -12
- package/cdk/utils/index.d.ts +0 -5
- package/cdk/utils/public-api.d.ts +0 -7
- package/checkbox/checkbox.component.d.ts +0 -28
- package/checkbox/index.d.ts +0 -5
- package/checkbox/public-api.d.ts +0 -7
- package/checkbox/styles/vars.scss +0 -16
- package/dialog/dialog-animations.d.ts +0 -22
- package/dialog/dialog-base.directive.d.ts +0 -40
- package/dialog/dialog-close.directive.d.ts +0 -9
- package/dialog/dialog-content.directive.d.ts +0 -6
- package/dialog/dialog-data.token.d.ts +0 -8
- package/dialog/dialog-footer.directive.d.ts +0 -8
- package/dialog/dialog-options.d.ts +0 -19
- package/dialog/dialog-ref.d.ts +0 -26
- package/dialog/dialog-title.directive.d.ts +0 -6
- package/dialog/dialog.component.d.ts +0 -28
- package/dialog/dialog.module.d.ts +0 -6
- package/dialog/dialog.service.d.ts +0 -28
- package/dialog/index.d.ts +0 -5
- package/dialog/public-api.d.ts +0 -18
- package/dialog/styles/vars.scss +0 -7
- package/divider/divider.component.d.ts +0 -13
- package/divider/index.d.ts +0 -5
- package/divider/public-api.d.ts +0 -7
- package/dropdown/dropdown-menu-item.component.d.ts +0 -12
- package/dropdown/dropdown-menu.component.d.ts +0 -14
- package/dropdown/dropdown.directive.d.ts +0 -29
- package/dropdown/dropdown.types.d.ts +0 -9
- package/dropdown/index.d.ts +0 -5
- package/dropdown/public-api.d.ts +0 -10
- 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/form-error.component.d.ts +0 -11
- package/form/form-item.component.d.ts +0 -14
- package/form/index.d.ts +0 -5
- package/form/public-api.d.ts +0 -8
- package/icon/icon.component.d.ts +0 -24
- package/icon/icon.service.d.ts +0 -23
- package/icon/icons.d.ts +0 -770
- package/icon/index.d.ts +0 -5
- package/icon/provide-wr-icons.d.ts +0 -9
- package/icon/public-api.d.ts +0 -10
- package/icon/styles/vars.scss +0 -3
- package/index.d.ts +0 -5
- package/input/index.d.ts +0 -5
- package/input/input-types.d.ts +0 -1
- package/input/input.component.d.ts +0 -38
- package/input/public-api.d.ts +0 -8
- package/input/styles/vars.scss +0 -17
- package/pagination/index.d.ts +0 -5
- package/pagination/pagination.component.d.ts +0 -23
- package/pagination/pagination.types.d.ts +0 -7
- package/pagination/public-api.d.ts +0 -8
- package/pagination/styles/vars.scss +0 -14
- package/pipes/index.d.ts +0 -5
- package/pipes/new-array.pipe.d.ts +0 -13
- package/pipes/public-api.d.ts +0 -7
- package/progress/index.d.ts +0 -5
- package/progress/progress.component.d.ts +0 -10
- package/progress/public-api.d.ts +0 -7
- package/progress/styles/theming.scss +0 -8
- package/progress/styles/vars.scss +0 -6
- package/public-api.d.ts +0 -2
- package/qr/generator.d.ts +0 -7
- package/qr/index.d.ts +0 -5
- package/qr/public-api.d.ts +0 -7
- package/qr/qr.component.d.ts +0 -31
- package/qr/qrcodegen.d.ts +0 -94
- package/select/index.d.ts +0 -5
- package/select/public-api.d.ts +0 -10
- package/select/select-option-group.component.d.ts +0 -19
- package/select/select-option.component.d.ts +0 -22
- package/select/select.component.d.ts +0 -63
- package/select/select.types.d.ts +0 -17
- package/select/styles/vars.scss +0 -32
- package/skeleton/index.d.ts +0 -1
- package/skeleton/skeleton.component.d.ts +0 -10
- package/spinner/index.d.ts +0 -1
- package/spinner/spinner.component.d.ts +0 -13
- package/spinner/spinner.types.d.ts +0 -7
- 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 -5
- package/table/public-api.d.ts +0 -11
- 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/table/table-cell/index.d.ts +0 -7
- package/table/table-cell/table-cell.directive.d.ts +0 -8
- package/table/table-filter/index.d.ts +0 -7
- package/table/table-filter/table-filter.component.d.ts +0 -18
- package/table/table-sort/index.d.ts +0 -7
- package/table/table-sort/table-sort.component.d.ts +0 -8
- package/table/table.component.d.ts +0 -33
- package/table/types/index.d.ts +0 -6
- package/table/types/table-cell-context.d.ts +0 -6
- package/table/types/table-columns.d.ts +0 -7
- package/table/types/table-filter-emit.d.ts +0 -5
- package/table/types/table-filter-item.d.ts +0 -6
- package/table/types/table-order-item.d.ts +0 -5
- package/table/types/table-order.enum.d.ts +0 -5
- package/tag/index.d.ts +0 -5
- package/tag/public-api.d.ts +0 -7
- package/tag/styles/_index.scss +0 -32
- package/tag/styles/theming.scss +0 -21
- package/tag/styles/vars.scss +0 -12
- package/tag/tag.component.d.ts +0 -21
- package/textarea/index.d.ts +0 -7
- package/textarea/public-api.d.ts +0 -7
- package/textarea/styles/vars.scss +0 -17
- package/textarea/textarea.component.d.ts +0 -44
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import * as ngwr_i18n from 'ngwr/i18n';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { InjectionToken, Signal, TemplateRef, ElementRef } from '@angular/core';
|
|
4
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
*
|
|
10
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
11
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Behavior mode for `<wr-select>`. The component is the unified
|
|
16
|
+
* combobox primitive — every shape (single, multi, type-to-search,
|
|
17
|
+
* free-text-tags) is the same component with a different `mode`.
|
|
18
|
+
*
|
|
19
|
+
* - `'single'` — one value, no input field. The classic dropdown.
|
|
20
|
+
* - `'multi'` — array value, chips on the trigger, options toggle on click.
|
|
21
|
+
* - `'search'` — type-ahead with sync filter or async loader (replaces
|
|
22
|
+
* the standalone `<wr-autocomplete>`).
|
|
23
|
+
* - `'tag'` — free-text + chips, with optional `allowCreate` /
|
|
24
|
+
* `createValidator` for typed lists (replaces `<wr-chips-input>`).
|
|
25
|
+
*/
|
|
26
|
+
type WrSelectMode = 'single' | 'multi' | 'search' | 'tag';
|
|
27
|
+
/**
|
|
28
|
+
* Tag-mode validator. Return `true` to accept the value, `false` to
|
|
29
|
+
* silently reject (e.g. shape check, dedupe against a custom set).
|
|
30
|
+
*/
|
|
31
|
+
type WrSelectTagValidator = (value: string, existing: readonly string[]) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Search-mode async loader. Receives the current query, returns matching
|
|
34
|
+
* items as an array, Observable, or Promise. Cancellation: `switchMap`
|
|
35
|
+
* inside `WrSelect` cancels in-flight calls when a new keystroke lands,
|
|
36
|
+
* so stale responses can't clobber fresh ones.
|
|
37
|
+
*/
|
|
38
|
+
type WrSelectSearchLoader<T> = (query: string) => Observable<readonly T[]> | Promise<readonly T[]> | readonly T[];
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @license
|
|
42
|
+
*
|
|
43
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
44
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
45
|
+
*/
|
|
46
|
+
|
|
47
|
+
/** Per-option registration metadata. @internal */
|
|
48
|
+
interface WrSelectOptionRegistration {
|
|
49
|
+
readonly id: string;
|
|
50
|
+
readonly value: unknown;
|
|
51
|
+
readonly disabled: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Lazy label reader. Options render text via `<ng-content>`, so we
|
|
54
|
+
* read it at call time once Angular has settled the projected content.
|
|
55
|
+
*/
|
|
56
|
+
readonly getLabel: () => string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Contract a `<wr-option>` uses to talk to its parent `<wr-select>`.
|
|
60
|
+
*
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
interface WrSelectContext {
|
|
64
|
+
/**
|
|
65
|
+
* Currently selected value. Single mode: `T | null`. Multi mode:
|
|
66
|
+
* `readonly T[]`. Options consult {@link isSelected} instead of
|
|
67
|
+
* reading this directly so the same option code works in both modes.
|
|
68
|
+
*/
|
|
69
|
+
readonly value: Signal<unknown>;
|
|
70
|
+
/** Whether the select is in multi-selection mode. */
|
|
71
|
+
readonly multi: Signal<boolean>;
|
|
72
|
+
/** Whether the select is disabled. */
|
|
73
|
+
readonly isDisabled: Signal<boolean>;
|
|
74
|
+
/** Id of the option currently highlighted by keyboard navigation. */
|
|
75
|
+
readonly activeOptionId: Signal<string | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Active search query (search mode only). Empty string when there is
|
|
78
|
+
* no filter applied — options treat that as "show me".
|
|
79
|
+
*/
|
|
80
|
+
readonly searchQuery: Signal<string>;
|
|
81
|
+
/** True only when `mode="search"`. Options gate filtering on this. */
|
|
82
|
+
readonly isSearch: Signal<boolean>;
|
|
83
|
+
/** Is the given option value currently selected? Handles both single and multi. */
|
|
84
|
+
isSelected(value: unknown): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Called when a child option is clicked. The label is read lazily
|
|
87
|
+
* via {@link WrSelectOptionRegistration.getLabel}, so callers don't
|
|
88
|
+
* need to thread it through.
|
|
89
|
+
*/
|
|
90
|
+
selectOption(value: unknown): void;
|
|
91
|
+
/** Register an option; returns an unregister function. */
|
|
92
|
+
registerOption(reg: WrSelectOptionRegistration): () => void;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Token a `<wr-option>` injects to register itself with and notify its
|
|
96
|
+
* parent `<wr-select>`.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
declare const WR_SELECT: InjectionToken<WrSelectContext>;
|
|
101
|
+
|
|
102
|
+
interface SelectedChip {
|
|
103
|
+
readonly value: unknown;
|
|
104
|
+
readonly label: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Combobox primitive. Renders a button that opens a CDK overlay
|
|
108
|
+
* containing the projected `<wr-option>` (and optionally
|
|
109
|
+
* `<wr-option-group>`) children. Every shape is the same component
|
|
110
|
+
* with a different `[mode]`:
|
|
111
|
+
*
|
|
112
|
+
* - `'single'` (default) — one value, no input. Classic dropdown.
|
|
113
|
+
* - `'multi'` — array value, chips on the trigger; clicking an option
|
|
114
|
+
* toggles instead of closing, Backspace removes the last chip.
|
|
115
|
+
* - `'search'` — type-ahead with sync `[options]` filter or async
|
|
116
|
+
* `[loader]`. Replaces the standalone `<wr-autocomplete>`.
|
|
117
|
+
* - `'tag'` — free-text + chips with `[separators]` / `[validate]` /
|
|
118
|
+
* `[allowDuplicates]`. Replaces `<wr-chips-input>`.
|
|
119
|
+
*
|
|
120
|
+
* Implements `ControlValueAccessor` — usable with `[(ngModel)]`,
|
|
121
|
+
* `formControl`, or `formControlName`.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```html
|
|
125
|
+
* <!-- Single -->
|
|
126
|
+
* <wr-select placeholder="Pick a size" [(ngModel)]="size">
|
|
127
|
+
* <wr-option value="sm">Small</wr-option>
|
|
128
|
+
* <wr-option value="md">Medium</wr-option>
|
|
129
|
+
* <wr-option value="lg">Large</wr-option>
|
|
130
|
+
* </wr-select>
|
|
131
|
+
*
|
|
132
|
+
* <!-- Multi -->
|
|
133
|
+
* <wr-select mode="multi" placeholder="Pick tags" [(ngModel)]="tags">
|
|
134
|
+
* <wr-option value="ts">TypeScript</wr-option>
|
|
135
|
+
* <wr-option value="ng">Angular</wr-option>
|
|
136
|
+
* </wr-select>
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* The legacy `[multi]="true"` boolean is still accepted but is now an
|
|
140
|
+
* alias for `[mode]="'multi'"` — prefer the explicit mode.
|
|
141
|
+
*
|
|
142
|
+
* @see https://ngwr.dev/components/select
|
|
143
|
+
*/
|
|
144
|
+
declare class WrSelect implements ControlValueAccessor, WrSelectContext {
|
|
145
|
+
/** Placeholder shown when no option is selected. Falls back to `select.placeholder`. */
|
|
146
|
+
readonly placeholder: _angular_core.InputSignal<string | null>;
|
|
147
|
+
/** Clear-selection (×) button aria-label. Falls back to `select.clearSelection`. */
|
|
148
|
+
readonly clearLabel: _angular_core.InputSignal<string | null>;
|
|
149
|
+
protected readonly resolvedPlaceholder: _angular_core.Signal<string>;
|
|
150
|
+
protected readonly resolvedClear: _angular_core.Signal<string>;
|
|
151
|
+
/** Per-chip ARIA label — interpolates `{{label}}`. @internal */
|
|
152
|
+
protected readonly chipRemoveLabel: (params?: ngwr_i18n.WrI18nParams) => string;
|
|
153
|
+
/** Disable the select. Also set by Angular forms via `setDisabledState`. */
|
|
154
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
155
|
+
/** Pill-shaped corners on the trigger. @default false */
|
|
156
|
+
readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
157
|
+
/**
|
|
158
|
+
* Behavior mode. `<wr-select>` is the unified combobox primitive —
|
|
159
|
+
* pick the shape via `[mode]`:
|
|
160
|
+
*
|
|
161
|
+
* - `'single'` (default) — one value, no input. Classic dropdown.
|
|
162
|
+
* - `'multi'` — array value, chips on the trigger.
|
|
163
|
+
* - `'search'` *(planned)* — type-ahead with sync filter or async loader.
|
|
164
|
+
* - `'tag'` *(planned)* — free-text + chips with optional `allowCreate`.
|
|
165
|
+
*
|
|
166
|
+
*/
|
|
167
|
+
readonly mode: _angular_core.InputSignal<WrSelectMode | null>;
|
|
168
|
+
/** Resolved mode — `'single'` unless `[mode]` says otherwise. */
|
|
169
|
+
protected readonly effectiveMode: _angular_core.Signal<WrSelectMode>;
|
|
170
|
+
/** Convenience — `effectiveMode() === 'multi'`. */
|
|
171
|
+
protected readonly isMulti: _angular_core.Signal<boolean>;
|
|
172
|
+
/** Convenience — `effectiveMode() === 'tag'`. */
|
|
173
|
+
protected readonly isTag: _angular_core.Signal<boolean>;
|
|
174
|
+
/** Convenience — `effectiveMode() === 'search'`. Exposed via context for options. */
|
|
175
|
+
readonly isSearch: _angular_core.Signal<boolean>;
|
|
176
|
+
/** WrSelectContext — resolved multi-selection flag for child options. */
|
|
177
|
+
readonly multi: _angular_core.Signal<boolean>;
|
|
178
|
+
/** Both multi and tag render chips on the trigger. */
|
|
179
|
+
protected readonly hasChips: _angular_core.Signal<boolean>;
|
|
180
|
+
/**
|
|
181
|
+
* Search-mode query. Empty string = no filter. Exposed via context so
|
|
182
|
+
* each `<wr-option>` can self-hide non-matching rows.
|
|
183
|
+
*/
|
|
184
|
+
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
185
|
+
/**
|
|
186
|
+
* Search mode: dynamic option array. Each item is rendered as a
|
|
187
|
+
* `<wr-option>` whose label comes from `[displayWith]`. Works
|
|
188
|
+
* alongside projected `<wr-option>` children — both lists are
|
|
189
|
+
* filtered by the search query.
|
|
190
|
+
*/
|
|
191
|
+
readonly options: _angular_core.InputSignal<readonly unknown[]>;
|
|
192
|
+
/** Search mode: map a dynamic option item to its display label. @default String */
|
|
193
|
+
readonly displayWith: _angular_core.InputSignal<(item: unknown) => string>;
|
|
194
|
+
/**
|
|
195
|
+
* Search mode: async loader. When set, the loader is called on every
|
|
196
|
+
* (debounced) keystroke and its result replaces `[options]`. Supports
|
|
197
|
+
* Observables, Promises, and plain arrays.
|
|
198
|
+
*/
|
|
199
|
+
readonly loader: _angular_core.InputSignal<WrSelectSearchLoader<unknown> | null>;
|
|
200
|
+
/** Search mode: debounce (ms) applied to the loader. @default 250 */
|
|
201
|
+
readonly debounceMs: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
202
|
+
/** Search mode: minimum query length before the panel opens / loader fires. @default 0 */
|
|
203
|
+
readonly minChars: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
204
|
+
/**
|
|
205
|
+
* Search mode: allow values not in the options list. Enter on an
|
|
206
|
+
* unmatched query commits the raw text as the form value. @default false
|
|
207
|
+
*/
|
|
208
|
+
readonly freeText: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
209
|
+
/** Search mode: text shown when the filter / loader returns nothing. Falls back to `select.noResults`. */
|
|
210
|
+
readonly noResultsText: _angular_core.InputSignal<string | null>;
|
|
211
|
+
/** Search mode: text shown while the async loader is in flight. Falls back to `select.loading`. */
|
|
212
|
+
readonly loadingText: _angular_core.InputSignal<string | null>;
|
|
213
|
+
protected readonly resolvedNoResults: _angular_core.Signal<string>;
|
|
214
|
+
protected readonly resolvedLoading: _angular_core.Signal<string>;
|
|
215
|
+
/** Search mode: results returned by the async loader. @internal */
|
|
216
|
+
protected readonly loadedOptions: _angular_core.WritableSignal<readonly unknown[]>;
|
|
217
|
+
/** Search mode: true while the loader is in flight. @internal */
|
|
218
|
+
protected readonly loading: _angular_core.WritableSignal<boolean>;
|
|
219
|
+
/**
|
|
220
|
+
* Tag mode: keys / characters that commit the current draft into a chip.
|
|
221
|
+
* `'Enter'` is the key name; everything else is a literal character watched
|
|
222
|
+
* in keypresses and pastes. @default ['Enter', ',']
|
|
223
|
+
*/
|
|
224
|
+
readonly separators: _angular_core.InputSignal<readonly string[]>;
|
|
225
|
+
/** Tag mode: allow the same value to appear more than once. @default false */
|
|
226
|
+
readonly allowDuplicates: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
227
|
+
/**
|
|
228
|
+
* Tag mode: custom validator — return `true` to accept the value, `false`
|
|
229
|
+
* to silently reject. Receives the trimmed draft + the existing chips.
|
|
230
|
+
*/
|
|
231
|
+
readonly validate: _angular_core.InputSignal<WrSelectTagValidator | null>;
|
|
232
|
+
/** Tag-mode draft (text currently typed in the inline input). @internal */
|
|
233
|
+
protected readonly draft: _angular_core.WritableSignal<string>;
|
|
234
|
+
/**
|
|
235
|
+
* Show a clear-all (×) button at the end of the chip row when at
|
|
236
|
+
* least one option is selected (multi mode only). @default true
|
|
237
|
+
*/
|
|
238
|
+
readonly clearable: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
239
|
+
/**
|
|
240
|
+
* Cap on selected items (multi mode). `0` = unlimited. Once reached,
|
|
241
|
+
* additional clicks on unselected options are ignored. @default 0
|
|
242
|
+
*/
|
|
243
|
+
readonly maxItems: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
244
|
+
/**
|
|
245
|
+
* Maximum number of chips rendered before collapsing the rest into a
|
|
246
|
+
* `+N more` indicator. `0` = render every chip. @default 0
|
|
247
|
+
*/
|
|
248
|
+
readonly maxTagCount: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
249
|
+
/**
|
|
250
|
+
* Unified value signal. Single mode holds `T | null`; multi mode
|
|
251
|
+
* holds `readonly T[]`. Internal — consumers go through `[(ngModel)]`
|
|
252
|
+
* or `[formControl]` via CVA.
|
|
253
|
+
* @internal
|
|
254
|
+
*/
|
|
255
|
+
readonly value: _angular_core.WritableSignal<unknown>;
|
|
256
|
+
/** Listbox id used by the trigger's `aria-controls`. */
|
|
257
|
+
protected readonly listboxId: string;
|
|
258
|
+
/** Registered options (insertion order). Internal — distinct from the public `[options]` input. */
|
|
259
|
+
private readonly registry;
|
|
260
|
+
/** Keyboard cursor index into `options`. -1 = none. */
|
|
261
|
+
private readonly activeIndex;
|
|
262
|
+
/** Id of the active option (for `aria-activedescendant`). */
|
|
263
|
+
readonly activeOptionId: _angular_core.Signal<string | null>;
|
|
264
|
+
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
265
|
+
protected readonly selectedLabel: _angular_core.WritableSignal<string | null>;
|
|
266
|
+
/**
|
|
267
|
+
* Selected chips (multi + tag modes). Multi reads labels from the
|
|
268
|
+
* registered `<wr-option>` children; tag uses each raw string as
|
|
269
|
+
* both value and label.
|
|
270
|
+
*/
|
|
271
|
+
protected readonly selectedChips: _angular_core.Signal<readonly SelectedChip[]>;
|
|
272
|
+
protected readonly visibleChips: _angular_core.Signal<readonly SelectedChip[]>;
|
|
273
|
+
protected readonly hiddenChipCount: _angular_core.Signal<number>;
|
|
274
|
+
protected readonly hasSelection: _angular_core.Signal<boolean>;
|
|
275
|
+
private readonly disabledFromCva;
|
|
276
|
+
/** Effective disabled state — input wins, CVA second. */
|
|
277
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
278
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
279
|
+
/**
|
|
280
|
+
* Search-mode dynamic options. Loader results win when the loader is
|
|
281
|
+
* set; otherwise the static `[options]` array. Each item is rendered
|
|
282
|
+
* as an internal `<wr-option>` in the panel.
|
|
283
|
+
*/
|
|
284
|
+
protected readonly dynamicOptions: _angular_core.Signal<readonly unknown[]>;
|
|
285
|
+
/**
|
|
286
|
+
* Count of registered options that pass the current search filter.
|
|
287
|
+
* Hides the noResults state when the panel has at least one visible row.
|
|
288
|
+
*/
|
|
289
|
+
protected readonly visibleCount: _angular_core.Signal<number>;
|
|
290
|
+
/** Search mode: show "no results" when the panel has nothing to offer. */
|
|
291
|
+
protected readonly hasNoResults: _angular_core.Signal<boolean>;
|
|
292
|
+
/** Search mode: is this option hidden by the current query? @internal */
|
|
293
|
+
private isOptionHidden;
|
|
294
|
+
protected readonly panelTpl: _angular_core.Signal<TemplateRef<any>>;
|
|
295
|
+
/** Tag-mode inline input. Present only when `mode="tag"`. @internal */
|
|
296
|
+
protected readonly tagInputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
297
|
+
/** Search-mode inline input. Present only when `mode="search"`. @internal */
|
|
298
|
+
protected readonly searchInputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
299
|
+
protected focusTagInput(): void;
|
|
300
|
+
protected focusSearchInput(): void;
|
|
301
|
+
protected onSearchInput(event: Event): void;
|
|
302
|
+
protected onSearchFocus(): void;
|
|
303
|
+
protected onSearchKey(event: KeyboardEvent): void;
|
|
304
|
+
/**
|
|
305
|
+
* Display text for the search input. Shows the selected option's
|
|
306
|
+
* label when collapsed, or the live query while typing / panel open.
|
|
307
|
+
* @internal
|
|
308
|
+
*/
|
|
309
|
+
protected readonly searchDisplay: _angular_core.Signal<string>;
|
|
310
|
+
private readonly host;
|
|
311
|
+
private readonly overlay;
|
|
312
|
+
private readonly vcr;
|
|
313
|
+
private readonly scrollStrategies;
|
|
314
|
+
private readonly destroyRef;
|
|
315
|
+
private overlayRef;
|
|
316
|
+
private onChange;
|
|
317
|
+
protected onTouched: () => void;
|
|
318
|
+
constructor();
|
|
319
|
+
isSelected(value: unknown): boolean;
|
|
320
|
+
selectOption(value: unknown): void;
|
|
321
|
+
registerOption(reg: WrSelectOptionRegistration): () => void;
|
|
322
|
+
/** Remove one selection (chip × button). Works for multi and tag modes. */
|
|
323
|
+
protected removeChip(value: unknown, event: Event): void;
|
|
324
|
+
/** Clear every selection (× button). Multi/tag → empty array; search → null. */
|
|
325
|
+
protected clearAll(event: Event): void;
|
|
326
|
+
/** Capacity check used by tag mode to refuse the next add. */
|
|
327
|
+
protected readonly atCapacity: _angular_core.Signal<boolean>;
|
|
328
|
+
protected onTagInput(event: Event): void;
|
|
329
|
+
protected onTagKeydown(event: KeyboardEvent): void;
|
|
330
|
+
protected onTagPaste(event: ClipboardEvent): void;
|
|
331
|
+
protected onTagBlur(): void;
|
|
332
|
+
private commitDraft;
|
|
333
|
+
private tryAddTag;
|
|
334
|
+
writeValue(value: unknown): void;
|
|
335
|
+
registerOnChange(fn: (value: unknown) => void): void;
|
|
336
|
+
registerOnTouched(fn: () => void): void;
|
|
337
|
+
setDisabledState(isDisabled: boolean): void;
|
|
338
|
+
protected onTriggerClick(): void;
|
|
339
|
+
protected onTriggerKey(event: KeyboardEvent): void;
|
|
340
|
+
private seedActiveIndex;
|
|
341
|
+
private moveActive;
|
|
342
|
+
private firstEnabled;
|
|
343
|
+
private lastEnabled;
|
|
344
|
+
/** Coerce the multi-mode value signal into an array (handles writeValue from non-array). */
|
|
345
|
+
private asArray;
|
|
346
|
+
private openOverlay;
|
|
347
|
+
private closeOverlay;
|
|
348
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSelect, never>;
|
|
349
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSelect, "wr-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "loader": { "alias": "loader"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; "freeText": { "alias": "freeText"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "separators": { "alias": "separators"; "required": false; "isSignal": true; }; "allowDuplicates": { "alias": "allowDuplicates"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "maxTagCount": { "alias": "maxTagCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Single option inside a `<wr-select>`.
|
|
354
|
+
*
|
|
355
|
+
* The option's display label is taken from its projected text content;
|
|
356
|
+
* the form value is its `value` input.
|
|
357
|
+
*
|
|
358
|
+
* @example
|
|
359
|
+
* ```html
|
|
360
|
+
* <wr-option value="sm">Small</wr-option>
|
|
361
|
+
* <wr-option [value]="42">Forty-two</wr-option>
|
|
362
|
+
* ```
|
|
363
|
+
*/
|
|
364
|
+
declare class WrOption {
|
|
365
|
+
/** The value contributed when this option is chosen. Required. */
|
|
366
|
+
readonly value: _angular_core.InputSignal<unknown>;
|
|
367
|
+
/** Disable this option. @default false */
|
|
368
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
369
|
+
/** Stable id used for `aria-activedescendant`. */
|
|
370
|
+
readonly id: string;
|
|
371
|
+
private readonly host;
|
|
372
|
+
private readonly parent;
|
|
373
|
+
/**
|
|
374
|
+
* @internal — true when this option is currently selected. Works for
|
|
375
|
+
* both single and multi-select parents via `WrSelectContext.isSelected`.
|
|
376
|
+
*/
|
|
377
|
+
protected readonly selected: _angular_core.Signal<boolean>;
|
|
378
|
+
/** @internal — true when this option is the keyboard cursor target. */
|
|
379
|
+
protected readonly active: _angular_core.Signal<boolean>;
|
|
380
|
+
/**
|
|
381
|
+
* @internal — search mode only. True when the parent has a query that
|
|
382
|
+
* the option's text content does not match (case-insensitive substring).
|
|
383
|
+
* Hidden options stay in the DOM so registration order survives but
|
|
384
|
+
* collapse via CSS.
|
|
385
|
+
*/
|
|
386
|
+
protected readonly hidden: _angular_core.Signal<boolean>;
|
|
387
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
388
|
+
constructor();
|
|
389
|
+
protected onClick(): void;
|
|
390
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrOption, never>;
|
|
391
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrOption, "wr-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Visually groups options under a label inside a `<wr-select>`.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```html
|
|
399
|
+
* <wr-option-group label="Sizes">
|
|
400
|
+
* <wr-option value="sm">Small</wr-option>
|
|
401
|
+
* <wr-option value="md">Medium</wr-option>
|
|
402
|
+
* </wr-option-group>
|
|
403
|
+
* ```
|
|
404
|
+
*/
|
|
405
|
+
declare class WrOptionGroup {
|
|
406
|
+
/** Section heading shown above the options. */
|
|
407
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
408
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrOptionGroup, never>;
|
|
409
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrOptionGroup, "wr-option-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
export { WR_SELECT, WrOption, WrOptionGroup, WrSelect };
|
|
413
|
+
export type { WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectTagValidator };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Animated shimmer-over-text effect. A bright stripe sweeps across the
|
|
5
|
+
* text using `background-clip: text` + an animated `background-position`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```html
|
|
9
|
+
* <wr-shiny-text text="Premium" />
|
|
10
|
+
* <wr-shiny-text
|
|
11
|
+
* text="Custom"
|
|
12
|
+
* color="#444"
|
|
13
|
+
* shineColor="#a0e0ff"
|
|
14
|
+
* [speed]="3"
|
|
15
|
+
* [delay]="0.5"
|
|
16
|
+
* [yoyo]="true"
|
|
17
|
+
* [pauseOnHover]="true"
|
|
18
|
+
* />
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @see https://www.reactbits.dev/text-animations/shiny-text
|
|
22
|
+
*/
|
|
23
|
+
declare class WrShinyText {
|
|
24
|
+
/** Text to render. */
|
|
25
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
26
|
+
/** Pause the animation. @default false */
|
|
27
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
28
|
+
/** Time for the bright stripe to traverse the text, in seconds. @default 2 */
|
|
29
|
+
readonly speed: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
30
|
+
/** Base text colour (outside the bright stripe). @default '#b5b5b5' */
|
|
31
|
+
/** Base text colour. When unset, the theme decides. */
|
|
32
|
+
readonly color: _angular_core.InputSignal<string | null>;
|
|
33
|
+
/** Bright stripe colour. @default '#ffffff' */
|
|
34
|
+
/** Sweep highlight colour. When unset, the theme decides. */
|
|
35
|
+
readonly shineColor: _angular_core.InputSignal<string | null>;
|
|
36
|
+
/** Gradient angle in degrees. @default 120 */
|
|
37
|
+
readonly spread: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
38
|
+
/** Bounce the stripe back-and-forth instead of restarting. @default false */
|
|
39
|
+
readonly yoyo: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
40
|
+
/** Pause the animation while hovered. @default false */
|
|
41
|
+
readonly pauseOnHover: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
42
|
+
/** Sweep direction. @default 'left' */
|
|
43
|
+
readonly direction: _angular_core.InputSignal<"left" | "right">;
|
|
44
|
+
/** Pause between sweeps in seconds. @default 0 */
|
|
45
|
+
readonly delay: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
46
|
+
/** Total animation cycle (speed + delay) in seconds. */
|
|
47
|
+
protected readonly totalDuration: _angular_core.Signal<number>;
|
|
48
|
+
protected readonly gradient: _angular_core.Signal<string>;
|
|
49
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrShinyText, never>;
|
|
50
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrShinyText, "wr-shiny-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "shineColor": { "alias": "shineColor"; "required": false; "isSignal": true; }; "spread": { "alias": "spread"; "required": false; "isSignal": true; }; "yoyo": { "alias": "yoyo"; "required": false; "isSignal": true; }; "pauseOnHover": { "alias": "pauseOnHover"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Gradient sweep over text. Applies a `background-clip: text` gradient
|
|
55
|
+
* with a moving highlight — gives any text a subtle shimmer.
|
|
56
|
+
*
|
|
57
|
+
* The directive only adds the `wr-shimmer` host class. Pair with the
|
|
58
|
+
* styles in `ngwr/animations` (which include the `wr-shimmer` keyframes).
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```html
|
|
62
|
+
* <h1 wrShimmer>Premium</h1>
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
declare class WrShimmer {
|
|
66
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrShimmer, never>;
|
|
67
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrShimmer, "[wrShimmer]", never, {}, {}, never, never, true, never>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { WrShimmer, WrShinyText };
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { WrIconName } from 'ngwr/icon';
|
|
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
|
+
/** A single navigable entry. */
|
|
12
|
+
interface WrSidebarItem {
|
|
13
|
+
readonly title: string;
|
|
14
|
+
/** Router commands array — passed to `[routerLink]`. */
|
|
15
|
+
readonly url: readonly (string | number)[];
|
|
16
|
+
readonly icon?: WrIconName;
|
|
17
|
+
/** Optional trailing badge text (e.g. `'new'`, `'12'`). */
|
|
18
|
+
readonly badge?: string;
|
|
19
|
+
/** Render as disabled (no navigation). */
|
|
20
|
+
readonly disabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Expandable group of items. */
|
|
23
|
+
interface WrSidebarGroup {
|
|
24
|
+
readonly title: string;
|
|
25
|
+
readonly icon?: WrIconName;
|
|
26
|
+
readonly children: readonly WrSidebarItem[];
|
|
27
|
+
/** Open by default. @default false */
|
|
28
|
+
readonly defaultOpen?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Either a direct-link item or an expandable group. */
|
|
31
|
+
type WrSidebarEntry = WrSidebarItem | WrSidebarGroup;
|
|
32
|
+
|
|
33
|
+
declare function isGroup(entry: WrSidebarEntry): entry is WrSidebarGroup;
|
|
34
|
+
/**
|
|
35
|
+
* Data-driven sidebar nav. Pass `[entries]` — either flat
|
|
36
|
+
* `WrSidebarItem`s (direct links) or `WrSidebarGroup`s (expand to reveal
|
|
37
|
+
* child items). Active route auto-expands its containing group.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```html
|
|
41
|
+
* <wr-sidebar [entries]="[
|
|
42
|
+
* { title: 'Dashboard', icon: 'home', url: ['/dashboard'] },
|
|
43
|
+
* {
|
|
44
|
+
* title: 'Settings',
|
|
45
|
+
* icon: 'cog',
|
|
46
|
+
* children: [
|
|
47
|
+
* { title: 'Profile', url: ['/settings', 'profile'] },
|
|
48
|
+
* { title: 'Billing', url: ['/settings', 'billing'] }
|
|
49
|
+
* ]
|
|
50
|
+
* }
|
|
51
|
+
* ]" />
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see https://ngwr.dev/components/sidebar
|
|
55
|
+
*/
|
|
56
|
+
declare class WrSidebar {
|
|
57
|
+
readonly entries: _angular_core.InputSignal<readonly WrSidebarEntry[]>;
|
|
58
|
+
/** Default icon for entries without one. @default 'folder' */
|
|
59
|
+
readonly defaultGroupIcon: _angular_core.InputSignal<string>;
|
|
60
|
+
/** Default icon for items without one. @default 'caret-forward' */
|
|
61
|
+
readonly defaultItemIcon: _angular_core.InputSignal<string>;
|
|
62
|
+
/** Auto-expand the group containing the active route. @default true */
|
|
63
|
+
readonly autoExpand: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
64
|
+
protected readonly isGroup: typeof isGroup;
|
|
65
|
+
private readonly opened;
|
|
66
|
+
private readonly router;
|
|
67
|
+
private readonly currentUrl;
|
|
68
|
+
/** Last URL we auto-expanded — prevents re-opening a group the user collapsed. */
|
|
69
|
+
private lastAutoUrl;
|
|
70
|
+
constructor();
|
|
71
|
+
protected isOpen(title: string): boolean;
|
|
72
|
+
/** Stable id for the group body, referenced by the toggle's `aria-controls`. */
|
|
73
|
+
protected groupBodyId(title: string): string;
|
|
74
|
+
protected toggleGroup(title: string): void;
|
|
75
|
+
protected asItem(entry: WrSidebarEntry): WrSidebarItem;
|
|
76
|
+
protected asGroup(entry: WrSidebarEntry): WrSidebarGroup;
|
|
77
|
+
private findGroupForUrl;
|
|
78
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSidebar, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSidebar, "wr-sidebar", never, { "entries": { "alias": "entries"; "required": false; "isSignal": true; }; "defaultGroupIcon": { "alias": "defaultGroupIcon"; "required": false; "isSignal": true; }; "defaultItemIcon": { "alias": "defaultItemIcon"; "required": false; "isSignal": true; }; "autoExpand": { "alias": "autoExpand"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { WrSidebar };
|
|
83
|
+
export type { WrSidebarEntry, WrSidebarGroup, WrSidebarItem };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Placeholder block shown while content is loading.
|
|
5
|
+
*
|
|
6
|
+
* Default sizing fills the parent width and matches the surrounding
|
|
7
|
+
* text height (`1lh`). Override `--wr-skeleton-height` / `width` on the
|
|
8
|
+
* host for custom shapes.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <wr-skeleton />
|
|
13
|
+
* <wr-skeleton color="primary" [animated]="false" />
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @see https://ngwr.dev/components/skeleton
|
|
17
|
+
*/
|
|
18
|
+
declare class WrSkeleton {
|
|
19
|
+
/**
|
|
20
|
+
* Color tint for the placeholder.
|
|
21
|
+
*
|
|
22
|
+
* Default is `'light'` because it's theme-stable — the `light` token is
|
|
23
|
+
* slate-300 in light mode (subtle gray on white) and slate-800 in dark
|
|
24
|
+
* mode (subtle lift on near-black). The `'dark'` value flips to a near-
|
|
25
|
+
* white wash in dark mode and breaks the placeholder affordance.
|
|
26
|
+
*
|
|
27
|
+
* @default 'light'
|
|
28
|
+
*/
|
|
29
|
+
readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the shimmer animation runs.
|
|
32
|
+
*
|
|
33
|
+
* @default true
|
|
34
|
+
*/
|
|
35
|
+
readonly animated: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
36
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
37
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSkeleton, never>;
|
|
38
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSkeleton, "wr-skeleton", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { WrSkeleton };
|