ngwr 6.1.1 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -3
- package/README.md +179 -32
- package/affix/styles/_index.scss +12 -0
- package/alert/styles/_index.scss +75 -32
- package/anchor/styles/_index.scss +59 -0
- package/aurora/aurora.scss +1 -0
- package/aurora/styles/_index.scss +30 -0
- package/avatar/styles/_index.scss +30 -14
- package/back-top/styles/_index.scss +42 -0
- package/badge/styles/_index.scss +80 -0
- package/badge/styles/_tag.scss +81 -0
- package/bar-chart/styles/_index.scss +56 -0
- package/blur-text/blur-text.scss +1 -0
- package/blur-text/styles/_index.scss +14 -0
- package/border-glow/border-glow.scss +4 -0
- package/border-glow/styles/_index.scss +228 -0
- package/breadcrumbs/breadcrumbs.scss +1 -0
- package/breadcrumbs/styles/_index.scss +76 -0
- package/burger/styles/_index.scss +101 -0
- package/button/styles/_index.scss +148 -125
- package/calendar/styles/_index.scss +252 -0
- package/calendar-heatmap/styles/_index.scss +69 -0
- package/card/card.scss +1 -0
- package/card/styles/_index.scss +96 -0
- package/carousel/styles/_index.scss +102 -0
- package/cascader/cascader.scss +1 -0
- package/cascader/styles/_index.scss +174 -0
- package/checkbox/styles/_index.scss +76 -60
- package/circular-text/circular-text.scss +1 -0
- package/circular-text/styles/_index.scss +45 -0
- package/click-spark/click-spark.scss +1 -0
- package/click-spark/styles/_index.scss +16 -0
- package/collapse/styles/_index.scss +92 -0
- package/color-picker/styles/_index.scss +247 -0
- package/command-palette/styles/_index.scss +188 -0
- package/compare/styles/_index.scss +100 -0
- package/context-menu/styles/_index.scss +112 -0
- package/counter/styles/_index.scss +44 -0
- package/date-picker/styles/_index.scss +204 -0
- package/decrypt-text/decrypt-text.scss +1 -0
- package/decrypt-text/styles/_index.scss +26 -0
- package/density/styles/_index.scss +37 -0
- package/descriptions/styles/_index.scss +104 -0
- package/dialog/styles/_index.scss +101 -27
- package/divider/styles/_index.scss +43 -24
- package/donut-chart/styles/_index.scss +76 -0
- package/drag-drop/sortable-list.scss +1 -0
- package/drag-drop/styles/_index.scss +99 -0
- package/drawer/styles/_index.scss +164 -0
- package/dropdown/styles/_index.scss +76 -56
- package/empty/styles/_index.scss +49 -0
- package/falling-text/falling-text.scss +1 -0
- package/falling-text/styles/_index.scss +30 -0
- package/fesm2022/ngwr-affix.mjs +102 -0
- package/fesm2022/ngwr-affix.mjs.map +1 -0
- package/fesm2022/ngwr-alert.mjs +70 -52
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- package/fesm2022/ngwr-anchor.mjs +103 -0
- package/fesm2022/ngwr-anchor.mjs.map +1 -0
- package/fesm2022/ngwr-aurora.mjs +309 -0
- package/fesm2022/ngwr-aurora.mjs.map +1 -0
- package/fesm2022/ngwr-avatar.mjs +81 -71
- package/fesm2022/ngwr-avatar.mjs.map +1 -1
- package/fesm2022/ngwr-back-top.mjs +81 -0
- package/fesm2022/ngwr-back-top.mjs.map +1 -0
- package/fesm2022/ngwr-badge.mjs +192 -0
- package/fesm2022/ngwr-badge.mjs.map +1 -0
- package/fesm2022/ngwr-bar-chart.mjs +69 -0
- package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
- package/fesm2022/ngwr-blur-text.mjs +181 -0
- package/fesm2022/ngwr-blur-text.mjs.map +1 -0
- package/fesm2022/ngwr-border-glow.mjs +278 -0
- package/fesm2022/ngwr-border-glow.mjs.map +1 -0
- package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
- package/fesm2022/ngwr-burger.mjs +60 -0
- package/fesm2022/ngwr-burger.mjs.map +1 -0
- package/fesm2022/ngwr-button.mjs +179 -104
- package/fesm2022/ngwr-button.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
- package/fesm2022/ngwr-calendar.mjs +402 -0
- package/fesm2022/ngwr-calendar.mjs.map +1 -0
- package/fesm2022/ngwr-card.mjs +100 -0
- package/fesm2022/ngwr-card.mjs.map +1 -0
- package/fesm2022/ngwr-carousel.mjs +128 -0
- package/fesm2022/ngwr-carousel.mjs.map +1 -0
- package/fesm2022/ngwr-cascader.mjs +280 -0
- package/fesm2022/ngwr-cascader.mjs.map +1 -0
- package/fesm2022/ngwr-checkbox.mjs +214 -54
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +168 -0
- package/fesm2022/ngwr-circular-text.mjs.map +1 -0
- package/fesm2022/ngwr-click-spark.mjs +163 -0
- package/fesm2022/ngwr-click-spark.mjs.map +1 -0
- package/fesm2022/ngwr-clipboard.mjs +130 -0
- package/fesm2022/ngwr-clipboard.mjs.map +1 -0
- package/fesm2022/ngwr-collapse.mjs +232 -0
- package/fesm2022/ngwr-collapse.mjs.map +1 -0
- package/fesm2022/ngwr-color-picker.mjs +646 -0
- package/fesm2022/ngwr-color-picker.mjs.map +1 -0
- package/fesm2022/ngwr-command-palette.mjs +259 -0
- package/fesm2022/ngwr-command-palette.mjs.map +1 -0
- package/fesm2022/ngwr-compare.mjs +137 -0
- package/fesm2022/ngwr-compare.mjs.map +1 -0
- package/fesm2022/ngwr-confetti.mjs +160 -0
- package/fesm2022/ngwr-confetti.mjs.map +1 -0
- package/fesm2022/ngwr-context-menu.mjs +653 -0
- package/fesm2022/ngwr-context-menu.mjs.map +1 -0
- package/fesm2022/ngwr-cookie.mjs +127 -0
- package/fesm2022/ngwr-cookie.mjs.map +1 -0
- package/fesm2022/ngwr-counter.mjs +415 -0
- package/fesm2022/ngwr-counter.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
- package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
- package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
- package/fesm2022/ngwr-date-adapter.mjs +419 -0
- package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
- package/fesm2022/ngwr-date-picker.mjs +624 -0
- package/fesm2022/ngwr-date-picker.mjs.map +1 -0
- package/fesm2022/ngwr-decrypt-text.mjs +396 -0
- package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
- package/fesm2022/ngwr-density.mjs +157 -0
- package/fesm2022/ngwr-density.mjs.map +1 -0
- package/fesm2022/ngwr-descriptions.mjs +83 -0
- package/fesm2022/ngwr-descriptions.mjs.map +1 -0
- package/fesm2022/ngwr-dialog.mjs +249 -377
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +315 -0
- package/fesm2022/ngwr-directives.mjs.map +1 -0
- package/fesm2022/ngwr-divider.mjs +74 -59
- package/fesm2022/ngwr-divider.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart.mjs +131 -0
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
- package/fesm2022/ngwr-drag-drop.mjs +117 -0
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
- package/fesm2022/ngwr-drawer.mjs +315 -0
- package/fesm2022/ngwr-drawer.mjs.map +1 -0
- package/fesm2022/ngwr-dropdown.mjs +276 -229
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +57 -0
- package/fesm2022/ngwr-empty.mjs.map +1 -0
- package/fesm2022/ngwr-falling-text.mjs +316 -0
- package/fesm2022/ngwr-falling-text.mjs.map +1 -0
- package/fesm2022/ngwr-file-upload.mjs +260 -0
- package/fesm2022/ngwr-file-upload.mjs.map +1 -0
- package/fesm2022/ngwr-form.mjs +133 -48
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
- package/fesm2022/ngwr-gauge.mjs +83 -0
- package/fesm2022/ngwr-gauge.mjs.map +1 -0
- package/fesm2022/ngwr-glitch-text.mjs +67 -0
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
- package/fesm2022/ngwr-gradient-text.mjs +109 -0
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
- package/fesm2022/ngwr-hotkey.mjs +263 -0
- package/fesm2022/ngwr-hotkey.mjs.map +1 -0
- package/fesm2022/ngwr-i18n-en.mjs +168 -0
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
- package/fesm2022/ngwr-i18n-ru.mjs +156 -0
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
- package/fesm2022/ngwr-i18n.mjs +478 -0
- package/fesm2022/ngwr-i18n.mjs.map +1 -0
- package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
- package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
- package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
- package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
- package/fesm2022/ngwr-icon.mjs +189 -649
- package/fesm2022/ngwr-icon.mjs.map +1 -1
- package/fesm2022/ngwr-image-cropper.mjs +299 -0
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
- package/fesm2022/ngwr-input-number.mjs +239 -0
- package/fesm2022/ngwr-input-number.mjs.map +1 -0
- package/fesm2022/ngwr-input-otp.mjs +216 -0
- package/fesm2022/ngwr-input-otp.mjs.map +1 -0
- package/fesm2022/ngwr-input.mjs +183 -104
- package/fesm2022/ngwr-input.mjs.map +1 -1
- package/fesm2022/ngwr-keyboard.mjs +47 -0
- package/fesm2022/ngwr-keyboard.mjs.map +1 -0
- package/fesm2022/ngwr-knob.mjs +227 -0
- package/fesm2022/ngwr-knob.mjs.map +1 -0
- package/fesm2022/ngwr-layout.mjs +197 -0
- package/fesm2022/ngwr-layout.mjs.map +1 -0
- package/fesm2022/ngwr-lightbox.mjs +131 -0
- package/fesm2022/ngwr-lightbox.mjs.map +1 -0
- package/fesm2022/ngwr-line-chart.mjs +176 -0
- package/fesm2022/ngwr-line-chart.mjs.map +1 -0
- package/fesm2022/ngwr-list.mjs +132 -0
- package/fesm2022/ngwr-list.mjs.map +1 -0
- package/fesm2022/ngwr-loading-bar.mjs +160 -0
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
- package/fesm2022/ngwr-marquee.mjs +224 -0
- package/fesm2022/ngwr-marquee.mjs.map +1 -0
- package/fesm2022/ngwr-media.mjs +132 -0
- package/fesm2022/ngwr-media.mjs.map +1 -0
- package/fesm2022/ngwr-mention.mjs +374 -0
- package/fesm2022/ngwr-mention.mjs.map +1 -0
- package/fesm2022/ngwr-meta.mjs +323 -0
- package/fesm2022/ngwr-meta.mjs.map +1 -0
- package/fesm2022/ngwr-meter-group.mjs +73 -0
- package/fesm2022/ngwr-meter-group.mjs.map +1 -0
- package/fesm2022/ngwr-overlay.mjs +145 -0
- package/fesm2022/ngwr-overlay.mjs.map +1 -0
- package/fesm2022/ngwr-page-header.mjs +53 -0
- package/fesm2022/ngwr-page-header.mjs.map +1 -0
- package/fesm2022/ngwr-pagination.mjs +152 -96
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +290 -11
- package/fesm2022/ngwr-pipes.mjs.map +1 -1
- package/fesm2022/ngwr-platform.mjs +63 -0
- package/fesm2022/ngwr-platform.mjs.map +1 -0
- package/fesm2022/ngwr-popconfirm.mjs +188 -0
- package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
- package/fesm2022/ngwr-popover.mjs +365 -0
- package/fesm2022/ngwr-popover.mjs.map +1 -0
- package/fesm2022/ngwr-progress.mjs +47 -39
- package/fesm2022/ngwr-progress.mjs.map +1 -1
- package/fesm2022/ngwr-qr.mjs +160 -179
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio.mjs +204 -0
- package/fesm2022/ngwr-radio.mjs.map +1 -0
- package/fesm2022/ngwr-rating.mjs +180 -0
- package/fesm2022/ngwr-rating.mjs.map +1 -0
- package/fesm2022/ngwr-result.mjs +119 -0
- package/fesm2022/ngwr-result.mjs.map +1 -0
- package/fesm2022/ngwr-rotating-text.mjs +256 -0
- package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
- package/fesm2022/ngwr-scramble-text.mjs +165 -0
- package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
- package/fesm2022/ngwr-scroll.mjs +107 -0
- package/fesm2022/ngwr-scroll.mjs.map +1 -0
- package/fesm2022/ngwr-segmented.mjs +96 -0
- package/fesm2022/ngwr-segmented.mjs.map +1 -0
- package/fesm2022/ngwr-select.mjs +844 -309
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +127 -0
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
- package/fesm2022/ngwr-sidebar.mjs +134 -0
- package/fesm2022/ngwr-sidebar.mjs.map +1 -0
- package/fesm2022/ngwr-skeleton.mjs +59 -34
- package/fesm2022/ngwr-skeleton.mjs.map +1 -1
- package/fesm2022/ngwr-slider.mjs +234 -0
- package/fesm2022/ngwr-slider.mjs.map +1 -0
- package/fesm2022/ngwr-sparkline.mjs +104 -0
- package/fesm2022/ngwr-sparkline.mjs.map +1 -0
- package/fesm2022/ngwr-speed-dial.mjs +79 -0
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
- package/fesm2022/ngwr-spinner.mjs +34 -28
- package/fesm2022/ngwr-spinner.mjs.map +1 -1
- package/fesm2022/ngwr-splash-cursor.mjs +970 -0
- package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
- package/fesm2022/ngwr-split-text.mjs +200 -0
- package/fesm2022/ngwr-split-text.mjs.map +1 -0
- package/fesm2022/ngwr-splitter.mjs +125 -0
- package/fesm2022/ngwr-splitter.mjs.map +1 -0
- package/fesm2022/ngwr-spotlight-card.mjs +138 -0
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
- package/fesm2022/ngwr-squircle.mjs +320 -0
- package/fesm2022/ngwr-squircle.mjs.map +1 -0
- package/fesm2022/ngwr-star-border.mjs +72 -0
- package/fesm2022/ngwr-star-border.mjs.map +1 -0
- package/fesm2022/ngwr-statistic.mjs +220 -0
- package/fesm2022/ngwr-statistic.mjs.map +1 -0
- package/fesm2022/ngwr-stepper.mjs +186 -0
- package/fesm2022/ngwr-stepper.mjs.map +1 -0
- package/fesm2022/ngwr-storage.mjs +317 -0
- package/fesm2022/ngwr-storage.mjs.map +1 -0
- package/fesm2022/ngwr-switch.mjs +99 -0
- package/fesm2022/ngwr-switch.mjs.map +1 -0
- package/fesm2022/ngwr-table.mjs +217 -206
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +217 -0
- package/fesm2022/ngwr-tabs.mjs.map +1 -0
- package/fesm2022/ngwr-textarea.mjs +106 -120
- package/fesm2022/ngwr-textarea.mjs.map +1 -1
- package/fesm2022/ngwr-theme.mjs +152 -0
- package/fesm2022/ngwr-theme.mjs.map +1 -0
- package/fesm2022/ngwr-tilt-card.mjs +137 -0
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
- package/fesm2022/ngwr-timeline.mjs +73 -0
- package/fesm2022/ngwr-timeline.mjs.map +1 -0
- package/fesm2022/ngwr-toast.mjs +446 -0
- package/fesm2022/ngwr-toast.mjs.map +1 -0
- package/fesm2022/ngwr-toolbar.mjs +46 -0
- package/fesm2022/ngwr-toolbar.mjs.map +1 -0
- package/fesm2022/ngwr-tree.mjs +483 -0
- package/fesm2022/ngwr-tree.mjs.map +1 -0
- package/fesm2022/ngwr-typewriter.mjs +229 -0
- package/fesm2022/ngwr-typewriter.mjs.map +1 -0
- package/fesm2022/ngwr-typography.mjs +79 -0
- package/fesm2022/ngwr-typography.mjs.map +1 -0
- package/fesm2022/ngwr-utils.mjs +535 -0
- package/fesm2022/ngwr-utils.mjs.map +1 -0
- package/fesm2022/ngwr-validators.mjs +214 -0
- package/fesm2022/ngwr-validators.mjs.map +1 -0
- package/fesm2022/ngwr-version.mjs +51 -0
- package/fesm2022/ngwr-version.mjs.map +1 -0
- package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
- package/fesm2022/ngwr-waves.mjs +356 -0
- package/fesm2022/ngwr-waves.mjs.map +1 -0
- package/fesm2022/ngwr-window.mjs +1141 -0
- package/fesm2022/ngwr-window.mjs.map +1 -0
- package/fesm2022/ngwr.mjs +0 -3
- package/fesm2022/ngwr.mjs.map +1 -1
- package/file-upload/styles/_index.scss +152 -0
- package/form/styles/_index.scss +85 -42
- package/gauge/styles/_index.scss +37 -0
- package/glitch-text/glitch-text.scss +1 -0
- package/glitch-text/styles/_index.scss +144 -0
- package/gradient-text/gradient-text.scss +1 -0
- package/gradient-text/styles/_index.scss +113 -0
- package/icon/styles/_index.scss +21 -15
- package/image-cropper/styles/_index.scss +114 -0
- package/input/styles/_index.scss +133 -93
- package/input-number/styles/_index.scss +75 -0
- package/input-otp/styles/_index.scss +53 -0
- package/keyboard/styles/_index.scss +55 -0
- package/knob/styles/_index.scss +54 -0
- package/layout/styles/_index.scss +65 -0
- package/lightbox/lightbox.scss +1 -0
- package/lightbox/styles/_index.scss +144 -0
- package/line-chart/styles/_index.scss +93 -0
- package/list/list.scss +1 -0
- package/list/styles/_index.scss +101 -0
- package/loading-bar/loading-bar.scss +1 -0
- package/loading-bar/styles/_index.scss +29 -0
- package/marquee/marquee.scss +1 -0
- package/marquee/styles/_index.scss +138 -0
- package/mention/styles/_index.scss +47 -0
- package/meter-group/styles/_index.scss +61 -0
- package/package.json +586 -104
- package/page-header/styles/_index.scss +78 -0
- package/pagination/styles/_index.scss +89 -34
- package/popconfirm/styles/_index.scss +32 -0
- package/popover/styles/_index.scss +99 -0
- package/progress/styles/_index.scss +29 -14
- package/qr/styles/_index.scss +6 -3
- package/radio/styles/_index.scss +111 -0
- package/rating/styles/_index.scss +63 -0
- package/result/styles/_index.scss +69 -0
- package/rotating-text/rotating-text.scss +1 -0
- package/rotating-text/styles/_index.scss +39 -0
- package/schematics/collection.json +37 -0
- package/schematics/component-style/index.js +49 -0
- package/{cdk/utils/index.d.ts → schematics/component-style/schema.js} +2 -8
- package/schematics/component-style/schema.json +20 -0
- package/schematics/icon-set/index.js +96 -0
- package/schematics/icon-set/schema.js +8 -0
- package/schematics/icon-set/schema.json +39 -0
- package/schematics/migrations/v7/index.js +187 -0
- package/schematics/migrations.json +10 -0
- package/schematics/ng-add/index.js +180 -0
- package/schematics/ng-add/schema.js +8 -0
- package/schematics/ng-add/schema.json +80 -0
- package/schematics/page/index.js +63 -0
- package/schematics/page/schema.js +8 -0
- package/schematics/page/schema.json +39 -0
- package/schematics/page/templates.js +198 -0
- package/schematics/provider/index.js +126 -0
- package/schematics/provider/schema.js +8 -0
- package/schematics/provider/schema.json +52 -0
- package/schematics/use/index.js +143 -0
- package/schematics/use/schema.js +8 -0
- package/schematics/use/schema.json +25 -0
- package/schematics/use/symbol-map.json +357 -0
- package/scramble-text/scramble-text.scss +1 -0
- package/scramble-text/styles/_index.scss +8 -0
- package/segmented/styles/_index.scss +92 -0
- package/select/styles/_index.scss +245 -159
- package/shiny-text/shiny-text.scss +1 -0
- package/shiny-text/styles/_index.scss +101 -0
- package/sidebar/styles/_index.scss +208 -0
- package/skeleton/styles/_index.scss +33 -33
- package/slider/styles/_index.scss +77 -0
- package/sparkline/styles/_index.scss +9 -0
- package/speed-dial/styles/_index.scss +158 -0
- package/spinner/styles/_index.scss +38 -22
- package/splash-cursor/splash-cursor.scss +1 -0
- package/splash-cursor/styles/_index.scss +27 -0
- package/split-text/split-text.scss +1 -0
- package/split-text/styles/_index.scss +22 -0
- package/splitter/styles/_index.scss +85 -0
- package/spotlight-card/spotlight-card.scss +1 -0
- package/spotlight-card/styles/_index.scss +43 -0
- package/squircle/styles/_index.scss +34 -0
- package/star-border/star-border.scss +1 -0
- package/star-border/styles/_index.scss +118 -0
- package/statistic/styles/_index.scss +54 -0
- package/stepper/styles/_index.scss +162 -0
- package/styles/_animations.scss +198 -0
- package/styles/_breakpoints.scss +75 -0
- package/styles/_grid.scss +71 -0
- package/styles/_reset.scss +123 -0
- package/styles/_typography.scss +122 -0
- package/styles.scss +103 -13
- package/switch/styles/_index.scss +82 -0
- package/table/styles/_index.scss +255 -4
- package/tabs/styles/_index.scss +71 -0
- package/textarea/styles/_index.scss +47 -56
- package/theme/styles/_colors.scss +83 -0
- package/theme/styles/_dark.scss +85 -0
- package/theme/styles/_focus.scss +93 -0
- package/theme/styles/_index.scss +5 -0
- package/theme/styles/_mixins.scss +57 -0
- package/theme/styles/_variables.scss +118 -0
- package/tilt-card/styles/_index.scss +40 -0
- package/tilt-card/tilt-card.scss +1 -0
- package/timeline/styles/_index.scss +127 -0
- package/toast/styles/_index.scss +263 -0
- package/toolbar/styles/_index.scss +65 -0
- package/tree/styles/_index.scss +271 -0
- package/types/ngwr-affix.d.ts +43 -0
- package/types/ngwr-alert.d.ts +68 -0
- package/types/ngwr-anchor.d.ts +53 -0
- package/types/ngwr-aurora.d.ts +52 -0
- package/types/ngwr-avatar.d.ts +90 -0
- package/types/ngwr-back-top.d.ts +37 -0
- package/types/ngwr-badge.d.ts +158 -0
- package/types/ngwr-bar-chart.d.ts +47 -0
- package/types/ngwr-blur-text.d.ts +62 -0
- package/types/ngwr-border-glow.d.ts +66 -0
- package/types/ngwr-breadcrumbs.d.ts +61 -0
- package/types/ngwr-burger.d.ts +36 -0
- package/types/ngwr-button.d.ts +176 -0
- package/types/ngwr-calendar-heatmap.d.ts +58 -0
- package/types/ngwr-calendar.d.ts +116 -0
- package/types/ngwr-card.d.ts +50 -0
- package/types/ngwr-carousel.d.ts +57 -0
- package/types/ngwr-cascader.d.ts +107 -0
- package/types/ngwr-checkbox.d.ts +139 -0
- package/types/ngwr-circular-text.d.ts +49 -0
- package/types/ngwr-click-spark.d.ts +52 -0
- package/types/ngwr-clipboard.d.ts +53 -0
- package/types/ngwr-collapse.d.ts +139 -0
- package/types/ngwr-color-picker.d.ts +302 -0
- package/types/ngwr-command-palette.d.ts +113 -0
- package/types/ngwr-compare.d.ts +55 -0
- package/types/ngwr-confetti.d.ts +70 -0
- package/types/ngwr-context-menu.d.ts +207 -0
- package/types/ngwr-cookie.d.ts +60 -0
- package/types/ngwr-counter.d.ts +182 -0
- package/types/ngwr-date-adapter-fns.d.ts +73 -0
- package/types/ngwr-date-adapter-luxon.d.ts +73 -0
- package/types/ngwr-date-adapter.d.ts +198 -0
- package/types/ngwr-date-picker.d.ts +117 -0
- package/types/ngwr-decrypt-text.d.ts +85 -0
- package/types/ngwr-density.d.ts +97 -0
- package/types/ngwr-descriptions.d.ts +41 -0
- package/types/ngwr-dialog.d.ts +210 -0
- package/types/ngwr-directives.d.ts +125 -0
- package/types/ngwr-divider.d.ts +73 -0
- package/types/ngwr-donut-chart.d.ts +53 -0
- package/types/ngwr-drag-drop.d.ts +83 -0
- package/types/ngwr-drawer.d.ts +155 -0
- package/types/ngwr-dropdown.d.ts +124 -0
- package/types/ngwr-empty.d.ts +38 -0
- package/types/ngwr-falling-text.d.ts +63 -0
- package/types/ngwr-file-upload.d.ts +94 -0
- package/types/ngwr-form.d.ts +95 -0
- package/types/ngwr-fuzzy-text.d.ts +74 -0
- package/types/ngwr-gauge.d.ts +39 -0
- package/types/ngwr-glitch-text.d.ts +31 -0
- package/types/ngwr-gradient-text.d.ts +46 -0
- package/types/ngwr-hotkey.d.ts +142 -0
- package/types/ngwr-i18n-en.d.ts +18 -0
- package/types/ngwr-i18n-ru.d.ts +6 -0
- package/types/ngwr-i18n.d.ts +336 -0
- package/types/ngwr-icon-adapters-feather.d.ts +44 -0
- package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
- package/types/ngwr-icon.d.ts +180 -0
- package/types/ngwr-image-cropper.d.ts +110 -0
- package/types/ngwr-input-number.d.ts +77 -0
- package/types/ngwr-input-otp.d.ts +78 -0
- package/types/ngwr-input.d.ts +131 -0
- package/types/ngwr-keyboard.d.ts +34 -0
- package/types/ngwr-knob.d.ts +77 -0
- package/types/ngwr-layout.d.ts +89 -0
- package/types/ngwr-lightbox.d.ts +50 -0
- package/types/ngwr-line-chart.d.ts +90 -0
- package/types/ngwr-list.d.ts +71 -0
- package/types/ngwr-loading-bar.d.ts +79 -0
- package/types/ngwr-marquee.d.ts +95 -0
- package/types/ngwr-media.d.ts +74 -0
- package/types/ngwr-mention.d.ts +110 -0
- package/types/ngwr-meta.d.ts +188 -0
- package/types/ngwr-meter-group.d.ts +57 -0
- package/types/ngwr-overlay.d.ts +110 -0
- package/types/ngwr-page-header.d.ts +35 -0
- package/types/ngwr-pagination.d.ts +119 -0
- package/types/ngwr-pipes.d.ts +177 -0
- package/types/ngwr-platform.d.ts +38 -0
- package/types/ngwr-popconfirm.d.ts +79 -0
- package/types/ngwr-popover.d.ts +90 -0
- package/types/ngwr-progress.d.ts +33 -0
- package/types/ngwr-qr.d.ts +56 -0
- package/types/ngwr-radio.d.ts +120 -0
- package/types/ngwr-rating.d.ts +62 -0
- package/types/ngwr-result.d.ts +64 -0
- package/types/ngwr-rotating-text.d.ts +72 -0
- package/types/ngwr-scramble-text.d.ts +49 -0
- package/types/ngwr-scroll.d.ts +65 -0
- package/types/ngwr-segmented.d.ts +65 -0
- package/types/ngwr-select.d.ts +413 -0
- package/types/ngwr-shiny-text.d.ts +70 -0
- package/types/ngwr-sidebar.d.ts +83 -0
- package/types/ngwr-skeleton.d.ts +41 -0
- package/types/ngwr-slider.d.ts +86 -0
- package/types/ngwr-sparkline.d.ts +48 -0
- package/types/ngwr-speed-dial.d.ts +51 -0
- package/types/ngwr-spinner.d.ts +41 -0
- package/types/ngwr-splash-cursor.d.ts +94 -0
- package/types/ngwr-split-text.d.ts +83 -0
- package/types/ngwr-splitter.d.ts +52 -0
- package/types/ngwr-spotlight-card.d.ts +71 -0
- package/types/ngwr-squircle.d.ts +132 -0
- package/types/ngwr-star-border.d.ts +40 -0
- package/types/ngwr-statistic.d.ts +88 -0
- package/types/ngwr-stepper.d.ts +99 -0
- package/types/ngwr-storage.d.ts +178 -0
- package/types/ngwr-switch.d.ts +39 -0
- package/types/ngwr-table.d.ts +237 -0
- package/types/ngwr-tabs.d.ts +125 -0
- package/types/ngwr-textarea.d.ts +60 -0
- package/types/ngwr-theme.d.ts +124 -0
- package/types/ngwr-tilt-card.d.ts +63 -0
- package/types/ngwr-timeline.d.ts +40 -0
- package/types/ngwr-toast.d.ts +230 -0
- package/types/ngwr-toolbar.d.ts +30 -0
- package/types/ngwr-tree.d.ts +150 -0
- package/types/ngwr-typewriter.d.ts +84 -0
- package/types/ngwr-typography.d.ts +56 -0
- package/types/ngwr-utils.d.ts +447 -0
- package/types/ngwr-validators.d.ts +70 -0
- package/types/ngwr-version.d.ts +44 -0
- package/types/ngwr-virtual-scroll.d.ts +64 -0
- package/types/ngwr-waves.d.ts +71 -0
- package/types/ngwr-window.d.ts +437 -0
- package/typewriter/styles/_index.scss +33 -0
- package/typewriter/typewriter.scss +1 -0
- package/typography/styles/_index.scss +211 -0
- package/virtual-scroll/styles/_index.scss +27 -0
- package/virtual-scroll/virtual-scroll.scss +1 -0
- package/waves/styles/_index.scss +24 -0
- package/waves/waves.scss +1 -0
- package/window/styles/_index.scss +430 -0
- package/alert/index.d.ts +0 -32
- package/alert/styles/theming.scss +0 -26
- package/alert/styles/vars.scss +0 -11
- package/avatar/index.d.ts +0 -30
- package/button/index.d.ts +0 -45
- package/button/styles/vars.scss +0 -13
- package/cdk/index.d.ts +0 -24
- package/cdk/rxjs/index.d.ts +0 -40
- package/cdk/types/index.d.ts +0 -27
- package/checkbox/index.d.ts +0 -31
- package/checkbox/styles/vars.scss +0 -16
- package/dialog/index.d.ts +0 -193
- package/dialog/styles/vars.scss +0 -7
- package/divider/index.d.ts +0 -16
- package/dropdown/index.d.ts +0 -68
- package/dropdown/styles/vars.scss +0 -18
- package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
- package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
- package/fesm2022/ngwr-cdk-types.mjs +0 -44
- package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
- package/fesm2022/ngwr-cdk-utils.mjs +0 -30
- package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
- package/fesm2022/ngwr-cdk.mjs +0 -46
- package/fesm2022/ngwr-cdk.mjs.map +0 -1
- package/fesm2022/ngwr-tag.mjs +0 -87
- package/fesm2022/ngwr-tag.mjs.map +0 -1
- package/form/index.d.ts +0 -28
- package/icon/index.d.ts +0 -830
- package/icon/styles/vars.scss +0 -3
- package/input/index.d.ts +0 -43
- package/input/styles/vars.scss +0 -17
- package/pagination/index.d.ts +0 -34
- package/pagination/styles/vars.scss +0 -14
- package/pipes/index.d.ts +0 -17
- package/progress/index.d.ts +0 -13
- package/progress/styles/theming.scss +0 -8
- package/progress/styles/vars.scss +0 -6
- package/qr/index.d.ts +0 -127
- package/select/index.d.ts +0 -121
- package/select/styles/vars.scss +0 -32
- package/skeleton/index.d.ts +0 -13
- package/spinner/index.d.ts +0 -23
- package/styles/animations.scss +0 -92
- package/styles/cdk.scss +0 -5
- package/styles/colors.scss +0 -72
- package/styles/grid.scss +0 -99
- package/styles/maps.scss +0 -31
- package/styles/reset.scss +0 -112
- package/styles/variables.scss +0 -72
- package/table/index.d.ts +0 -101
- package/table/styles/table-filter.scss +0 -202
- package/table/styles/table-sort.scss +0 -47
- package/table/styles/table.scss +0 -232
- package/table/styles/vars.scss +0 -21
- package/tag/index.d.ts +0 -24
- package/tag/styles/_index.scss +0 -32
- package/tag/styles/theming.scss +0 -21
- package/tag/styles/vars.scss +0 -12
- package/textarea/index.d.ts +0 -47
- package/textarea/styles/vars.scss +0 -17
- /package/{index.d.ts → types/ngwr.d.ts} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { WrIconDef } from 'ngwr/icon';
|
|
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
|
+
/**
|
|
11
|
+
* Shape of a `lucide` icon export — an array of `[tag, attrs]` tuples
|
|
12
|
+
* representing the inner SVG children. The outer `<svg>` wrapper is
|
|
13
|
+
* added by the adapter when converting to a {@link WrIconDef}.
|
|
14
|
+
*/
|
|
15
|
+
type LucideIconNode = readonly (readonly [string, Record<string, string | number | undefined>])[];
|
|
16
|
+
/**
|
|
17
|
+
* Wrap a single Lucide icon in the {@link WrIconDef} envelope. Use this
|
|
18
|
+
* when you need fine-grained control over the registered name, or when
|
|
19
|
+
* the bulk {@link lucideIcons} helper isn't a good fit.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { Plus } from 'lucide';
|
|
24
|
+
* import { lucide } from 'ngwr/icon/adapters/lucide';
|
|
25
|
+
*
|
|
26
|
+
* provideWrIcons([lucide('plus', Plus)]);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
declare function lucide(name: string, children: LucideIconNode): WrIconDef;
|
|
30
|
+
/**
|
|
31
|
+
* Wrap a bag of Lucide icons in one shot. Keys become the registered
|
|
32
|
+
* names (camelCase → kebab-case), values are the upstream IconNode
|
|
33
|
+
* tuples. The shape mirrors how you'd write `provideWrIcons` anyway.
|
|
34
|
+
*
|
|
35
|
+
* Tree-shaking: every `Plus`, `Trash`, … import lives in *your* file
|
|
36
|
+
* — ngwr ships only this wrapper, not the icon data. Unused icons in
|
|
37
|
+
* `lucide` itself get dropped by the bundler.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { Plus, Trash, ChevronDown } from 'lucide';
|
|
42
|
+
* import { lucideIcons } from 'ngwr/icon/adapters/lucide';
|
|
43
|
+
*
|
|
44
|
+
* bootstrapApplication(AppComponent, {
|
|
45
|
+
* providers: [
|
|
46
|
+
* provideWrIcons(lucideIcons({ plus: Plus, trash: Trash, chevronDown: ChevronDown })),
|
|
47
|
+
* ],
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
declare function lucideIcons(icons: Record<string, LucideIconNode>): WrIconDef[];
|
|
52
|
+
|
|
53
|
+
export { lucide, lucideIcons };
|
|
54
|
+
export type { LucideIconNode };
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Provider } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Renders a registered SVG icon.
|
|
6
|
+
*
|
|
7
|
+
* Icons must be registered via {@link provideWrIcons} before use —
|
|
8
|
+
* either at the application root or on any ancestor component.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <wr-icon name="home" />
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @see https://ngwr.dev/components/icon
|
|
16
|
+
*/
|
|
17
|
+
declare class WrIcon {
|
|
18
|
+
readonly name: i0.InputSignal<string>;
|
|
19
|
+
private readonly host;
|
|
20
|
+
/**
|
|
21
|
+
* Merged view of every `WR_ICONS` multi-provider visible from this
|
|
22
|
+
* injector position — element-level first overlay, environment-level
|
|
23
|
+
* (app/lazy-route bootstrap) as the base.
|
|
24
|
+
*
|
|
25
|
+
* Angular's default `inject(WR_ICONS)` only returns the **closest**
|
|
26
|
+
* injector's contribution; if a component declares its own
|
|
27
|
+
* `provideWrIcons(...)`, the root registration is **shadowed**, not
|
|
28
|
+
* appended. That contradicts the docstring's "each call adds to the
|
|
29
|
+
* registry" promise and silently breaks any page that overrides while
|
|
30
|
+
* still relying on root-registered icons.
|
|
31
|
+
*
|
|
32
|
+
* We work around it by also asking the environment injector directly
|
|
33
|
+
* (`envInjector.get(WR_ICONS, null, …)`). When no element-level
|
|
34
|
+
* provider exists both calls return the same array reference and we
|
|
35
|
+
* skip the redundant pass. Otherwise we lay element on top of env so
|
|
36
|
+
* a page's local icons can override a root-registered name.
|
|
37
|
+
*
|
|
38
|
+
* One known limitation: multiple element-injector levels in between
|
|
39
|
+
* still shadow each other — but the showcase doesn't nest providers
|
|
40
|
+
* that deep, and the env+local merge fixes the dominant case.
|
|
41
|
+
*/
|
|
42
|
+
private readonly iconSets;
|
|
43
|
+
private readonly registry;
|
|
44
|
+
private readonly icon;
|
|
45
|
+
constructor();
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrIcon, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrIcon, "wr-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @license
|
|
52
|
+
*
|
|
53
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
54
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
55
|
+
*/
|
|
56
|
+
/**
|
|
57
|
+
* Any icon name registered via {@link provideWrIcons}.
|
|
58
|
+
*
|
|
59
|
+
* Kept as a string alias so consumers can pass any name they've wired
|
|
60
|
+
* — there are no built-ins shipped by ngwr. Bring an icon set via one
|
|
61
|
+
* of the adapters under `ngwr/icon/adapters/<set>` or via `svgIcon()`.
|
|
62
|
+
*/
|
|
63
|
+
type WrIconName = string;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @license
|
|
67
|
+
*
|
|
68
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
69
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Shape of an icon registered with the icon registry.
|
|
74
|
+
*
|
|
75
|
+
* The library ships a set of built-in icons, but consumers can also
|
|
76
|
+
* provide their own custom icons with the same shape.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const myIcon: WrIconDef = {
|
|
81
|
+
* name: 'my-custom-logo',
|
|
82
|
+
* data: '<svg viewBox="0 0 24 24">...</svg>',
|
|
83
|
+
* };
|
|
84
|
+
*
|
|
85
|
+
* provideWrIcons([myIcon]);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
interface WrIconDef {
|
|
89
|
+
name: WrIconName;
|
|
90
|
+
data: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @license
|
|
95
|
+
*
|
|
96
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
97
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
98
|
+
*/
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Registers a set of icons for use by `<wr-icon>`.
|
|
102
|
+
*
|
|
103
|
+
* Can be called multiple times — each call adds to the registry.
|
|
104
|
+
* Works at both the application root and at the component level,
|
|
105
|
+
* so a feature module or a single component can bring its own icons
|
|
106
|
+
* without polluting the global config.
|
|
107
|
+
*
|
|
108
|
+
* In dev mode, each icon is validated for common issues (missing
|
|
109
|
+
* `viewBox`, malformed root). Validation is dropped from production
|
|
110
|
+
* builds via `isDevMode()` tree-shaking.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* // App-level registration
|
|
115
|
+
* import { home, user, cog, provideWrIcons } from 'ngwr/icon';
|
|
116
|
+
*
|
|
117
|
+
* export const appConfig: ApplicationConfig = {
|
|
118
|
+
* providers: [
|
|
119
|
+
* provideWrIcons([home, user, cog]),
|
|
120
|
+
* ],
|
|
121
|
+
* };
|
|
122
|
+
* ```
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* // Component-level registration
|
|
127
|
+
* import { logoGithub, logoNpm, provideWrIcons, WrIconDef } from 'ngwr/icon';
|
|
128
|
+
*
|
|
129
|
+
* @Component({
|
|
130
|
+
* selector: 'ngwr-header',
|
|
131
|
+
* imports: [WrIcon],
|
|
132
|
+
* providers: [provideWrIcons([logoGithub, logoNpm])],
|
|
133
|
+
* template: `<wr-icon name="logo-github" />`,
|
|
134
|
+
* })
|
|
135
|
+
* export class HeaderComponent {}
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
declare function provideWrIcons(icons: WrIconDef[]): Provider[];
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @license
|
|
142
|
+
*
|
|
143
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
144
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Wrap a raw SVG string in the {@link WrIconDef} envelope. Use this when
|
|
149
|
+
* importing icons from sources that ship full `<svg>` files — Tabler,
|
|
150
|
+
* Phosphor, Heroicons, Iconoir, Radix, Bootstrap Icons, your designer.
|
|
151
|
+
*
|
|
152
|
+
* Pair with a bundler's raw-SVG import (Vite's `?raw`, Webpack's
|
|
153
|
+
* `raw-loader`, esbuild's `--loader:.svg=text`) so the SVG file becomes
|
|
154
|
+
* a string at build time.
|
|
155
|
+
*
|
|
156
|
+
* For sets with a non-SVG shape (Lucide's IconNode tuples, Feather's
|
|
157
|
+
* inner-only SVG), use the dedicated adapter under
|
|
158
|
+
* `ngwr/icon/adapters/<set>` instead.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* import { svgIcon, provideWrIcons } from 'ngwr/icon';
|
|
163
|
+
* // Vite: the `?raw` suffix returns the file as a string.
|
|
164
|
+
* import plusSvg from '@tabler/icons/icons/plus.svg?raw';
|
|
165
|
+
* import phosphorPlusSvg from '@phosphor-icons/core/assets/regular/plus.svg?raw';
|
|
166
|
+
*
|
|
167
|
+
* bootstrapApplication(AppComponent, {
|
|
168
|
+
* providers: [
|
|
169
|
+
* provideWrIcons([
|
|
170
|
+
* svgIcon('plus', plusSvg),
|
|
171
|
+
* svgIcon('plus-phosphor', phosphorPlusSvg),
|
|
172
|
+
* ]),
|
|
173
|
+
* ],
|
|
174
|
+
* });
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
declare function svgIcon(name: string, svg: string): WrIconDef;
|
|
178
|
+
|
|
179
|
+
export { WrIcon, provideWrIcons, svgIcon };
|
|
180
|
+
export type { WrIconDef, WrIconName };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
*
|
|
7
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
8
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
9
|
+
*/
|
|
10
|
+
/** Crop rectangle in source-image (natural) pixel coordinates. */
|
|
11
|
+
interface WrCropRect {
|
|
12
|
+
readonly x: number;
|
|
13
|
+
readonly y: number;
|
|
14
|
+
readonly width: number;
|
|
15
|
+
readonly height: number;
|
|
16
|
+
}
|
|
17
|
+
/** Possible drag handles on the crop overlay. */
|
|
18
|
+
type WrCropHandle = 'move' | 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
|
|
19
|
+
/** Supported output MIME types for {@link WrImageCropper.toBlob}. */
|
|
20
|
+
type WrImageOutputType = 'image/png' | 'image/jpeg' | 'image/webp';
|
|
21
|
+
|
|
22
|
+
interface RectPx {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
w: number;
|
|
26
|
+
h: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Image crop UI. Pass `[src]` (URL, `File`, or `Blob`); the user drags
|
|
30
|
+
* the crop window or any of its eight handles. Optionally lock the crop
|
|
31
|
+
* to a fixed `[aspectRatio]`.
|
|
32
|
+
*
|
|
33
|
+
* `(cropped)` fires after each drag end with a freshly-rendered `Blob`
|
|
34
|
+
* of the cropped region. For one-off reads use `toBlob()` / `toDataUrl()`.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```html
|
|
38
|
+
* <wr-image-cropper
|
|
39
|
+
* [src]="file"
|
|
40
|
+
* [aspectRatio]="1"
|
|
41
|
+
* (cropped)="onBlob($event)"
|
|
42
|
+
* />
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @see https://ngwr.dev/components/image-cropper
|
|
46
|
+
*/
|
|
47
|
+
declare class WrImageCropper {
|
|
48
|
+
/** Image source — URL string, `File`, or `Blob`. */
|
|
49
|
+
readonly src: _angular_core.InputSignal<string | File | Blob | null>;
|
|
50
|
+
/** Aspect ratio (width / height). `null` = free. @default null */
|
|
51
|
+
readonly aspectRatio: _angular_core.InputSignal<number | null>;
|
|
52
|
+
/** Minimum crop width in display pixels. @default 32 */
|
|
53
|
+
readonly minWidth: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
54
|
+
/** Minimum crop height in display pixels. @default 32 */
|
|
55
|
+
readonly minHeight: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
56
|
+
/** Default output type for `(cropped)`. @default 'image/png' */
|
|
57
|
+
readonly outputType: _angular_core.InputSignal<WrImageOutputType>;
|
|
58
|
+
/** JPEG / WebP quality for `(cropped)` in [0, 1]. @default 0.92 */
|
|
59
|
+
readonly outputQuality: _angular_core.InputSignal<number>;
|
|
60
|
+
/** Emits a Blob after each drag end. */
|
|
61
|
+
readonly cropped: _angular_core.OutputEmitterRef<Blob>;
|
|
62
|
+
protected readonly imgEl: _angular_core.Signal<ElementRef<HTMLImageElement>>;
|
|
63
|
+
/** Resolved object URL for `src` (so File / Blob render in `<img>`). */
|
|
64
|
+
protected readonly objectUrl: _angular_core.WritableSignal<string | null>;
|
|
65
|
+
/** Previous object URL we created — kept off-signal so the resolve
|
|
66
|
+
* effect doesn't depend on its own writes (which would loop). */
|
|
67
|
+
private previousObjectUrl;
|
|
68
|
+
/** Natural (source) pixel dimensions. */
|
|
69
|
+
protected readonly natural: _angular_core.WritableSignal<{
|
|
70
|
+
w: number;
|
|
71
|
+
h: number;
|
|
72
|
+
}>;
|
|
73
|
+
/** Display (rendered) pixel dimensions. */
|
|
74
|
+
protected readonly display: _angular_core.WritableSignal<{
|
|
75
|
+
w: number;
|
|
76
|
+
h: number;
|
|
77
|
+
}>;
|
|
78
|
+
/** Crop rect in display coordinates. */
|
|
79
|
+
protected readonly cropDisplay: _angular_core.WritableSignal<RectPx>;
|
|
80
|
+
/** Currently active drag handle. */
|
|
81
|
+
private active;
|
|
82
|
+
private startPointer;
|
|
83
|
+
private startRect;
|
|
84
|
+
private readonly destroyRef;
|
|
85
|
+
/** Resolved crop rect in natural (source) pixel coordinates. */
|
|
86
|
+
readonly cropRect: _angular_core.Signal<WrCropRect>;
|
|
87
|
+
constructor();
|
|
88
|
+
protected onImageLoad(): void;
|
|
89
|
+
/** Compute a sensible initial crop — centered, respecting aspectRatio. */
|
|
90
|
+
private initialCrop;
|
|
91
|
+
protected readonly handles: readonly WrCropHandle[];
|
|
92
|
+
protected onPointerDown(handle: WrCropHandle, event: PointerEvent): void;
|
|
93
|
+
protected onPointerMove(event: PointerEvent): void;
|
|
94
|
+
protected onPointerUp(event: PointerEvent): void;
|
|
95
|
+
private applyMove;
|
|
96
|
+
private applyResize;
|
|
97
|
+
/** Render the current crop as a Blob. */
|
|
98
|
+
toBlob(type?: WrImageOutputType, quality?: number): Promise<Blob>;
|
|
99
|
+
/** Render the current crop as a data URL. */
|
|
100
|
+
toDataUrl(type?: WrImageOutputType, quality?: number): string;
|
|
101
|
+
/** Re-emit the crop without waiting for a drag (e.g. after a programmatic change). */
|
|
102
|
+
refresh(): Promise<void>;
|
|
103
|
+
private toCanvas;
|
|
104
|
+
private emitCropped;
|
|
105
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrImageCropper, never>;
|
|
106
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrImageCropper, "wr-image-cropper", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "outputType": { "alias": "outputType"; "required": false; "isSignal": true; }; "outputQuality": { "alias": "outputQuality"; "required": false; "isSignal": true; }; }, { "cropped": "cropped"; }, never, never, true, never>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { WrImageCropper };
|
|
110
|
+
export type { WrCropHandle, WrCropRect, WrImageOutputType };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Numeric input with locale-aware formatting + ▲▼ stepper buttons.
|
|
6
|
+
*
|
|
7
|
+
* Implements `ControlValueAccessor` — value type is `number | null`.
|
|
8
|
+
* Parses leniently while typing (allows partial input like `"1."` or `"-"`),
|
|
9
|
+
* re-formats with grouping + fixed decimals on blur.
|
|
10
|
+
*
|
|
11
|
+
* Locale comes from Angular's `LOCALE_ID` — input-number intentionally does
|
|
12
|
+
* NOT depend on `ngwr/date-adapter` so it can be used in date-free apps.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```html
|
|
16
|
+
* <wr-input-number [(ngModel)]="qty" [min]="0" [max]="100" />
|
|
17
|
+
* <wr-input-number [(ngModel)]="price" [decimals]="2" suffix="USD" />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @see https://ngwr.dev/components/input-number
|
|
21
|
+
*/
|
|
22
|
+
declare class WrInputNumber implements ControlValueAccessor {
|
|
23
|
+
/** Minimum allowed value. @default -Infinity */
|
|
24
|
+
readonly min: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
25
|
+
/** Maximum allowed value. @default Infinity */
|
|
26
|
+
readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
27
|
+
/** Step used by stepper buttons + arrow keys. @default 1 */
|
|
28
|
+
readonly step: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
29
|
+
/** Fixed number of decimals shown on blur. `null` keeps the entered precision. @default null */
|
|
30
|
+
readonly decimals: _angular_core.InputSignal<number | null>;
|
|
31
|
+
/** Render the ▲▼ stepper column. @default true */
|
|
32
|
+
readonly showSteppers: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
33
|
+
/** Optional prefix label (e.g. `"$"`). */
|
|
34
|
+
readonly prefix: _angular_core.InputSignal<string>;
|
|
35
|
+
/** Optional suffix label (e.g. `"kg"`). */
|
|
36
|
+
readonly suffix: _angular_core.InputSignal<string>;
|
|
37
|
+
/** Placeholder shown when the input is empty. */
|
|
38
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
39
|
+
/** Disable interaction. @default false */
|
|
40
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
41
|
+
/** Read-only — values cannot be changed (steppers + typing disabled). @default false */
|
|
42
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
43
|
+
private readonly locale;
|
|
44
|
+
private readonly separators;
|
|
45
|
+
/** Current numeric value mirrored from the CVA. */
|
|
46
|
+
protected readonly value: _angular_core.WritableSignal<number | null>;
|
|
47
|
+
/** Text currently in the input (may be partial / invalid mid-type). */
|
|
48
|
+
protected readonly text: _angular_core.WritableSignal<string>;
|
|
49
|
+
private readonly disabledFromCva;
|
|
50
|
+
protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
|
|
51
|
+
protected readonly interactive: _angular_core.Signal<boolean>;
|
|
52
|
+
protected readonly atMin: _angular_core.Signal<boolean>;
|
|
53
|
+
protected readonly atMax: _angular_core.Signal<boolean>;
|
|
54
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
55
|
+
private onChange;
|
|
56
|
+
private onTouched;
|
|
57
|
+
writeValue(value: number | null): void;
|
|
58
|
+
registerOnChange(fn: (value: number | null) => void): void;
|
|
59
|
+
registerOnTouched(fn: () => void): void;
|
|
60
|
+
setDisabledState(isDisabled: boolean): void;
|
|
61
|
+
protected onInput(event: Event): void;
|
|
62
|
+
protected onBlur(): void;
|
|
63
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
64
|
+
protected stepBy(direction: 1 | -1): void;
|
|
65
|
+
private bump;
|
|
66
|
+
/** Choose a sensible starting point when bumping from `null`. */
|
|
67
|
+
private fallbackBase;
|
|
68
|
+
private constrain;
|
|
69
|
+
/** Parse a locale-formatted string. Returns `null` for partial / not-yet-numeric input. */
|
|
70
|
+
private parse;
|
|
71
|
+
/** Format a value using `Intl.NumberFormat` for the active locale. */
|
|
72
|
+
private format;
|
|
73
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputNumber, never>;
|
|
74
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputNumber, "wr-input-number", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "showSteppers": { "alias": "showSteppers"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { WrInputNumber };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
*
|
|
8
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
9
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Character set accepted by `<wr-input-otp>`:
|
|
13
|
+
* - `numeric` — digits only (also sets `inputmode="numeric"` so mobile keyboards
|
|
14
|
+
* show the number pad)
|
|
15
|
+
* - `alphanumeric` — letters + digits
|
|
16
|
+
* - `text` — any single character per cell
|
|
17
|
+
*/
|
|
18
|
+
type WrInputOtpMode = 'numeric' | 'alphanumeric' | 'text';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Fixed-length one-time-code input. Renders one `<input>` per character,
|
|
22
|
+
* auto-advances focus on typing, handles paste of a full code, and supports
|
|
23
|
+
* masking like a password field.
|
|
24
|
+
*
|
|
25
|
+
* Implements `ControlValueAccessor` — emits the joined string through
|
|
26
|
+
* `[(ngModel)]` / `formControl`. Emits `completed` once all cells are
|
|
27
|
+
* filled (useful for auto-submission).
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```html
|
|
31
|
+
* <wr-input-otp [(ngModel)]="code" length="6" (completed)="verify($event)" />
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @see https://ngwr.dev/components/input-otp
|
|
35
|
+
*/
|
|
36
|
+
declare class WrInputOtp implements ControlValueAccessor {
|
|
37
|
+
/** Number of cells to render. Clamped to `[1, 20]`. @default 6 */
|
|
38
|
+
readonly length: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
39
|
+
/** Character set per cell. @default 'numeric' */
|
|
40
|
+
readonly mode: _angular_core.InputSignal<WrInputOtpMode>;
|
|
41
|
+
/** Mask the typed characters like a password. @default false */
|
|
42
|
+
readonly mask: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
43
|
+
/** Disable interaction. @default false */
|
|
44
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
|
|
45
|
+
/** Character shown in empty cells. @default '•' */
|
|
46
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
47
|
+
/** Fires once when every cell holds a character. */
|
|
48
|
+
readonly completed: _angular_core.OutputEmitterRef<string>;
|
|
49
|
+
protected readonly cells: _angular_core.WritableSignal<readonly string[]>;
|
|
50
|
+
private readonly disabledFromCva;
|
|
51
|
+
protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
|
|
52
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
53
|
+
protected readonly cellType: _angular_core.Signal<"text" | "password">;
|
|
54
|
+
protected readonly cellInputMode: _angular_core.Signal<"numeric" | "text">;
|
|
55
|
+
protected readonly cellRefs: _angular_core.Signal<readonly ElementRef<HTMLInputElement>[]>;
|
|
56
|
+
constructor();
|
|
57
|
+
private onChange;
|
|
58
|
+
private onTouched;
|
|
59
|
+
writeValue(v: string | null): void;
|
|
60
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
61
|
+
registerOnTouched(fn: () => void): void;
|
|
62
|
+
setDisabledState(isDisabled: boolean): void;
|
|
63
|
+
protected onInput(event: Event, index: number): void;
|
|
64
|
+
protected onKeyDown(event: KeyboardEvent, index: number): void;
|
|
65
|
+
protected onPaste(event: ClipboardEvent): void;
|
|
66
|
+
protected onBlur(): void;
|
|
67
|
+
protected trackIndex(index: number): number;
|
|
68
|
+
private update;
|
|
69
|
+
private emitChange;
|
|
70
|
+
private focusCell;
|
|
71
|
+
/** Drop a character that doesn't match the configured mode. */
|
|
72
|
+
private sanitiseChar;
|
|
73
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputOtp, never>;
|
|
74
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputOtp, "wr-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "completed": "completed"; }, never, never, true, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { WrInputOtp };
|
|
78
|
+
export type { WrInputOtpMode };
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Applies NGWR input styling to a native `<input>` element.
|
|
5
|
+
*
|
|
6
|
+
* Because this is an attribute directive on the real `<input>` (not a wrapper
|
|
7
|
+
* component), any other directive that targets `input` — `[(ngModel)]`,
|
|
8
|
+
* `[formControl]`, validators, third-party libraries like `ngx-mask` — composes
|
|
9
|
+
* naturally on the same element.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <input wrInput [(ngModel)]="name" placeholder="Your name" />
|
|
14
|
+
*
|
|
15
|
+
* <!-- Works with ngx-mask, validators, etc. -->
|
|
16
|
+
* <input wrInput [(ngModel)]="phone" mask="(000) 000-0000" />
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* For prefix / suffix / password-toggle layouts, wrap the input in
|
|
20
|
+
* `<wr-input-group>`.
|
|
21
|
+
*
|
|
22
|
+
* @see https://ngwr.dev/components/input
|
|
23
|
+
*/
|
|
24
|
+
declare class WrInput {
|
|
25
|
+
/** Pill-shaped corners. @default false */
|
|
26
|
+
readonly rounded: i0.InputSignalWithTransform<boolean, any>;
|
|
27
|
+
protected readonly classes: i0.Signal<string>;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrInput, never>;
|
|
29
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrInput, "input[wrInput], textarea[wrInput]", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Marks an element as the **left** decoration inside `<wr-input-group>`.
|
|
34
|
+
* Adds the `.wr-input-group__affix` class so the group's layout flexes it
|
|
35
|
+
* to the input's left edge.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```html
|
|
39
|
+
* <wr-input-group>
|
|
40
|
+
* <span wrInputPrefix>$</span>
|
|
41
|
+
* <input wrInput [(ngModel)]="amount" type="number" />
|
|
42
|
+
* </wr-input-group>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare class WrInputPrefix {
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrInputPrefix, never>;
|
|
47
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrInputPrefix, "[wrInputPrefix]", never, {}, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Marks an element as the **right** decoration inside `<wr-input-group>`.
|
|
52
|
+
* Adds the `.wr-input-group__affix` class so the group's layout flexes it
|
|
53
|
+
* to the input's right edge.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```html
|
|
57
|
+
* <wr-input-group>
|
|
58
|
+
* <input wrInput [(ngModel)]="amount" type="number" />
|
|
59
|
+
* <span wrInputSuffix>USD</span>
|
|
60
|
+
* </wr-input-group>
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
declare class WrInputSuffix {
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrInputSuffix, never>;
|
|
65
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WrInputSuffix, "[wrInputSuffix]", never, {}, {}, never, never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Container for `<input wrInput>` + `[wrInputPrefix]` / `[wrInputSuffix]` /
|
|
70
|
+
* `<wr-password-toggle>` siblings. Renders the border and focus ring; the
|
|
71
|
+
* inner native input drops its own border so it visually melts into the
|
|
72
|
+
* group.
|
|
73
|
+
*
|
|
74
|
+
* Pure layout — no signals shared with the inner directive, focus styling is
|
|
75
|
+
* driven entirely by `:focus-within` so any focusable child counts.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```html
|
|
79
|
+
* <wr-input-group>
|
|
80
|
+
* <span wrInputPrefix>$</span>
|
|
81
|
+
* <input wrInput [(ngModel)]="amount" type="number" />
|
|
82
|
+
* <span wrInputSuffix>USD</span>
|
|
83
|
+
* </wr-input-group>
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @see https://ngwr.dev/components/input
|
|
87
|
+
*/
|
|
88
|
+
declare class WrInputGroup {
|
|
89
|
+
/** Pill-shaped corners. @default false */
|
|
90
|
+
readonly rounded: i0.InputSignalWithTransform<boolean, any>;
|
|
91
|
+
protected readonly classes: i0.Signal<string>;
|
|
92
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrInputGroup, never>;
|
|
93
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrInputGroup, "wr-input-group", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Self-contained eye-toggle button. Flips the linked `<input>`'s `type`
|
|
98
|
+
* attribute between `password` and `text`. Drop it inside an
|
|
99
|
+
* `<wr-input-group>` next to a password input.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```html
|
|
103
|
+
* <wr-input-group>
|
|
104
|
+
* <input wrInput type="password" [(ngModel)]="pw" #pwInput />
|
|
105
|
+
* <wr-password-toggle [for]="pwInput" />
|
|
106
|
+
* </wr-input-group>
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare class WrPasswordToggle {
|
|
110
|
+
/** Reference to the linked password input. */
|
|
111
|
+
readonly for: i0.InputSignal<HTMLInputElement>;
|
|
112
|
+
protected readonly revealed: i0.WritableSignal<boolean>;
|
|
113
|
+
protected readonly ariaLabel: i0.Signal<"Hide password" | "Show password">;
|
|
114
|
+
protected toggle(): void;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WrPasswordToggle, never>;
|
|
116
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WrPasswordToggle, "wr-password-toggle", never, { "for": { "alias": "for"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @license
|
|
121
|
+
*
|
|
122
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
123
|
+
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* Native input `type` values supported by `<wr-input>`.
|
|
127
|
+
*/
|
|
128
|
+
type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
|
|
129
|
+
|
|
130
|
+
export { WrInput, WrInputGroup, WrInputPrefix, WrInputSuffix, WrPasswordToggle };
|
|
131
|
+
export type { WrInputType };
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
/** Visual size variant. */
|
|
10
|
+
type WrKbdSize = 'sm' | 'md' | 'lg';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Tiny keycap chip — renders projected content (`⌘`, `K`, `Enter`, etc.) in
|
|
14
|
+
* a beveled rectangle that reads as a physical key. Stack multiple `<wr-kbd>`
|
|
15
|
+
* with a plain `+` between them for chords.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```html
|
|
19
|
+
* <wr-kbd>⌘</wr-kbd> + <wr-kbd>K</wr-kbd>
|
|
20
|
+
* <wr-kbd size="lg">Esc</wr-kbd>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @see https://ngwr.dev/components/keyboard
|
|
24
|
+
*/
|
|
25
|
+
declare class WrKbd {
|
|
26
|
+
/** Visual size variant. @default 'md' */
|
|
27
|
+
readonly size: _angular_core.InputSignal<WrKbdSize>;
|
|
28
|
+
protected readonly classes: _angular_core.Signal<string>;
|
|
29
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrKbd, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrKbd, "wr-kbd", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { WrKbd };
|
|
34
|
+
export type { WrKbdSize };
|