ngwr 15.0.1 → 15.2.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/anchor/styles/_index.scss +13 -2
- package/bits/aurora/styles/_rules.scss +11 -0
- package/bits/dot-grid/dot-grid.scss +1 -0
- package/bits/dot-grid/styles/_index.scss +8 -0
- package/bits/dot-grid/styles/_rules.scss +54 -0
- package/bits/iridescence/iridescence.scss +1 -0
- package/bits/iridescence/styles/_index.scss +8 -0
- package/bits/iridescence/styles/_rules.scss +72 -0
- package/bits/marquee/styles/_rules.scss +7 -3
- package/bits/ripple-grid/ripple-grid.scss +1 -0
- package/bits/ripple-grid/styles/_index.scss +8 -0
- package/bits/ripple-grid/styles/_rules.scss +63 -0
- package/bits/spotlight-card/styles/_rules.scss +7 -4
- package/bits/star-border/styles/_rules.scss +5 -2
- package/bits/threads/styles/_index.scss +8 -0
- package/bits/threads/styles/_rules.scss +76 -0
- package/bits/threads/threads.scss +1 -0
- package/bits/waves/styles/_rules.scss +8 -1
- package/charts/bar-chart/styles/_index.scss +607 -7
- package/charts/boxplot-chart/styles/_index.scss +297 -0
- package/charts/bullet-chart/styles/_index.scss +268 -0
- package/charts/calendar-heatmap/styles/_index.scss +25 -3
- package/charts/candlestick-chart/styles/_index.scss +307 -0
- package/charts/chart-legend/styles/_index.scss +143 -0
- package/charts/core/styles/_index.scss +30 -0
- package/charts/donut-chart/styles/_index.scss +39 -3
- package/charts/funnel-chart/styles/_index.scss +237 -0
- package/charts/gauge/styles/_index.scss +4 -2
- package/charts/heatmap-chart/styles/_index.scss +329 -0
- package/charts/line-chart/styles/_index.scss +141 -8
- package/charts/meter-group/styles/_index.scss +44 -13
- package/charts/radar-chart/styles/_index.scss +206 -0
- package/charts/scatter-chart/styles/_index.scss +245 -0
- package/charts/sparkline/styles/_index.scss +10 -1
- package/charts/treemap-chart/styles/_index.scss +215 -0
- package/charts/waterfall-chart/styles/_index.scss +321 -0
- package/collapse/styles/_index.scss +6 -1
- package/fesm2022/ngwr-affix.mjs +3 -3
- package/fesm2022/ngwr-alert.mjs +3 -3
- package/fesm2022/ngwr-anchor.mjs +3 -3
- package/fesm2022/ngwr-avatar.mjs +3 -3
- package/fesm2022/ngwr-back-top.mjs +3 -3
- package/fesm2022/ngwr-badge.mjs +6 -6
- package/fesm2022/ngwr-bits-aurora.mjs +30 -38
- package/fesm2022/ngwr-bits-aurora.mjs.map +1 -1
- package/fesm2022/ngwr-bits-blur-text.mjs +3 -3
- package/fesm2022/ngwr-bits-border-glow-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bits-border-glow.mjs +11 -5
- package/fesm2022/ngwr-bits-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-bits-circular-text.mjs +3 -3
- package/fesm2022/ngwr-bits-click-spark.mjs +3 -3
- package/fesm2022/ngwr-bits-confetti.mjs +3 -3
- package/fesm2022/ngwr-bits-decrypt-text.mjs +3 -3
- package/fesm2022/ngwr-bits-dot-grid-testing.mjs +40 -0
- package/fesm2022/ngwr-bits-dot-grid-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bits-dot-grid.mjs +482 -0
- package/fesm2022/ngwr-bits-dot-grid.mjs.map +1 -0
- package/fesm2022/ngwr-bits-falling-text.mjs +3 -3
- package/fesm2022/ngwr-bits-fuzzy-text.mjs +3 -3
- package/fesm2022/ngwr-bits-glitch-text.mjs +3 -3
- package/fesm2022/ngwr-bits-gradient-text.mjs +3 -3
- package/fesm2022/ngwr-bits-iridescence-testing.mjs +31 -0
- package/fesm2022/ngwr-bits-iridescence-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bits-iridescence.mjs +591 -0
- package/fesm2022/ngwr-bits-iridescence.mjs.map +1 -0
- package/fesm2022/ngwr-bits-marquee-testing.mjs +1 -1
- package/fesm2022/ngwr-bits-marquee-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bits-marquee.mjs +7 -7
- package/fesm2022/ngwr-bits-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-bits-ripple-grid-testing.mjs +40 -0
- package/fesm2022/ngwr-bits-ripple-grid-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bits-ripple-grid.mjs +805 -0
- package/fesm2022/ngwr-bits-ripple-grid.mjs.map +1 -0
- package/fesm2022/ngwr-bits-rotating-text.mjs +3 -3
- package/fesm2022/ngwr-bits-shiny-text.mjs +6 -6
- package/fesm2022/ngwr-bits-splash-cursor.mjs +3 -3
- package/fesm2022/ngwr-bits-split-text.mjs +3 -3
- package/fesm2022/ngwr-bits-spotlight-card-testing.mjs +1 -1
- package/fesm2022/ngwr-bits-spotlight-card-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bits-spotlight-card.mjs +10 -10
- package/fesm2022/ngwr-bits-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-bits-star-border-testing.mjs +1 -1
- package/fesm2022/ngwr-bits-star-border-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bits-star-border.mjs +7 -7
- package/fesm2022/ngwr-bits-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-bits-threads-testing.mjs +41 -0
- package/fesm2022/ngwr-bits-threads-testing.mjs.map +1 -0
- package/fesm2022/ngwr-bits-threads.mjs +482 -0
- package/fesm2022/ngwr-bits-threads.mjs.map +1 -0
- package/fesm2022/ngwr-bits-tilt-card.mjs +6 -6
- package/fesm2022/ngwr-bits-typewriter.mjs +3 -3
- package/fesm2022/ngwr-bits-waves-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bits-waves.mjs +60 -41
- package/fesm2022/ngwr-bits-waves.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
- package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
- package/fesm2022/ngwr-burger.mjs +3 -3
- package/fesm2022/ngwr-button.mjs +6 -6
- package/fesm2022/ngwr-calendar.mjs +3 -3
- package/fesm2022/ngwr-card.mjs +9 -9
- package/fesm2022/ngwr-carousel.mjs +6 -6
- package/fesm2022/ngwr-cascader.mjs +5 -5
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-charts-bar-chart-testing.mjs +127 -3
- package/fesm2022/ngwr-charts-bar-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-bar-chart.mjs +683 -49
- package/fesm2022/ngwr-charts-bar-chart.mjs.map +1 -1
- package/fesm2022/ngwr-charts-boxplot-chart-testing.mjs +161 -0
- package/fesm2022/ngwr-charts-boxplot-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-boxplot-chart.mjs +517 -0
- package/fesm2022/ngwr-charts-boxplot-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-bullet-chart-testing.mjs +68 -0
- package/fesm2022/ngwr-charts-bullet-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-bullet-chart.mjs +459 -0
- package/fesm2022/ngwr-charts-bullet-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-calendar-heatmap-testing.mjs +27 -0
- package/fesm2022/ngwr-charts-calendar-heatmap-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-calendar-heatmap.mjs +96 -17
- package/fesm2022/ngwr-charts-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-charts-candlestick-chart-testing.mjs +107 -0
- package/fesm2022/ngwr-charts-candlestick-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-candlestick-chart.mjs +508 -0
- package/fesm2022/ngwr-charts-candlestick-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-chart-legend-testing.mjs +126 -0
- package/fesm2022/ngwr-charts-chart-legend-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-chart-legend.mjs +251 -0
- package/fesm2022/ngwr-charts-chart-legend.mjs.map +1 -0
- package/fesm2022/ngwr-charts-core.mjs +383 -0
- package/fesm2022/ngwr-charts-core.mjs.map +1 -0
- package/fesm2022/ngwr-charts-donut-chart-testing.mjs +10 -1
- package/fesm2022/ngwr-charts-donut-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-donut-chart.mjs +187 -31
- package/fesm2022/ngwr-charts-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-charts-funnel-chart-testing.mjs +100 -0
- package/fesm2022/ngwr-charts-funnel-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-funnel-chart.mjs +415 -0
- package/fesm2022/ngwr-charts-funnel-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-gauge-testing.mjs +9 -3
- package/fesm2022/ngwr-charts-gauge-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-gauge.mjs +9 -15
- package/fesm2022/ngwr-charts-gauge.mjs.map +1 -1
- package/fesm2022/ngwr-charts-heatmap-chart-testing.mjs +120 -0
- package/fesm2022/ngwr-charts-heatmap-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-heatmap-chart.mjs +519 -0
- package/fesm2022/ngwr-charts-heatmap-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-line-chart-testing.mjs +43 -1
- package/fesm2022/ngwr-charts-line-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-line-chart.mjs +436 -122
- package/fesm2022/ngwr-charts-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-charts-meter-group-testing.mjs +14 -2
- package/fesm2022/ngwr-charts-meter-group-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-meter-group.mjs +101 -32
- package/fesm2022/ngwr-charts-meter-group.mjs.map +1 -1
- package/fesm2022/ngwr-charts-radar-chart-testing.mjs +98 -0
- package/fesm2022/ngwr-charts-radar-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-radar-chart.mjs +720 -0
- package/fesm2022/ngwr-charts-radar-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-scatter-chart-testing.mjs +132 -0
- package/fesm2022/ngwr-charts-scatter-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-scatter-chart.mjs +545 -0
- package/fesm2022/ngwr-charts-scatter-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-sparkline-testing.mjs.map +1 -1
- package/fesm2022/ngwr-charts-sparkline.mjs +14 -16
- package/fesm2022/ngwr-charts-sparkline.mjs.map +1 -1
- package/fesm2022/ngwr-charts-treemap-chart-testing.mjs +103 -0
- package/fesm2022/ngwr-charts-treemap-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-treemap-chart.mjs +535 -0
- package/fesm2022/ngwr-charts-treemap-chart.mjs.map +1 -0
- package/fesm2022/ngwr-charts-waterfall-chart-testing.mjs +131 -0
- package/fesm2022/ngwr-charts-waterfall-chart-testing.mjs.map +1 -0
- package/fesm2022/ngwr-charts-waterfall-chart.mjs +462 -0
- package/fesm2022/ngwr-charts-waterfall-chart.mjs.map +1 -0
- package/fesm2022/ngwr-checkbox.mjs +6 -6
- package/fesm2022/ngwr-clipboard.mjs +3 -3
- package/fesm2022/ngwr-collapse.mjs +9 -9
- package/fesm2022/ngwr-color-picker.mjs +6 -6
- package/fesm2022/ngwr-command-palette.mjs +3 -3
- package/fesm2022/ngwr-compare.mjs +3 -3
- package/fesm2022/ngwr-context-menu.mjs +12 -12
- package/fesm2022/ngwr-cookie.mjs +3 -3
- package/fesm2022/ngwr-counter.mjs +6 -6
- package/fesm2022/ngwr-date-picker.mjs +21 -21
- package/fesm2022/ngwr-date.mjs +6 -6
- package/fesm2022/ngwr-density.mjs +6 -6
- package/fesm2022/ngwr-descriptions.mjs +6 -6
- package/fesm2022/ngwr-dialog.mjs +15 -15
- package/fesm2022/ngwr-directives.mjs +12 -12
- package/fesm2022/ngwr-divider.mjs +3 -3
- package/fesm2022/ngwr-drawer.mjs +18 -18
- package/fesm2022/ngwr-dropdown.mjs +9 -9
- package/fesm2022/ngwr-editor.mjs +3 -3
- package/fesm2022/ngwr-empty.mjs +3 -3
- package/fesm2022/ngwr-event-calendar.mjs +6 -6
- package/fesm2022/ngwr-file-upload.mjs +3 -3
- package/fesm2022/ngwr-form.mjs +9 -9
- package/fesm2022/ngwr-graph.mjs +6 -6
- package/fesm2022/ngwr-hotkey.mjs +6 -6
- package/fesm2022/ngwr-i18n-ar.mjs +90 -4
- package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-cs.mjs +90 -4
- package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-de.mjs +90 -4
- package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +90 -4
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-es.mjs +90 -4
- package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-fr.mjs +90 -4
- package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-he.mjs +90 -4
- package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-hi.mjs +90 -4
- package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-id.mjs +90 -4
- package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-it.mjs +90 -4
- package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ja.mjs +90 -4
- package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ko.mjs +90 -4
- package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-nl.mjs +90 -4
- package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-pl.mjs +90 -4
- package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-pt.mjs +90 -4
- package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +90 -4
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-sv.mjs +90 -4
- package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-tr.mjs +90 -4
- package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-uk.mjs +90 -4
- package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-vi.mjs +90 -4
- package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-zh-tw.mjs +90 -4
- package/fesm2022/ngwr-i18n-zh-tw.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-zh.mjs +90 -4
- package/fesm2022/ngwr-i18n-zh.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +9 -9
- package/fesm2022/ngwr-icon.mjs +6 -6
- package/fesm2022/ngwr-image-cropper.mjs +3 -3
- package/fesm2022/ngwr-input-number.mjs +3 -3
- package/fesm2022/ngwr-input-otp.mjs +3 -3
- package/fesm2022/ngwr-input.mjs +15 -15
- package/fesm2022/ngwr-keyboard.mjs +3 -3
- package/fesm2022/ngwr-knob.mjs +3 -3
- package/fesm2022/ngwr-layout.mjs +15 -15
- package/fesm2022/ngwr-lightbox.mjs +5 -5
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +8 -8
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +6 -6
- package/fesm2022/ngwr-mention.mjs +6 -6
- package/fesm2022/ngwr-meta.mjs +6 -6
- package/fesm2022/ngwr-overlay.mjs +6 -6
- package/fesm2022/ngwr-page-header.mjs +3 -3
- package/fesm2022/ngwr-pagination.mjs +3 -3
- package/fesm2022/ngwr-pipes.mjs +21 -21
- package/fesm2022/ngwr-platform.mjs +6 -6
- package/fesm2022/ngwr-popconfirm.mjs +6 -6
- package/fesm2022/ngwr-popover.mjs +43 -20
- package/fesm2022/ngwr-popover.mjs.map +1 -1
- package/fesm2022/ngwr-progress.mjs +3 -3
- package/fesm2022/ngwr-pull-to-refresh.mjs +3 -3
- package/fesm2022/ngwr-qr.mjs +4 -3
- package/fesm2022/ngwr-qr.mjs.map +1 -1
- package/fesm2022/ngwr-radio.mjs +6 -6
- package/fesm2022/ngwr-rating.mjs +3 -3
- package/fesm2022/ngwr-result.mjs +12 -12
- package/fesm2022/ngwr-schema-form.mjs +3 -3
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented.mjs +3 -3
- package/fesm2022/ngwr-select.mjs +12 -12
- package/fesm2022/ngwr-sidebar.mjs +3 -3
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider.mjs +3 -3
- package/fesm2022/ngwr-sortable-list.mjs +11 -11
- package/fesm2022/ngwr-sortable-list.mjs.map +1 -1
- package/fesm2022/ngwr-speed-dial.mjs +3 -3
- package/fesm2022/ngwr-spinner.mjs +3 -3
- package/fesm2022/ngwr-splitter.mjs +3 -3
- package/fesm2022/ngwr-statistic.mjs +9 -9
- package/fesm2022/ngwr-stepper.mjs +6 -6
- package/fesm2022/ngwr-storage.mjs +3 -3
- package/fesm2022/ngwr-switch.mjs +3 -3
- package/fesm2022/ngwr-table.mjs +18 -18
- package/fesm2022/ngwr-tabs-router.mjs +3 -3
- package/fesm2022/ngwr-tabs.mjs +6 -6
- package/fesm2022/ngwr-textarea.mjs +3 -3
- package/fesm2022/ngwr-theme.mjs +3 -3
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast-testing.mjs +2 -1
- package/fesm2022/ngwr-toast-testing.mjs.map +1 -1
- package/fesm2022/ngwr-toast.mjs +34 -15
- package/fesm2022/ngwr-toast.mjs.map +1 -1
- package/fesm2022/ngwr-toolbar.mjs +3 -3
- package/fesm2022/ngwr-tour.mjs +6 -6
- package/fesm2022/ngwr-transfer.mjs +3 -3
- package/fesm2022/ngwr-tree.mjs +3 -3
- package/fesm2022/ngwr-typography.mjs +3 -3
- package/fesm2022/ngwr-utils.mjs +31 -1
- package/fesm2022/ngwr-utils.mjs.map +1 -1
- package/fesm2022/ngwr-version.mjs +1 -1
- package/fesm2022/ngwr-version.mjs.map +1 -1
- package/fesm2022/ngwr-virtual-scroll.mjs +3 -3
- package/fesm2022/ngwr-window-testing.mjs +61 -5
- package/fesm2022/ngwr-window-testing.mjs.map +1 -1
- package/fesm2022/ngwr-window.mjs +1538 -895
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/fesm2022/ngwr.mjs.map +1 -1
- package/i18n/ar.json +84 -4
- package/i18n/cs.json +84 -4
- package/i18n/de.json +84 -4
- package/i18n/en.json +84 -4
- package/i18n/es.json +84 -4
- package/i18n/fr.json +84 -4
- package/i18n/he.json +84 -4
- package/i18n/hi.json +84 -4
- package/i18n/id.json +84 -4
- package/i18n/it.json +84 -4
- package/i18n/ja.json +84 -4
- package/i18n/ko.json +84 -4
- package/i18n/nl.json +84 -4
- package/i18n/pl.json +84 -4
- package/i18n/pt.json +84 -4
- package/i18n/ru.json +84 -4
- package/i18n/sv.json +84 -4
- package/i18n/tr.json +84 -4
- package/i18n/uk.json +84 -4
- package/i18n/vi.json +84 -4
- package/i18n/zh-TW.json +84 -4
- package/i18n/zh.json +84 -4
- package/llms-full.txt +266 -9
- package/llms.txt +30 -7
- package/mcp/api.js +69 -1
- package/mcp/catalog.js +10 -1
- package/mcp/server.js +15 -1
- package/mcp/tools.js +122 -26
- package/package.json +132 -1
- package/popover/styles/_index.scss +75 -7
- package/schematics/component-style/index.js +3 -0
- package/schematics/migrations/v15/index.js +3 -26
- package/schematics/ng-add/index.js +2 -2
- package/schematics/use/symbol-map.json +14 -0
- package/schematics/utility/global-styles.js +19 -4
- package/schematics/utility/v15-moves.js +55 -0
- package/skills/ngwr/SKILL.md +8 -2
- package/skills/ngwr/references/catalog.md +28 -0
- package/skills/ngwr/references/setup.md +5 -4
- package/theme/styles/_focus.scss +8 -0
- package/toast/styles/_index.scss +103 -12
- package/types/ngwr-bits-aurora.d.ts +11 -0
- package/types/ngwr-bits-border-glow-testing.d.ts +5 -6
- package/types/ngwr-bits-border-glow.d.ts +5 -1
- package/types/ngwr-bits-dot-grid-testing.d.ts +92 -0
- package/types/ngwr-bits-dot-grid.d.ts +158 -0
- package/types/ngwr-bits-iridescence-testing.d.ts +85 -0
- package/types/ngwr-bits-iridescence.d.ts +244 -0
- package/types/ngwr-bits-ripple-grid-testing.d.ts +96 -0
- package/types/ngwr-bits-ripple-grid.d.ts +294 -0
- package/types/ngwr-bits-splash-cursor.d.ts +0 -1
- package/types/ngwr-bits-spotlight-card-testing.d.ts +3 -1
- package/types/ngwr-bits-star-border-testing.d.ts +7 -7
- package/types/ngwr-bits-threads-testing.d.ts +97 -0
- package/types/ngwr-bits-threads.d.ts +216 -0
- package/types/ngwr-bits-waves-testing.d.ts +1 -1
- package/types/ngwr-bits-waves.d.ts +20 -3
- package/types/ngwr-charts-bar-chart-testing.d.ts +193 -14
- package/types/ngwr-charts-bar-chart.d.ts +546 -38
- package/types/ngwr-charts-boxplot-chart-testing.d.ts +165 -0
- package/types/ngwr-charts-boxplot-chart.d.ts +308 -0
- package/types/ngwr-charts-bullet-chart-testing.d.ts +99 -0
- package/types/ngwr-charts-bullet-chart.d.ts +262 -0
- package/types/ngwr-charts-calendar-heatmap-testing.d.ts +32 -1
- package/types/ngwr-charts-calendar-heatmap.d.ts +55 -6
- package/types/ngwr-charts-candlestick-chart-testing.d.ts +135 -0
- package/types/ngwr-charts-candlestick-chart.d.ts +361 -0
- package/types/ngwr-charts-chart-legend-testing.d.ts +84 -0
- package/types/ngwr-charts-chart-legend.d.ts +178 -0
- package/types/ngwr-charts-core.d.ts +391 -0
- package/types/ngwr-charts-donut-chart-testing.d.ts +28 -5
- package/types/ngwr-charts-donut-chart.d.ts +124 -12
- package/types/ngwr-charts-funnel-chart-testing.d.ts +130 -0
- package/types/ngwr-charts-funnel-chart.d.ts +296 -0
- package/types/ngwr-charts-gauge-testing.d.ts +5 -0
- package/types/ngwr-charts-gauge.d.ts +6 -4
- package/types/ngwr-charts-heatmap-chart-testing.d.ts +148 -0
- package/types/ngwr-charts-heatmap-chart.d.ts +359 -0
- package/types/ngwr-charts-line-chart-testing.d.ts +72 -11
- package/types/ngwr-charts-line-chart.d.ts +291 -67
- package/types/ngwr-charts-meter-group-testing.d.ts +16 -2
- package/types/ngwr-charts-meter-group.d.ts +71 -11
- package/types/ngwr-charts-radar-chart-testing.d.ts +162 -0
- package/types/ngwr-charts-radar-chart.d.ts +461 -0
- package/types/ngwr-charts-scatter-chart-testing.d.ts +147 -0
- package/types/ngwr-charts-scatter-chart.d.ts +396 -0
- package/types/ngwr-charts-sparkline-testing.d.ts +4 -1
- package/types/ngwr-charts-sparkline.d.ts +8 -6
- package/types/ngwr-charts-treemap-chart-testing.d.ts +131 -0
- package/types/ngwr-charts-treemap-chart.d.ts +295 -0
- package/types/ngwr-charts-waterfall-chart-testing.d.ts +149 -0
- package/types/ngwr-charts-waterfall-chart.d.ts +338 -0
- package/types/ngwr-color-picker.d.ts +0 -21
- package/types/ngwr-dropdown.d.ts +0 -52
- package/types/ngwr-editor.d.ts +2 -84
- package/types/ngwr-i18n.d.ts +0 -15
- package/types/ngwr-mention.d.ts +0 -13
- package/types/ngwr-popconfirm.d.ts +0 -33
- package/types/ngwr-popover.d.ts +29 -53
- package/types/ngwr-toast-testing.d.ts +6 -1
- package/types/ngwr-tour.d.ts +0 -2
- package/types/ngwr-utils.d.ts +49 -7
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-window-testing.d.ts +65 -7
- package/types/ngwr-window.d.ts +831 -207
- package/types/ngwr.d.ts +1 -0
- package/window/styles/_index.scss +528 -82
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
@use '../../../theme/styles' as theme;
|
|
2
|
+
@use '../../../popover/styles' as popover-styles; // the `.wr-tooltip` chip the hover tooltip renders into
|
|
3
|
+
|
|
4
|
+
// Styles for the entry points this component's own markup renders. With `dataTable`, the
|
|
5
|
+
// figures render as a `<wr-chart-table>` beside the plot, which its own sheet clips out of
|
|
6
|
+
// sight.
|
|
7
|
+
@use '../../core/styles' as core-styles; // WrChartTable
|
|
8
|
+
|
|
9
|
+
.wr-waterfall-chart {
|
|
10
|
+
--wr-waterfall-chart-font-family: var(--wr-font-family-base);
|
|
11
|
+
--wr-waterfall-chart-color: var(--wr-color-on-surface);
|
|
12
|
+
// Between two bars, and so the length of the connector that crosses it. Held to a
|
|
13
|
+
// quarter of one step's share of the drawing (see `$gap-in-row` below).
|
|
14
|
+
--wr-waterfall-chart-gap: var(--wr-space-sm);
|
|
15
|
+
// The room over and under the drawing with no figures printed; with them it grows to a
|
|
16
|
+
// figure's line (see `$value-room` below).
|
|
17
|
+
--wr-waterfall-chart-plot-inset-y: var(--wr-space-sm);
|
|
18
|
+
// Nearly square: a connector meets a bar at its corner, and a rounder corner leaves the
|
|
19
|
+
// line ending in mid-air beside the curve.
|
|
20
|
+
--wr-waterfall-chart-bar-radius: calc(var(--wr-border-radius-sm) / 3);
|
|
21
|
+
--wr-waterfall-chart-grid-color: color-mix(in srgb, var(--wr-border-base) 70%, transparent);
|
|
22
|
+
--wr-waterfall-chart-baseline-color: var(--wr-border-base);
|
|
23
|
+
// Dashed, so a connector is never read as a gridline: both are thin horizontal lines, and
|
|
24
|
+
// a connector stops at the next bar where a gridline crosses the plot.
|
|
25
|
+
--wr-waterfall-chart-connector-color: var(--wr-color-on-surface-muted);
|
|
26
|
+
--wr-waterfall-chart-connector-width: 1px;
|
|
27
|
+
// The hairline of a change of zero: neither an increase nor a decrease, so no intent —
|
|
28
|
+
// the running total carried through, in the connectors' neutral.
|
|
29
|
+
--wr-waterfall-chart-flat-color: var(--wr-color-on-surface-muted);
|
|
30
|
+
--wr-waterfall-chart-tick-gap: var(--wr-space-xs);
|
|
31
|
+
--wr-waterfall-chart-tick-font-size: var(--wr-text-xs);
|
|
32
|
+
--wr-waterfall-chart-tick-line-height: var(--wr-text-xs-leading);
|
|
33
|
+
--wr-waterfall-chart-tick-color: var(--wr-color-on-surface-muted);
|
|
34
|
+
// The figure past a bar's end sits on the surface, not on the bar, so it takes the
|
|
35
|
+
// surface's text colour whatever the bar's.
|
|
36
|
+
--wr-waterfall-chart-value-font-size: var(--wr-text-xs);
|
|
37
|
+
--wr-waterfall-chart-value-line-height: var(--wr-text-xs-leading);
|
|
38
|
+
--wr-waterfall-chart-value-color: var(--wr-color-on-surface);
|
|
39
|
+
--wr-waterfall-chart-value-gap: var(--wr-space-xs);
|
|
40
|
+
--wr-waterfall-chart-label-font-size: var(--wr-text-xs);
|
|
41
|
+
--wr-waterfall-chart-label-color: var(--wr-color-on-surface-muted);
|
|
42
|
+
--wr-waterfall-chart-labels-margin-top: var(--wr-space-sm);
|
|
43
|
+
// A total's figure and label, a step heavier than a change's: one of the cues that tells
|
|
44
|
+
// a total apart without its colour.
|
|
45
|
+
--wr-waterfall-chart-total-font-weight: var(--wr-font-weight-medium);
|
|
46
|
+
// The column the tooltip is about.
|
|
47
|
+
--wr-waterfall-chart-active-bg: color-mix(in srgb, var(--wr-color-on-surface) 6%, transparent);
|
|
48
|
+
|
|
49
|
+
// The room over and under the drawing: a figure's line and its gap when figures are
|
|
50
|
+
// printed, so one past the highest or lowest bar stays inside the plot rather than over
|
|
51
|
+
// the legend above or the labels below.
|
|
52
|
+
$room: var(--wr-waterfall-chart-plot-inset-y);
|
|
53
|
+
$value-room: max(
|
|
54
|
+
var(--wr-waterfall-chart-plot-inset-y),
|
|
55
|
+
calc(var(--wr-waterfall-chart-value-line-height) + var(--wr-waterfall-chart-value-gap))
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
// The gap as drawn: the hook, held to a quarter of one step's share of the drawing, so
|
|
59
|
+
// a chart of many steps narrows its gaps with its bars instead of squeezing the bars to
|
|
60
|
+
// nothing and running out of its box. `--wr-waterfall-chart-steps` is the count, which
|
|
61
|
+
// the component writes on the host. A percentage is of the box that reads it, so the
|
|
62
|
+
// one length is written twice: against the row — the track and the labels, `25% / n` —
|
|
63
|
+
// and against a step — the connector and the figure, `n / (3n + 1)` of it. Those are
|
|
64
|
+
// the same: a step is an nth of the row less its share of the gaps.
|
|
65
|
+
$steps: var(--wr-waterfall-chart-steps, 1);
|
|
66
|
+
$gap-in-row: min(var(--wr-waterfall-chart-gap), calc(25% / $steps));
|
|
67
|
+
$gap-in-step: min(var(--wr-waterfall-chart-gap), calc(100% * $steps / (3 * $steps + 1)));
|
|
68
|
+
|
|
69
|
+
display: block;
|
|
70
|
+
// The containing block of the out-of-flow `dataTable` copy, as on every chart that
|
|
71
|
+
// renders one. No z-index, so no stacking context.
|
|
72
|
+
position: relative;
|
|
73
|
+
font-family: var(--wr-waterfall-chart-font-family);
|
|
74
|
+
color: var(--wr-waterfall-chart-color);
|
|
75
|
+
|
|
76
|
+
// The tick labels at inline start, the plot beside them, and the step labels under the
|
|
77
|
+
// plot alone. A grid follows `direction`, so the axis is on the right under RTL.
|
|
78
|
+
&__body {
|
|
79
|
+
display: grid;
|
|
80
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// As wide as the longest label: every label is in flow, in the one cell of a one-cell
|
|
84
|
+
// grid, so the column sizes to the widest while its height stays one label. It carries
|
|
85
|
+
// the plot's block padding, so its cell is exactly the drawing's height, and each label
|
|
86
|
+
// moves down its gridline's share of that, then up by half itself.
|
|
87
|
+
&__y-axis {
|
|
88
|
+
grid-column: 1;
|
|
89
|
+
grid-row: 1;
|
|
90
|
+
display: grid;
|
|
91
|
+
grid-template-rows: minmax(0, 1fr);
|
|
92
|
+
padding-block: $room;
|
|
93
|
+
padding-inline-end: var(--wr-waterfall-chart-tick-gap);
|
|
94
|
+
font-size: var(--wr-waterfall-chart-tick-font-size);
|
|
95
|
+
line-height: var(--wr-waterfall-chart-tick-line-height);
|
|
96
|
+
color: var(--wr-waterfall-chart-tick-color);
|
|
97
|
+
text-align: end;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
font-variant-numeric: tabular-nums;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Shrunk to its text against the plot's side of the column, so its own direction can
|
|
103
|
+
// follow its text (`plaintext`): a negative tick is a `-` in front of digits, neither of
|
|
104
|
+
// which has a direction, and under RTL the sign would land on the far side — `250-`.
|
|
105
|
+
&__tick {
|
|
106
|
+
grid-area: 1 / 1;
|
|
107
|
+
align-self: start;
|
|
108
|
+
justify-self: end;
|
|
109
|
+
position: relative;
|
|
110
|
+
unicode-bidi: plaintext;
|
|
111
|
+
top: calc(var(--wr-waterfall-chart-y, 0) * 1%);
|
|
112
|
+
transform: translateY(-50%);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&__plot {
|
|
116
|
+
grid-column: 2;
|
|
117
|
+
grid-row: 1;
|
|
118
|
+
padding-block: $room;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
&--values &__y-axis,
|
|
122
|
+
&--values &__plot {
|
|
123
|
+
padding-block: $value-room;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// The drawing: one column per step, side by side. The gridlines, the zero line and each
|
|
127
|
+
// column's parts are placed in it by percentage of its height from the bottom.
|
|
128
|
+
&__track {
|
|
129
|
+
position: relative;
|
|
130
|
+
display: flex;
|
|
131
|
+
gap: $gap-in-row;
|
|
132
|
+
height: 100%;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
&__grid-line,
|
|
136
|
+
&__baseline {
|
|
137
|
+
position: absolute;
|
|
138
|
+
inset-inline: 0;
|
|
139
|
+
// Centred on its level, as the tick label beside it is.
|
|
140
|
+
transform: translateY(50%);
|
|
141
|
+
pointer-events: none;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
&__grid-line {
|
|
145
|
+
bottom: calc(var(--wr-waterfall-chart-level, 0) * 1%);
|
|
146
|
+
border-block-start: 1px solid var(--wr-waterfall-chart-grid-color);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
&__baseline {
|
|
150
|
+
bottom: calc(var(--wr-waterfall-chart-zero, 0) * 1%);
|
|
151
|
+
border-block-start: 1px solid var(--wr-waterfall-chart-baseline-color);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// The full height of the drawing, so the whole column answers the pointer, and as wide
|
|
155
|
+
// as a share of the plot less the gaps.
|
|
156
|
+
&__step {
|
|
157
|
+
position: relative;
|
|
158
|
+
flex: 1 1 0;
|
|
159
|
+
min-width: 0;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&__step--active {
|
|
163
|
+
background: var(--wr-waterfall-chart-active-bg);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// From one end to the other of what the step spans: a change from the running total
|
|
167
|
+
// before it to the one after, a total from zero. A change of zero keeps a hairline.
|
|
168
|
+
&__bar {
|
|
169
|
+
position: absolute;
|
|
170
|
+
inset-inline: 0;
|
|
171
|
+
bottom: calc(var(--wr-waterfall-chart-lo, 0) * 1%);
|
|
172
|
+
height: calc((var(--wr-waterfall-chart-hi, 0) - var(--wr-waterfall-chart-lo, 0)) * 1%);
|
|
173
|
+
min-height: 1px;
|
|
174
|
+
border-radius: var(--wr-waterfall-chart-bar-radius);
|
|
175
|
+
transition:
|
|
176
|
+
bottom var(--wr-duration-slow) var(--wr-ease-out),
|
|
177
|
+
height var(--wr-duration-slow) var(--wr-ease-out);
|
|
178
|
+
// The bar is an inline `background`, which forced colors resets to `Canvas`: every bar
|
|
179
|
+
// would vanish into the page and leave its figure floating. The SVG charts keep their
|
|
180
|
+
// fills there, so the HTML marks do too.
|
|
181
|
+
forced-color-adjust: none;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// No inline paint on a change of zero, so the hook paints it.
|
|
185
|
+
&__step--flat &__bar {
|
|
186
|
+
background: var(--wr-waterfall-chart-flat-color);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Past the end the step runs to: over its top, or under its bottom with `--below`.
|
|
190
|
+
// Its room is its column and half the gap on either side, less a quarter of the gap of
|
|
191
|
+
// padding, so two neighbours' figures always stand half a gap apart.
|
|
192
|
+
//
|
|
193
|
+
// A figure is printed whole or not at all, with no measuring, as the heatmap's values
|
|
194
|
+
// are: the box is a wrapping flex line one figure tall, led by a zero-width item. A
|
|
195
|
+
// figure that fits shares that first line and is centred on it; one that does not
|
|
196
|
+
// cannot join it, so it wraps onto a second line, under the first, where `overflow`
|
|
197
|
+
// hides it. A figure cut to `+$1,…` is no figure, and `−$9…` reads as −$9; the tooltip,
|
|
198
|
+
// the name and the data table carry the whole figure.
|
|
199
|
+
&__value {
|
|
200
|
+
position: absolute;
|
|
201
|
+
inset-inline: calc($gap-in-step / -2);
|
|
202
|
+
bottom: calc(var(--wr-waterfall-chart-hi, 0) * 1% + var(--wr-waterfall-chart-value-gap));
|
|
203
|
+
display: flex;
|
|
204
|
+
flex-wrap: wrap;
|
|
205
|
+
justify-content: center;
|
|
206
|
+
box-sizing: border-box;
|
|
207
|
+
block-size: var(--wr-waterfall-chart-value-line-height);
|
|
208
|
+
padding-inline: calc($gap-in-step / 4);
|
|
209
|
+
overflow: hidden;
|
|
210
|
+
font-size: var(--wr-waterfall-chart-value-font-size);
|
|
211
|
+
line-height: var(--wr-waterfall-chart-value-line-height);
|
|
212
|
+
color: var(--wr-waterfall-chart-value-color);
|
|
213
|
+
font-variant-numeric: tabular-nums;
|
|
214
|
+
pointer-events: none;
|
|
215
|
+
transition: bottom var(--wr-duration-slow) var(--wr-ease-out);
|
|
216
|
+
|
|
217
|
+
&::before {
|
|
218
|
+
content: '';
|
|
219
|
+
flex: 0 0 0;
|
|
220
|
+
block-size: 100%;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// Never shrunk, so a figure too wide for the line wraps rather than squeezing. Its
|
|
225
|
+
// direction follows its own text (`plaintext`): a `−` in front of digits has no
|
|
226
|
+
// direction of its own, so under RTL it would otherwise land on the digits' far side and
|
|
227
|
+
// read as the opposite change.
|
|
228
|
+
&__value-text {
|
|
229
|
+
flex: none;
|
|
230
|
+
white-space: nowrap;
|
|
231
|
+
unicode-bidi: plaintext;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Not past either end of the plot, where there is no gap to borrow: past the last bar
|
|
235
|
+
// it would reach out of the chart's own box and give a scroller 4px to scroll. The steps
|
|
236
|
+
// are the track's only `div`s, between the gridlines and the zero line.
|
|
237
|
+
&__step:first-of-type &__value {
|
|
238
|
+
inset-inline-start: 0;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
&__step:last-of-type &__value {
|
|
242
|
+
inset-inline-end: 0;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
&__value--below {
|
|
246
|
+
top: calc((100 - var(--wr-waterfall-chart-lo, 0)) * 1% + var(--wr-waterfall-chart-value-gap));
|
|
247
|
+
bottom: auto;
|
|
248
|
+
transition: top var(--wr-duration-slow) var(--wr-ease-out);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
&__step--total &__value {
|
|
252
|
+
font-weight: var(--wr-waterfall-chart-total-font-weight);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// From this column's inline end across the gap to the next one, centred on the running
|
|
256
|
+
// total the next bar starts from. Logical, so under RTL it crosses to the left.
|
|
257
|
+
&__connector {
|
|
258
|
+
position: absolute;
|
|
259
|
+
inset-inline-start: 100%;
|
|
260
|
+
bottom: calc(var(--wr-waterfall-chart-level, 0) * 1%);
|
|
261
|
+
inline-size: $gap-in-step;
|
|
262
|
+
border-block-start: var(--wr-waterfall-chart-connector-width) dashed var(--wr-waterfall-chart-connector-color);
|
|
263
|
+
transform: translateY(50%);
|
|
264
|
+
pointer-events: none;
|
|
265
|
+
transition: bottom var(--wr-duration-slow) var(--wr-ease-out);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// A slot per step with the plot's own gap, so each label sits under its column.
|
|
269
|
+
&__labels {
|
|
270
|
+
grid-column: 2;
|
|
271
|
+
grid-row: 2;
|
|
272
|
+
display: flex;
|
|
273
|
+
gap: $gap-in-row;
|
|
274
|
+
margin-block-start: var(--wr-waterfall-chart-labels-margin-top);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// A label is the host's own text, in whatever language it is, so it takes its direction
|
|
278
|
+
// from that text and is ellipsised at its own end, not at the page's.
|
|
279
|
+
&__label {
|
|
280
|
+
flex: 1 1 0;
|
|
281
|
+
min-width: 0;
|
|
282
|
+
overflow: hidden;
|
|
283
|
+
text-overflow: ellipsis;
|
|
284
|
+
white-space: nowrap;
|
|
285
|
+
text-align: center;
|
|
286
|
+
unicode-bidi: plaintext;
|
|
287
|
+
font-size: var(--wr-waterfall-chart-label-font-size);
|
|
288
|
+
color: var(--wr-waterfall-chart-label-color);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
&__label--total {
|
|
292
|
+
font-weight: var(--wr-waterfall-chart-total-font-weight);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// A bar that moves to its new ends is motion nothing asked for twice: the new figure is
|
|
297
|
+
// what matters, and it is drawn at once.
|
|
298
|
+
@media (prefers-reduced-motion: reduce) {
|
|
299
|
+
.wr-waterfall-chart__bar,
|
|
300
|
+
.wr-waterfall-chart__value,
|
|
301
|
+
.wr-waterfall-chart__connector {
|
|
302
|
+
transition: none;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// The bars keep their colours (see `__bar`). The lines are theme colours that mean nothing
|
|
307
|
+
// on a forced palette: the grid takes the system's muted colour and the connectors and a
|
|
308
|
+
// change of zero's hairline the text colour, and the column the tooltip is about, whose
|
|
309
|
+
// wash forced colors paints as the page, takes an edge instead.
|
|
310
|
+
@media (forced-colors: active) {
|
|
311
|
+
.wr-waterfall-chart {
|
|
312
|
+
--wr-waterfall-chart-grid-color: GrayText;
|
|
313
|
+
--wr-waterfall-chart-baseline-color: CanvasText;
|
|
314
|
+
--wr-waterfall-chart-connector-color: CanvasText;
|
|
315
|
+
--wr-waterfall-chart-flat-color: CanvasText;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.wr-waterfall-chart__step--active {
|
|
319
|
+
outline: 1px solid Highlight;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
@@ -69,11 +69,16 @@
|
|
|
69
69
|
grid-template-rows: 0fr;
|
|
70
70
|
transition:
|
|
71
71
|
grid-template-rows var(--wr-transition-base),
|
|
72
|
+
border-top-width var(--wr-transition-base),
|
|
72
73
|
border-top-color var(--wr-transition-base);
|
|
73
|
-
|
|
74
|
+
// No width while closed: a transparent 1px border still took a row under
|
|
75
|
+
// the header, where a hovered header's fill stopped short of the panel's
|
|
76
|
+
// edge and left a stripe of the panel's own background.
|
|
77
|
+
border-top: 0 solid transparent;
|
|
74
78
|
|
|
75
79
|
&--open {
|
|
76
80
|
grid-template-rows: 1fr;
|
|
81
|
+
border-top-width: 1px;
|
|
77
82
|
border-top-color: var(--wr-collapse-border);
|
|
78
83
|
}
|
|
79
84
|
}
|
package/fesm2022/ngwr-affix.mjs
CHANGED
|
@@ -129,7 +129,7 @@ var WrAffix = class WrAffix {
|
|
|
129
129
|
}
|
|
130
130
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
131
131
|
minVersion: "12.0.0",
|
|
132
|
-
version: "22.2.
|
|
132
|
+
version: "22.2.4",
|
|
133
133
|
ngImport: i0,
|
|
134
134
|
type: WrAffix,
|
|
135
135
|
deps: [],
|
|
@@ -137,7 +137,7 @@ var WrAffix = class WrAffix {
|
|
|
137
137
|
});
|
|
138
138
|
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
139
139
|
minVersion: "17.1.0",
|
|
140
|
-
version: "22.2.
|
|
140
|
+
version: "22.2.4",
|
|
141
141
|
type: WrAffix,
|
|
142
142
|
isStandalone: true,
|
|
143
143
|
selector: "[wrAffix]",
|
|
@@ -161,7 +161,7 @@ var WrAffix = class WrAffix {
|
|
|
161
161
|
};
|
|
162
162
|
i0.ɵɵngDeclareClassMetadata({
|
|
163
163
|
minVersion: "12.0.0",
|
|
164
|
-
version: "22.2.
|
|
164
|
+
version: "22.2.4",
|
|
165
165
|
ngImport: i0,
|
|
166
166
|
type: WrAffix,
|
|
167
167
|
decorators: [{
|
package/fesm2022/ngwr-alert.mjs
CHANGED
|
@@ -54,7 +54,7 @@ var WrAlert = class WrAlert {
|
|
|
54
54
|
}
|
|
55
55
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
56
56
|
minVersion: "12.0.0",
|
|
57
|
-
version: "22.2.
|
|
57
|
+
version: "22.2.4",
|
|
58
58
|
ngImport: i0,
|
|
59
59
|
type: WrAlert,
|
|
60
60
|
deps: [],
|
|
@@ -62,7 +62,7 @@ var WrAlert = class WrAlert {
|
|
|
62
62
|
});
|
|
63
63
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
64
64
|
minVersion: "17.0.0",
|
|
65
|
-
version: "22.2.
|
|
65
|
+
version: "22.2.4",
|
|
66
66
|
type: WrAlert,
|
|
67
67
|
isStandalone: true,
|
|
68
68
|
selector: "wr-alert",
|
|
@@ -137,7 +137,7 @@ var WrAlert = class WrAlert {
|
|
|
137
137
|
};
|
|
138
138
|
i0.ɵɵngDeclareClassMetadata({
|
|
139
139
|
minVersion: "12.0.0",
|
|
140
|
-
version: "22.2.
|
|
140
|
+
version: "22.2.4",
|
|
141
141
|
ngImport: i0,
|
|
142
142
|
type: WrAlert,
|
|
143
143
|
decorators: [{
|
package/fesm2022/ngwr-anchor.mjs
CHANGED
|
@@ -84,7 +84,7 @@ var WrAnchor = class WrAnchor {
|
|
|
84
84
|
}
|
|
85
85
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
86
86
|
minVersion: "12.0.0",
|
|
87
|
-
version: "22.2.
|
|
87
|
+
version: "22.2.4",
|
|
88
88
|
ngImport: i0,
|
|
89
89
|
type: WrAnchor,
|
|
90
90
|
deps: [],
|
|
@@ -92,7 +92,7 @@ var WrAnchor = class WrAnchor {
|
|
|
92
92
|
});
|
|
93
93
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
94
94
|
minVersion: "17.0.0",
|
|
95
|
-
version: "22.2.
|
|
95
|
+
version: "22.2.4",
|
|
96
96
|
type: WrAnchor,
|
|
97
97
|
isStandalone: true,
|
|
98
98
|
selector: "wr-anchor",
|
|
@@ -138,7 +138,7 @@ var WrAnchor = class WrAnchor {
|
|
|
138
138
|
};
|
|
139
139
|
i0.ɵɵngDeclareClassMetadata({
|
|
140
140
|
minVersion: "12.0.0",
|
|
141
|
-
version: "22.2.
|
|
141
|
+
version: "22.2.4",
|
|
142
142
|
ngImport: i0,
|
|
143
143
|
type: WrAnchor,
|
|
144
144
|
decorators: [{
|
package/fesm2022/ngwr-avatar.mjs
CHANGED
|
@@ -64,7 +64,7 @@ var WrAvatar = class WrAvatar {
|
|
|
64
64
|
}
|
|
65
65
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
66
66
|
minVersion: "12.0.0",
|
|
67
|
-
version: "22.2.
|
|
67
|
+
version: "22.2.4",
|
|
68
68
|
ngImport: i0,
|
|
69
69
|
type: WrAvatar,
|
|
70
70
|
deps: [],
|
|
@@ -72,7 +72,7 @@ var WrAvatar = class WrAvatar {
|
|
|
72
72
|
});
|
|
73
73
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
74
74
|
minVersion: "17.0.0",
|
|
75
|
-
version: "22.2.
|
|
75
|
+
version: "22.2.4",
|
|
76
76
|
type: WrAvatar,
|
|
77
77
|
isStandalone: true,
|
|
78
78
|
selector: "wr-avatar",
|
|
@@ -132,7 +132,7 @@ var WrAvatar = class WrAvatar {
|
|
|
132
132
|
};
|
|
133
133
|
i0.ɵɵngDeclareClassMetadata({
|
|
134
134
|
minVersion: "12.0.0",
|
|
135
|
-
version: "22.2.
|
|
135
|
+
version: "22.2.4",
|
|
136
136
|
ngImport: i0,
|
|
137
137
|
type: WrAvatar,
|
|
138
138
|
decorators: [{
|
|
@@ -46,7 +46,7 @@ var WrBackTop = class WrBackTop {
|
|
|
46
46
|
}
|
|
47
47
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
48
48
|
minVersion: "12.0.0",
|
|
49
|
-
version: "22.2.
|
|
49
|
+
version: "22.2.4",
|
|
50
50
|
ngImport: i0,
|
|
51
51
|
type: WrBackTop,
|
|
52
52
|
deps: [],
|
|
@@ -54,7 +54,7 @@ var WrBackTop = class WrBackTop {
|
|
|
54
54
|
});
|
|
55
55
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
56
56
|
minVersion: "17.1.0",
|
|
57
|
-
version: "22.2.
|
|
57
|
+
version: "22.2.4",
|
|
58
58
|
type: WrBackTop,
|
|
59
59
|
isStandalone: true,
|
|
60
60
|
selector: "wr-back-top",
|
|
@@ -93,7 +93,7 @@ var WrBackTop = class WrBackTop {
|
|
|
93
93
|
};
|
|
94
94
|
i0.ɵɵngDeclareClassMetadata({
|
|
95
95
|
minVersion: "12.0.0",
|
|
96
|
-
version: "22.2.
|
|
96
|
+
version: "22.2.4",
|
|
97
97
|
ngImport: i0,
|
|
98
98
|
type: WrBackTop,
|
|
99
99
|
decorators: [{
|
package/fesm2022/ngwr-badge.mjs
CHANGED
|
@@ -30,7 +30,7 @@ var WrBadge = class WrBadge {
|
|
|
30
30
|
}, ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
|
|
31
31
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
32
32
|
minVersion: "12.0.0",
|
|
33
|
-
version: "22.2.
|
|
33
|
+
version: "22.2.4",
|
|
34
34
|
ngImport: i0,
|
|
35
35
|
type: WrBadge,
|
|
36
36
|
deps: [],
|
|
@@ -38,7 +38,7 @@ var WrBadge = class WrBadge {
|
|
|
38
38
|
});
|
|
39
39
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
40
40
|
minVersion: "17.1.0",
|
|
41
|
-
version: "22.2.
|
|
41
|
+
version: "22.2.4",
|
|
42
42
|
type: WrBadge,
|
|
43
43
|
isStandalone: true,
|
|
44
44
|
selector: "wr-badge",
|
|
@@ -81,7 +81,7 @@ var WrBadge = class WrBadge {
|
|
|
81
81
|
};
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({
|
|
83
83
|
minVersion: "12.0.0",
|
|
84
|
-
version: "22.2.
|
|
84
|
+
version: "22.2.4",
|
|
85
85
|
ngImport: i0,
|
|
86
86
|
type: WrBadge,
|
|
87
87
|
decorators: [{
|
|
@@ -172,7 +172,7 @@ var WrTag = class WrTag {
|
|
|
172
172
|
}, ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
|
|
173
173
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
174
174
|
minVersion: "12.0.0",
|
|
175
|
-
version: "22.2.
|
|
175
|
+
version: "22.2.4",
|
|
176
176
|
ngImport: i0,
|
|
177
177
|
type: WrTag,
|
|
178
178
|
deps: [],
|
|
@@ -180,7 +180,7 @@ var WrTag = class WrTag {
|
|
|
180
180
|
});
|
|
181
181
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
182
182
|
minVersion: "17.0.0",
|
|
183
|
-
version: "22.2.
|
|
183
|
+
version: "22.2.4",
|
|
184
184
|
type: WrTag,
|
|
185
185
|
isStandalone: true,
|
|
186
186
|
selector: "wr-tag",
|
|
@@ -261,7 +261,7 @@ var WrTag = class WrTag {
|
|
|
261
261
|
};
|
|
262
262
|
i0.ɵɵngDeclareClassMetadata({
|
|
263
263
|
minVersion: "12.0.0",
|
|
264
|
-
version: "22.2.
|
|
264
|
+
version: "22.2.4",
|
|
265
265
|
ngImport: i0,
|
|
266
266
|
type: WrTag,
|
|
267
267
|
decorators: [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import { Component, DestroyRef, ElementRef, NgZone, PLATFORM_ID, ViewEncapsulation, afterNextRender, effect, inject, input, signal, viewChild } from "@angular/core";
|
|
3
3
|
import { isPlatformBrowser } from "@angular/common";
|
|
4
|
-
import { numAttr,
|
|
4
|
+
import { numAttr, resolveCssColorChannels, watchColorScheme } from "ngwr/utils";
|
|
5
5
|
import { WrPlatform } from "ngwr/platform";
|
|
6
6
|
/**
|
|
7
7
|
* @license
|
|
@@ -133,24 +133,6 @@ const STOP_HOOKS = [
|
|
|
133
133
|
"var(--wr-aurora-stop-2)",
|
|
134
134
|
"var(--wr-aurora-stop-3)"
|
|
135
135
|
];
|
|
136
|
-
function toRgb01(color) {
|
|
137
|
-
const value = color.trim().toLowerCase();
|
|
138
|
-
const fn = /^(rgba?|color)\(\s*(srgb\s+)?([^)]*)\)$/.exec(value);
|
|
139
|
-
if (fn && (fn[1] !== "color" || fn[2] !== void 0)) {
|
|
140
|
-
const scale = fn[1] === "color" ? 1 : 255;
|
|
141
|
-
const channels = fn[3].split(/[\s,/]+/).slice(0, 3).map((part) => part === "none" ? 0 : Number.parseFloat(part) / scale);
|
|
142
|
-
if (channels.length !== 3 || !channels.every(Number.isFinite)) return null;
|
|
143
|
-
return channels.map((channel) => Math.min(1, Math.max(0, channel)));
|
|
144
|
-
}
|
|
145
|
-
const hex = /^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/.exec(value)?.[1];
|
|
146
|
-
if (hex === void 0) return null;
|
|
147
|
-
const full = hex.length <= 4 ? [...hex].map((digit) => digit + digit).join("") : hex;
|
|
148
|
-
return [
|
|
149
|
-
0,
|
|
150
|
-
2,
|
|
151
|
-
4
|
|
152
|
-
].map((at) => Number.parseInt(full.slice(at, at + 2), 16) / 255);
|
|
153
|
-
}
|
|
154
136
|
var WrAurora = class WrAurora {
|
|
155
137
|
colorStops = input(null, ...ngDevMode ? [{ debugName: "colorStops" }] : /* istanbul ignore next */ []);
|
|
156
138
|
amplitude = input(1, {
|
|
@@ -174,8 +156,10 @@ var WrAurora = class WrAurora {
|
|
|
174
156
|
gl = null;
|
|
175
157
|
uniforms = {};
|
|
176
158
|
rafId = 0;
|
|
159
|
+
time = 0;
|
|
177
160
|
booted = signal(false, ...ngDevMode ? [{ debugName: "booted" }] : /* istanbul ignore next */ []);
|
|
178
161
|
onScreen = signal(true, ...ngDevMode ? [{ debugName: "onScreen" }] : /* istanbul ignore next */ []);
|
|
162
|
+
hasBox = signal(false, ...ngDevMode ? [{ debugName: "hasBox" }] : /* istanbul ignore next */ []);
|
|
179
163
|
constructor() {
|
|
180
164
|
if (!this.isBrowser) return;
|
|
181
165
|
afterNextRender(() => this.zone.runOutsideAngular(() => this.boot()));
|
|
@@ -193,7 +177,7 @@ var WrAurora = class WrAurora {
|
|
|
193
177
|
this.draw(0);
|
|
194
178
|
});
|
|
195
179
|
effect((onCleanup) => {
|
|
196
|
-
if (!this.booted() || !this.onScreen() || this.platform.prefersReducedMotion()) return;
|
|
180
|
+
if (!this.booted() || !this.onScreen() || !this.hasBox() || this.platform.prefersReducedMotion()) return;
|
|
197
181
|
const loop = (t) => {
|
|
198
182
|
this.rafId = requestAnimationFrame(loop);
|
|
199
183
|
this.pushUniforms();
|
|
@@ -247,22 +231,31 @@ var WrAurora = class WrAurora {
|
|
|
247
231
|
const position = gl.getAttribLocation(program, "position");
|
|
248
232
|
gl.enableVertexAttribArray(position);
|
|
249
233
|
gl.vertexAttribPointer(position, 2, gl.FLOAT, false, 0, 0);
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
234
|
+
const hostEl = this.host.nativeElement;
|
|
235
|
+
const fit = () => {
|
|
236
|
+
const width = hostEl.clientWidth;
|
|
237
|
+
const height = hostEl.clientHeight;
|
|
238
|
+
this.hasBox.set(width > 0 && height > 0);
|
|
239
|
+
canvas.width = Math.max(1, width);
|
|
240
|
+
canvas.height = Math.max(1, height);
|
|
254
241
|
gl.viewport(0, 0, canvas.width, canvas.height);
|
|
255
242
|
gl.uniform2f(this.uniforms["uResolution"], canvas.width, canvas.height);
|
|
256
|
-
|
|
243
|
+
};
|
|
244
|
+
const resize = () => {
|
|
245
|
+
fit();
|
|
246
|
+
this.draw(this.platform.prefersReducedMotion() ? 0 : this.time);
|
|
257
247
|
};
|
|
258
248
|
window.addEventListener("resize", resize);
|
|
259
249
|
const ro = new ResizeObserver(resize);
|
|
260
|
-
ro.observe(
|
|
261
|
-
|
|
250
|
+
ro.observe(hostEl);
|
|
251
|
+
fit();
|
|
262
252
|
this.pushUniforms();
|
|
263
253
|
this.draw(0);
|
|
264
|
-
const io = typeof IntersectionObserver === "undefined" ? null : new IntersectionObserver((entries) =>
|
|
265
|
-
|
|
254
|
+
const io = typeof IntersectionObserver === "undefined" ? null : new IntersectionObserver((entries) => {
|
|
255
|
+
const { isIntersecting, intersectionRatio } = entries[entries.length - 1];
|
|
256
|
+
this.onScreen.set(isIntersecting && intersectionRatio > 0);
|
|
257
|
+
}, { threshold: [0, 1e-9] });
|
|
258
|
+
io?.observe(canvas);
|
|
266
259
|
this.destroyRef.onDestroy(() => {
|
|
267
260
|
window.removeEventListener("resize", resize);
|
|
268
261
|
ro.disconnect();
|
|
@@ -283,20 +276,19 @@ var WrAurora = class WrAurora {
|
|
|
283
276
|
const explicit = this.colorStops();
|
|
284
277
|
const fallback = DEFAULT_STOPS[index];
|
|
285
278
|
const expression = explicit === null ? STOP_HOOKS[index] : explicit[Math.min(index, explicit.length - 1)] ?? fallback;
|
|
286
|
-
|
|
287
|
-
const resolved = resolveCssColor(canvas, expression, fallback);
|
|
288
|
-
return toRgb01(resolved) ?? toRgb01(resolveCssColor(canvas, `color-mix(in srgb, ${resolved} 100%, transparent)`, fallback)) ?? toRgb01(fallback);
|
|
279
|
+
return resolveCssColorChannels(this.canvasRef().nativeElement, expression, fallback);
|
|
289
280
|
}
|
|
290
281
|
draw(time) {
|
|
291
282
|
const gl = this.gl;
|
|
292
|
-
if (!gl) return;
|
|
283
|
+
if (!gl || !this.hasBox()) return;
|
|
284
|
+
this.time = time;
|
|
293
285
|
gl.uniform1f(this.uniforms["uTime"], time);
|
|
294
286
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
295
287
|
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
|
296
288
|
}
|
|
297
289
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
298
290
|
minVersion: "12.0.0",
|
|
299
|
-
version: "22.2.
|
|
291
|
+
version: "22.2.4",
|
|
300
292
|
ngImport: i0,
|
|
301
293
|
type: WrAurora,
|
|
302
294
|
deps: [],
|
|
@@ -304,7 +296,7 @@ var WrAurora = class WrAurora {
|
|
|
304
296
|
});
|
|
305
297
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
306
298
|
minVersion: "17.2.0",
|
|
307
|
-
version: "22.2.
|
|
299
|
+
version: "22.2.4",
|
|
308
300
|
type: WrAurora,
|
|
309
301
|
isStandalone: true,
|
|
310
302
|
selector: "wr-aurora",
|
|
@@ -349,13 +341,13 @@ var WrAurora = class WrAurora {
|
|
|
349
341
|
ngImport: i0,
|
|
350
342
|
template: "<canvas #canvas class=\"wr-aurora__canvas\" aria-hidden=\"true\"></canvas>",
|
|
351
343
|
isInline: true,
|
|
352
|
-
styles: [".wr-aurora{--wr-aurora-stop-1: light-dark(#6366f1, #5227ff);--wr-aurora-stop-2: light-dark(#10b981, #7cff67);--wr-aurora-stop-3: light-dark(#6366f1, #5227ff);position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none;z-index:0}.wr-aurora__canvas{display:block;width:100%;height:100%}\n"],
|
|
344
|
+
styles: [".wr-aurora{--wr-aurora-stop-1: light-dark(#6366f1, #5227ff);--wr-aurora-stop-2: light-dark(#10b981, #7cff67);--wr-aurora-stop-3: light-dark(#6366f1, #5227ff);position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none;z-index:0}.wr-aurora__canvas{display:block;width:100%;height:100%}@media(forced-colors:active){.wr-aurora__canvas{display:none;forced-color-adjust:none}}\n"],
|
|
353
345
|
encapsulation: i0.ViewEncapsulation.None
|
|
354
346
|
});
|
|
355
347
|
};
|
|
356
348
|
i0.ɵɵngDeclareClassMetadata({
|
|
357
349
|
minVersion: "12.0.0",
|
|
358
|
-
version: "22.2.
|
|
350
|
+
version: "22.2.4",
|
|
359
351
|
ngImport: i0,
|
|
360
352
|
type: WrAurora,
|
|
361
353
|
decorators: [{
|
|
@@ -365,7 +357,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
365
357
|
template: "<canvas #canvas class=\"wr-aurora__canvas\" aria-hidden=\"true\"></canvas>",
|
|
366
358
|
encapsulation: ViewEncapsulation.None,
|
|
367
359
|
host: { class: "wr-aurora" },
|
|
368
|
-
styles: [".wr-aurora{--wr-aurora-stop-1: light-dark(#6366f1, #5227ff);--wr-aurora-stop-2: light-dark(#10b981, #7cff67);--wr-aurora-stop-3: light-dark(#6366f1, #5227ff);position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none;z-index:0}.wr-aurora__canvas{display:block;width:100%;height:100%}\n"]
|
|
360
|
+
styles: [".wr-aurora{--wr-aurora-stop-1: light-dark(#6366f1, #5227ff);--wr-aurora-stop-2: light-dark(#10b981, #7cff67);--wr-aurora-stop-3: light-dark(#6366f1, #5227ff);position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none;z-index:0}.wr-aurora__canvas{display:block;width:100%;height:100%}@media(forced-colors:active){.wr-aurora__canvas{display:none;forced-color-adjust:none}}\n"]
|
|
369
361
|
}]
|
|
370
362
|
}],
|
|
371
363
|
ctorParameters: () => [],
|