ngwr 11.2.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/burger/styles/_index.scss +1 -1
- package/button/styles/_index.scss +2 -2
- package/calendar/styles/_index.scss +32 -12
- package/calendar-heatmap/styles/_index.scss +20 -0
- package/carousel/styles/_index.scss +23 -1
- package/cascader/styles/_index.scss +15 -3
- package/checkbox/styles/_index.scss +2 -2
- package/collapse/styles/_index.scss +2 -2
- package/color-picker/styles/_index.scss +3 -3
- package/compare/styles/_index.scss +18 -2
- package/context-menu/styles/_index.scss +21 -2
- package/date-picker/styles/_index.scss +5 -5
- package/descriptions/styles/_index.scss +1 -1
- package/drag-drop/styles/_index.scss +28 -1
- package/drawer/styles/_index.scss +37 -0
- package/dropdown/styles/_index.scss +2 -2
- package/event-calendar/styles/_index.scss +67 -10
- package/fesm2022/ngwr-action-sheet.mjs +3 -3
- package/fesm2022/ngwr-affix.mjs +3 -3
- package/fesm2022/ngwr-alert.mjs +3 -3
- package/fesm2022/ngwr-anchor.mjs +3 -3
- package/fesm2022/ngwr-aurora.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-bar-chart-testing.mjs +20 -2
- package/fesm2022/ngwr-bar-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-bar-chart.mjs +3 -3
- package/fesm2022/ngwr-blur-text.mjs +3 -3
- package/fesm2022/ngwr-blur-text.mjs.map +1 -1
- package/fesm2022/ngwr-border-glow.mjs +4 -4
- package/fesm2022/ngwr-border-glow.mjs.map +1 -1
- package/fesm2022/ngwr-breadcrumbs.mjs +29 -17
- 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-heatmap.mjs +17 -5
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-testing.mjs +1 -1
- package/fesm2022/ngwr-calendar-testing.mjs.map +1 -1
- package/fesm2022/ngwr-calendar.mjs +187 -9
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +10 -10
- package/fesm2022/ngwr-card.mjs.map +1 -1
- package/fesm2022/ngwr-carousel.mjs +124 -24
- package/fesm2022/ngwr-carousel.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +48 -5
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +6 -6
- package/fesm2022/ngwr-circular-text.mjs +4 -4
- package/fesm2022/ngwr-circular-text.mjs.map +1 -1
- package/fesm2022/ngwr-click-spark.mjs +27 -7
- package/fesm2022/ngwr-click-spark.mjs.map +1 -1
- package/fesm2022/ngwr-clipboard.mjs +3 -3
- package/fesm2022/ngwr-collapse.mjs +9 -9
- package/fesm2022/ngwr-color-picker-testing.mjs +26 -6
- package/fesm2022/ngwr-color-picker-testing.mjs.map +1 -1
- package/fesm2022/ngwr-color-picker.mjs +98 -8
- package/fesm2022/ngwr-color-picker.mjs.map +1 -1
- package/fesm2022/ngwr-command-palette.mjs +14 -5
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-compare.mjs +3 -3
- package/fesm2022/ngwr-confetti.mjs +31 -6
- package/fesm2022/ngwr-confetti.mjs.map +1 -1
- package/fesm2022/ngwr-config.mjs +9 -0
- package/fesm2022/ngwr-config.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu-testing.mjs +30 -11
- package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -1
- package/fesm2022/ngwr-context-menu.mjs +333 -43
- package/fesm2022/ngwr-context-menu.mjs.map +1 -1
- package/fesm2022/ngwr-cookie.mjs +3 -3
- package/fesm2022/ngwr-counter.mjs +25 -9
- package/fesm2022/ngwr-counter.mjs.map +1 -1
- package/fesm2022/{ngwr-date-adapter-fns.mjs → ngwr-date-adapters-fns.mjs} +37 -10
- package/fesm2022/ngwr-date-adapters-fns.mjs.map +1 -0
- package/fesm2022/{ngwr-date-adapter-luxon.mjs → ngwr-date-adapters-luxon.mjs} +5 -5
- package/fesm2022/ngwr-date-adapters-luxon.mjs.map +1 -0
- package/fesm2022/ngwr-date-picker-testing.mjs +11 -6
- package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -1
- package/fesm2022/ngwr-date-picker.mjs +119 -37
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/{ngwr-date-adapter.mjs → ngwr-date.mjs} +36 -10
- package/fesm2022/ngwr-date.mjs.map +1 -0
- package/fesm2022/ngwr-decrypt-text.mjs +3 -3
- package/fesm2022/ngwr-density.mjs +6 -6
- package/fesm2022/ngwr-descriptions.mjs +6 -6
- package/fesm2022/ngwr-dialog.mjs +73 -18
- package/fesm2022/ngwr-dialog.mjs.map +1 -1
- package/fesm2022/ngwr-directives.mjs +12 -12
- package/fesm2022/ngwr-divider.mjs +52 -5
- package/fesm2022/ngwr-divider.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart-testing.mjs +8 -4
- package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart.mjs +7 -7
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +160 -11
- package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
- package/fesm2022/ngwr-drawer.mjs +121 -58
- package/fesm2022/ngwr-drawer.mjs.map +1 -1
- package/fesm2022/ngwr-dropdown.mjs +26 -10
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +3 -3
- package/fesm2022/ngwr-event-calendar.mjs +28 -15
- package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text-testing.mjs +5 -3
- package/fesm2022/ngwr-falling-text-testing.mjs.map +1 -1
- package/fesm2022/ngwr-falling-text.mjs +75 -46
- package/fesm2022/ngwr-falling-text.mjs.map +1 -1
- package/fesm2022/ngwr-file-upload.mjs +3 -3
- package/fesm2022/ngwr-form.mjs +32 -15
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +21 -11
- package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +3 -3
- package/fesm2022/ngwr-glitch-text-testing.mjs +51 -17
- package/fesm2022/ngwr-glitch-text-testing.mjs.map +1 -1
- package/fesm2022/ngwr-glitch-text.mjs +7 -7
- package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text-testing.mjs +46 -11
- package/fesm2022/ngwr-gradient-text-testing.mjs.map +1 -1
- package/fesm2022/ngwr-gradient-text.mjs +4 -4
- package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
- package/fesm2022/ngwr-hotkey.mjs +24 -9
- package/fesm2022/ngwr-hotkey.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +73 -1
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +55 -1
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n.mjs +26 -15
- package/fesm2022/ngwr-i18n.mjs.map +1 -1
- package/fesm2022/ngwr-icon.mjs +6 -6
- package/fesm2022/ngwr-image-cropper-testing.mjs +53 -9
- package/fesm2022/ngwr-image-cropper-testing.mjs.map +1 -1
- package/fesm2022/ngwr-image-cropper.mjs +150 -12
- package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
- package/fesm2022/ngwr-input-number-testing.mjs +15 -10
- package/fesm2022/ngwr-input-number-testing.mjs.map +1 -1
- package/fesm2022/ngwr-input-number.mjs +17 -10
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp-testing.mjs +12 -6
- package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp.mjs +24 -5
- package/fesm2022/ngwr-input-otp.mjs.map +1 -1
- 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 +4 -4
- package/fesm2022/ngwr-lightbox.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +73 -26
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +7 -7
- package/fesm2022/ngwr-list.mjs.map +1 -1
- package/fesm2022/ngwr-loading-bar.mjs +7 -7
- package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
- package/fesm2022/ngwr-markdown.mjs +66 -8
- package/fesm2022/ngwr-markdown.mjs.map +1 -1
- package/fesm2022/ngwr-marquee.mjs +4 -4
- package/fesm2022/ngwr-marquee.mjs.map +1 -1
- package/fesm2022/ngwr-media.mjs +3 -3
- package/fesm2022/ngwr-mention.mjs +108 -13
- package/fesm2022/ngwr-mention.mjs.map +1 -1
- package/fesm2022/ngwr-meta.mjs +6 -6
- package/fesm2022/ngwr-meter-group-testing.mjs +26 -6
- package/fesm2022/ngwr-meter-group-testing.mjs.map +1 -1
- package/fesm2022/ngwr-meter-group.mjs +3 -3
- package/fesm2022/ngwr-overlay.mjs +6 -6
- package/fesm2022/ngwr-page-header.mjs +3 -3
- package/fesm2022/ngwr-pagination-testing.mjs +6 -6
- package/fesm2022/ngwr-pagination-testing.mjs.map +1 -1
- package/fesm2022/ngwr-pagination.mjs +17 -13
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +39 -26
- package/fesm2022/ngwr-pipes.mjs.map +1 -1
- package/fesm2022/ngwr-platform.mjs +9 -9
- package/fesm2022/ngwr-popconfirm.mjs +6 -6
- package/fesm2022/ngwr-popover-testing.mjs +7 -2
- package/fesm2022/ngwr-popover-testing.mjs.map +1 -1
- package/fesm2022/ngwr-popover.mjs +155 -33
- 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 +42 -5
- 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 +21 -30
- package/fesm2022/ngwr-result.mjs.map +1 -1
- package/fesm2022/ngwr-rotating-text.mjs +3 -3
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented-testing.mjs +14 -1
- package/fesm2022/ngwr-segmented-testing.mjs.map +1 -1
- package/fesm2022/ngwr-segmented.mjs +29 -6
- package/fesm2022/ngwr-segmented.mjs.map +1 -1
- package/fesm2022/ngwr-select.mjs +159 -34
- package/fesm2022/ngwr-select.mjs.map +1 -1
- package/fesm2022/ngwr-shiny-text.mjs +11 -9
- package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
- package/fesm2022/ngwr-sidebar.mjs +31 -16
- package/fesm2022/ngwr-sidebar.mjs.map +1 -1
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider.mjs +100 -9
- package/fesm2022/ngwr-slider.mjs.map +1 -1
- package/fesm2022/ngwr-sparkline.mjs +3 -3
- package/fesm2022/ngwr-speed-dial-testing.mjs +15 -13
- package/fesm2022/ngwr-speed-dial-testing.mjs.map +1 -1
- package/fesm2022/ngwr-speed-dial.mjs +27 -12
- package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
- package/fesm2022/ngwr-spinner.mjs +3 -3
- package/fesm2022/ngwr-splash-cursor.mjs +3 -3
- package/fesm2022/ngwr-split-text.mjs +17 -5
- package/fesm2022/ngwr-split-text.mjs.map +1 -1
- package/fesm2022/ngwr-splitter.mjs +3 -3
- package/fesm2022/ngwr-spotlight-card.mjs +7 -7
- package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
- package/fesm2022/ngwr-squircle.mjs +6 -6
- package/fesm2022/ngwr-star-border.mjs +4 -4
- package/fesm2022/ngwr-star-border.mjs.map +1 -1
- package/fesm2022/ngwr-statistic.mjs +9 -9
- package/fesm2022/ngwr-stepper-testing.mjs +8 -8
- package/fesm2022/ngwr-stepper-testing.mjs.map +1 -1
- package/fesm2022/ngwr-stepper.mjs +33 -8
- package/fesm2022/ngwr-stepper.mjs.map +1 -1
- package/fesm2022/ngwr-storage.mjs +17 -5
- package/fesm2022/ngwr-storage.mjs.map +1 -1
- package/fesm2022/ngwr-switch.mjs +3 -3
- package/fesm2022/ngwr-table.mjs +99 -39
- package/fesm2022/ngwr-table.mjs.map +1 -1
- package/fesm2022/ngwr-tabs-testing.mjs +11 -10
- package/fesm2022/ngwr-tabs-testing.mjs.map +1 -1
- package/fesm2022/ngwr-tabs.mjs +36 -10
- package/fesm2022/ngwr-tabs.mjs.map +1 -1
- package/fesm2022/ngwr-textarea.mjs +3 -3
- package/fesm2022/ngwr-theme.mjs +181 -4
- package/fesm2022/ngwr-theme.mjs.map +1 -1
- package/fesm2022/ngwr-tilt-card.mjs +7 -7
- package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast.mjs +9 -9
- package/fesm2022/ngwr-toolbar.mjs +3 -3
- package/fesm2022/ngwr-tour.mjs +34 -10
- package/fesm2022/ngwr-tour.mjs.map +1 -1
- package/fesm2022/ngwr-transfer.mjs +3 -3
- package/fesm2022/ngwr-tree.mjs +28 -10
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter-testing.mjs +15 -1
- package/fesm2022/ngwr-typewriter-testing.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter.mjs +13 -5
- package/fesm2022/ngwr-typewriter.mjs.map +1 -1
- package/fesm2022/ngwr-typography.mjs +3 -3
- package/fesm2022/ngwr-utils.mjs +5 -2
- 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 +4 -4
- package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
- package/fesm2022/ngwr-waves.mjs +4 -4
- package/fesm2022/ngwr-waves.mjs.map +1 -1
- package/fesm2022/ngwr-window.mjs +94 -24
- package/fesm2022/ngwr-window.mjs.map +1 -1
- package/file-upload/styles/_index.scss +2 -2
- package/glitch-text/styles/_index.scss +27 -12
- package/i18n/en.json +56 -6
- package/i18n/ru.json +56 -6
- package/image-cropper/styles/_index.scss +19 -0
- package/input/styles/_index.scss +2 -2
- package/input-number/styles/_index.scss +2 -2
- package/input-otp/styles/_index.scss +9 -2
- package/knob/styles/_index.scss +1 -1
- package/lightbox/styles/_index.scss +16 -2
- package/line-chart/styles/_index.scss +28 -14
- package/list/styles/_index.scss +1 -1
- package/llms-full.txt +18 -23
- package/llms.txt +22 -6
- package/markdown/styles/_index.scss +3 -3
- package/mcp/api.js +6 -4
- package/mcp/catalog.js +40 -3
- package/mcp/providers.js +16 -3
- package/mcp/tools.js +21 -1
- package/meter-group/styles/_index.scss +1 -1
- package/overlay/styles/_index.scss +33 -1
- package/package.json +17 -12
- package/pagination/styles/_index.scss +23 -1
- package/popover/styles/_index.scss +16 -7
- package/progress/styles/_index.scss +1 -1
- package/radio/styles/_index.scss +2 -2
- package/rating/styles/_index.scss +1 -1
- package/schematics/collection.json +1 -1
- package/schematics/migrations/v12/index.js +65 -0
- package/schematics/migrations/v7/index.js +12 -1
- package/schematics/migrations/v8/index.js +10 -1
- package/schematics/migrations.json +5 -0
- package/schematics/ng-add/index.js +8 -3
- package/schematics/provider/index.js +80 -13
- package/schematics/use/index.js +9 -129
- package/schematics/use/rule.js +206 -0
- package/schematics/use/symbol-map.json +4 -4
- package/segmented/styles/_index.scss +14 -3
- package/select/styles/_index.scss +14 -2
- package/sidebar/styles/_index.scss +12 -10
- package/skills/ngwr/SKILL.md +7 -5
- package/skills/ngwr/references/catalog.md +9 -9
- package/skills/ngwr/references/setup.md +10 -5
- package/slider/styles/_index.scss +1 -1
- package/speed-dial/styles/_index.scss +1 -1
- package/stepper/styles/_index.scss +12 -3
- package/switch/styles/_index.scss +2 -2
- package/table/styles/_index.scss +61 -12
- package/tabs/styles/_index.scss +1 -1
- package/textarea/styles/_index.scss +1 -1
- package/theme/styles/_colors.scss +142 -56
- package/theme/styles/_dark.scss +46 -3
- package/theme/styles/_focus.scss +28 -5
- package/theme/styles/_mixins.scss +1 -1
- package/theme/styles/_variables.scss +67 -0
- package/transfer/styles/_index.scss +26 -3
- package/tree/styles/_index.scss +29 -6
- package/types/ngwr-bar-chart-testing.d.ts +9 -1
- package/types/ngwr-blur-text.d.ts +8 -4
- package/types/ngwr-breadcrumbs.d.ts +17 -10
- package/types/ngwr-calendar-testing.d.ts +1 -1
- package/types/ngwr-calendar.d.ts +66 -0
- package/types/ngwr-carousel.d.ts +85 -6
- package/types/ngwr-cascader.d.ts +17 -0
- package/types/ngwr-click-spark.d.ts +4 -0
- package/types/ngwr-color-picker-testing.d.ts +8 -0
- package/types/ngwr-color-picker.d.ts +21 -1
- package/types/ngwr-confetti.d.ts +8 -0
- package/types/ngwr-config.d.ts +10 -1
- package/types/ngwr-context-menu-testing.d.ts +24 -11
- package/types/ngwr-context-menu.d.ts +56 -0
- package/types/ngwr-counter.d.ts +1 -0
- package/types/{ngwr-date-adapter-fns.d.ts → ngwr-date-adapters-fns.d.ts} +33 -6
- package/types/{ngwr-date-adapter-luxon.d.ts → ngwr-date-adapters-luxon.d.ts} +1 -1
- package/types/ngwr-date-picker-testing.d.ts +11 -6
- package/types/ngwr-date-picker.d.ts +8 -4
- package/types/{ngwr-date-adapter.d.ts → ngwr-date.d.ts} +24 -5
- package/types/ngwr-dialog.d.ts +38 -1
- package/types/ngwr-divider.d.ts +25 -0
- package/types/ngwr-donut-chart-testing.d.ts +7 -3
- package/types/ngwr-donut-chart.d.ts +3 -3
- package/types/ngwr-drag-drop.d.ts +56 -2
- package/types/ngwr-drawer.d.ts +56 -5
- package/types/ngwr-event-calendar.d.ts +8 -2
- package/types/ngwr-falling-text-testing.d.ts +5 -3
- package/types/ngwr-falling-text.d.ts +1 -1
- package/types/ngwr-form.d.ts +12 -2
- package/types/ngwr-glitch-text-testing.d.ts +37 -8
- package/types/ngwr-gradient-text-testing.d.ts +16 -3
- package/types/ngwr-i18n.d.ts +13 -4
- package/types/ngwr-image-cropper-testing.d.ts +49 -10
- package/types/ngwr-image-cropper.d.ts +70 -5
- package/types/ngwr-input-number-testing.d.ts +15 -10
- package/types/ngwr-input-number.d.ts +11 -4
- package/types/ngwr-input-otp-testing.d.ts +12 -6
- package/types/ngwr-input-otp.d.ts +15 -1
- package/types/ngwr-line-chart.d.ts +20 -3
- package/types/ngwr-markdown.d.ts +11 -0
- package/types/ngwr-mention.d.ts +32 -0
- package/types/ngwr-meter-group-testing.d.ts +12 -2
- package/types/ngwr-overlay.d.ts +1 -0
- package/types/ngwr-pagination-testing.d.ts +4 -4
- package/types/ngwr-pipes.d.ts +1 -1
- package/types/ngwr-popover-testing.d.ts +7 -2
- package/types/ngwr-popover.d.ts +1 -0
- package/types/ngwr-result.d.ts +6 -0
- package/types/ngwr-segmented-testing.d.ts +9 -0
- package/types/ngwr-segmented.d.ts +21 -1
- package/types/ngwr-select.d.ts +68 -6
- package/types/ngwr-shiny-text.d.ts +4 -2
- package/types/ngwr-sidebar.d.ts +14 -5
- package/types/ngwr-slider.d.ts +69 -1
- package/types/ngwr-speed-dial-testing.d.ts +15 -11
- package/types/ngwr-speed-dial.d.ts +22 -3
- package/types/ngwr-split-text.d.ts +9 -0
- package/types/ngwr-stepper-testing.d.ts +5 -5
- package/types/ngwr-stepper.d.ts +8 -0
- package/types/ngwr-storage.d.ts +1 -0
- package/types/ngwr-table.d.ts +104 -11
- package/types/ngwr-tabs-testing.d.ts +11 -10
- package/types/ngwr-tabs.d.ts +2 -0
- package/types/ngwr-theme.d.ts +82 -1
- package/types/ngwr-tour.d.ts +22 -4
- package/types/ngwr-tree.d.ts +5 -4
- package/types/ngwr-typewriter-testing.d.ts +10 -0
- package/types/ngwr-utils.d.ts +5 -2
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-window.d.ts +39 -11
- package/typography/styles/_index.scss +1 -1
- package/window/styles/_index.scss +72 -26
- package/fesm2022/ngwr-date-adapter-fns.mjs.map +0 -1
- package/fesm2022/ngwr-date-adapter-luxon.mjs.map +0 -1
- package/fesm2022/ngwr-date-adapter.mjs.map +0 -1
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
// Glitch text (reactbits port). Two pseudo-element clones of the text
|
|
7
7
|
// are offset by ±5px and tinted with `text-shadow` (red / cyan).
|
|
8
8
|
// A clip-path keyframe slices random horizontal bands of each clone.
|
|
9
|
+
//
|
|
10
|
+
// The clones hang off `__clones`, never off the host. `content: attr(data-text)`
|
|
11
|
+
// is exposed to the accessibility tree, so pseudos on the host made the string
|
|
12
|
+
// announce three times; `__clones` carries `aria-hidden` and takes both of them
|
|
13
|
+
// out of the tree at once.
|
|
9
14
|
|
|
10
15
|
.wr-glitch-text {
|
|
11
16
|
--wr-glitch-text-before-duration: 2s;
|
|
@@ -20,8 +25,18 @@
|
|
|
20
25
|
font-weight: 900;
|
|
21
26
|
color: var(--wr-color-on-surface, #0f172a);
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
// The decorative layer. Stretched over the label so the clones land exactly
|
|
29
|
+
// where they did when they hung off the host. No `pointer-events: none`: the
|
|
30
|
+
// clones overhang the host by 10px on each side, and the hover-only variant
|
|
31
|
+
// is gated on `:hover`, so a layer the pointer passes through would leave the
|
|
32
|
+
// effect flickering off along those two strips.
|
|
33
|
+
&__clones {
|
|
34
|
+
position: absolute;
|
|
35
|
+
inset: 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__clones::before,
|
|
39
|
+
&__clones::after {
|
|
25
40
|
content: attr(data-text);
|
|
26
41
|
position: absolute;
|
|
27
42
|
top: 0;
|
|
@@ -31,29 +46,29 @@
|
|
|
31
46
|
clip-path: inset(0 0 0 0);
|
|
32
47
|
}
|
|
33
48
|
|
|
34
|
-
// Always-on variant —
|
|
35
|
-
&:not(&--hover-only)::before {
|
|
49
|
+
// Always-on variant — clones animate continuously.
|
|
50
|
+
&:not(&--hover-only) &__clones::before {
|
|
36
51
|
// rtl-ok: aberration offset paired with the physical x-offset in `--wr-glitch-text-before-shadow` (`5px 0`)
|
|
37
52
|
left: -10px;
|
|
38
53
|
text-shadow: var(--wr-glitch-text-before-shadow);
|
|
39
54
|
animation: wr-glitch-text-tear var(--wr-glitch-text-before-duration) infinite linear alternate-reverse;
|
|
40
55
|
}
|
|
41
|
-
&:not(&--hover-only)::after {
|
|
56
|
+
&:not(&--hover-only) &__clones::after {
|
|
42
57
|
// rtl-ok: aberration offset paired with the physical x-offset in `--wr-glitch-text-after-shadow` (`-5px 0`)
|
|
43
58
|
left: 10px;
|
|
44
59
|
text-shadow: var(--wr-glitch-text-after-shadow);
|
|
45
60
|
animation: wr-glitch-text-tear var(--wr-glitch-text-after-duration) infinite linear alternate-reverse;
|
|
46
61
|
}
|
|
47
62
|
|
|
48
|
-
// Hover-only variant —
|
|
49
|
-
&--hover-only::before,
|
|
50
|
-
&--hover-only::after {
|
|
63
|
+
// Hover-only variant — clones hidden by default, animate on :hover.
|
|
64
|
+
&--hover-only &__clones::before,
|
|
65
|
+
&--hover-only &__clones::after {
|
|
51
66
|
content: '';
|
|
52
67
|
opacity: 0;
|
|
53
68
|
animation: none;
|
|
54
69
|
}
|
|
55
70
|
|
|
56
|
-
&--hover-only:hover::before {
|
|
71
|
+
&--hover-only:hover &__clones::before {
|
|
57
72
|
content: attr(data-text);
|
|
58
73
|
opacity: 1;
|
|
59
74
|
// rtl-ok: same decorative offset as the always-on variant, paired with a physical `text-shadow` x-offset
|
|
@@ -61,7 +76,7 @@
|
|
|
61
76
|
text-shadow: var(--wr-glitch-text-before-shadow);
|
|
62
77
|
animation: wr-glitch-text-tear var(--wr-glitch-text-before-duration) infinite linear alternate-reverse;
|
|
63
78
|
}
|
|
64
|
-
&--hover-only:hover::after {
|
|
79
|
+
&--hover-only:hover &__clones::after {
|
|
65
80
|
content: attr(data-text);
|
|
66
81
|
opacity: 1;
|
|
67
82
|
// rtl-ok: same decorative offset as the always-on variant, paired with a physical `text-shadow` x-offset
|
|
@@ -75,8 +90,8 @@
|
|
|
75
90
|
// reads as broken double-vision text, so plain text is the right fallback.
|
|
76
91
|
// `!important` outweighs the higher-specificity `:hover` re-enable rules.
|
|
77
92
|
@media (prefers-reduced-motion: reduce) {
|
|
78
|
-
.wr-glitch-
|
|
79
|
-
.wr-glitch-
|
|
93
|
+
.wr-glitch-text__clones::before,
|
|
94
|
+
.wr-glitch-text__clones::after {
|
|
80
95
|
content: '' !important;
|
|
81
96
|
opacity: 0 !important;
|
|
82
97
|
animation: none !important;
|
package/i18n/en.json
CHANGED
|
@@ -42,7 +42,9 @@
|
|
|
42
42
|
"toggleRow": "Toggle child rows",
|
|
43
43
|
"selectGroup": "Select group",
|
|
44
44
|
"toggleGroup": "Toggle group",
|
|
45
|
-
"noMatches": "No matches"
|
|
45
|
+
"noMatches": "No matches",
|
|
46
|
+
"search": "Search",
|
|
47
|
+
"reset": "Reset"
|
|
46
48
|
},
|
|
47
49
|
"eventCalendar": {
|
|
48
50
|
"today": "Today",
|
|
@@ -66,6 +68,9 @@
|
|
|
66
68
|
"splitter": {
|
|
67
69
|
"divider": "Resize panes"
|
|
68
70
|
},
|
|
71
|
+
"stepper": {
|
|
72
|
+
"optional": "optional"
|
|
73
|
+
},
|
|
69
74
|
"transfer": {
|
|
70
75
|
"source": "Available",
|
|
71
76
|
"target": "Selected",
|
|
@@ -76,6 +81,9 @@
|
|
|
76
81
|
"toSource": "Move to available",
|
|
77
82
|
"count": "{{checked}} / {{total}}"
|
|
78
83
|
},
|
|
84
|
+
"form": {
|
|
85
|
+
"optional": "optional"
|
|
86
|
+
},
|
|
79
87
|
"validation": {
|
|
80
88
|
"required": "This field is required.",
|
|
81
89
|
"requiredTrue": "This field must be checked.",
|
|
@@ -85,7 +93,7 @@
|
|
|
85
93
|
"min": "Enter {{min}} or more.",
|
|
86
94
|
"max": "Enter {{max}} or less.",
|
|
87
95
|
"pattern": "This value is not in the expected format.",
|
|
88
|
-
"noWhitespace": "This
|
|
96
|
+
"noWhitespace": "This value cannot contain spaces.",
|
|
89
97
|
"hexColor": "Enter a hex colour, e.g. #1a2b3c.",
|
|
90
98
|
"url": "Enter a valid URL.",
|
|
91
99
|
"cardNumber": "Enter a valid card number.",
|
|
@@ -104,7 +112,8 @@
|
|
|
104
112
|
"clearSelection": "Clear selection",
|
|
105
113
|
"removeItem": "Remove {{label}}",
|
|
106
114
|
"noResults": "No results",
|
|
107
|
-
"loading": "Loading…"
|
|
115
|
+
"loading": "Loading…",
|
|
116
|
+
"more": "+{{count}} more"
|
|
108
117
|
},
|
|
109
118
|
"tree": {
|
|
110
119
|
"expand": "Expand",
|
|
@@ -149,6 +158,11 @@
|
|
|
149
158
|
"increment": "Increment",
|
|
150
159
|
"decrement": "Decrement"
|
|
151
160
|
},
|
|
161
|
+
"inputOtp": {
|
|
162
|
+
"label": "Verification code",
|
|
163
|
+
"digit": "Digit {{index}}",
|
|
164
|
+
"character": "Character {{index}}"
|
|
165
|
+
},
|
|
152
166
|
"anchor": {
|
|
153
167
|
"label": "Table of contents"
|
|
154
168
|
},
|
|
@@ -158,6 +172,9 @@
|
|
|
158
172
|
"backTop": {
|
|
159
173
|
"label": "Back to top"
|
|
160
174
|
},
|
|
175
|
+
"breadcrumbs": {
|
|
176
|
+
"label": "Breadcrumbs"
|
|
177
|
+
},
|
|
161
178
|
"burger": {
|
|
162
179
|
"label": "Toggle menu"
|
|
163
180
|
},
|
|
@@ -170,7 +187,21 @@
|
|
|
170
187
|
"nextYears": "Next 12 years"
|
|
171
188
|
},
|
|
172
189
|
"imageCropper": {
|
|
173
|
-
"empty": "No image"
|
|
190
|
+
"empty": "No image",
|
|
191
|
+
"window": "Crop region",
|
|
192
|
+
"keyHelp": "Arrow keys move the crop. Hold Alt with an arrow key to resize it, and Shift for larger steps. The crop is announced as left, top, width and height in image pixels."
|
|
193
|
+
},
|
|
194
|
+
"sortableList": {
|
|
195
|
+
"keyHelp": "Press Space to pick this item up, then use the arrow keys to move it. Press Space again to drop it, or Escape to put it back.",
|
|
196
|
+
"grabbed": "Grabbed. {{index}} of {{total}}.",
|
|
197
|
+
"moved": "{{index}} of {{total}}.",
|
|
198
|
+
"dropped": "Dropped. {{index}} of {{total}}.",
|
|
199
|
+
"cancelled": "Move cancelled."
|
|
200
|
+
},
|
|
201
|
+
"colorPicker": {
|
|
202
|
+
"area": "Saturation and brightness, {{saturation}}% and {{brightness}}%",
|
|
203
|
+
"hue": "Hue",
|
|
204
|
+
"alpha": "Opacity"
|
|
174
205
|
},
|
|
175
206
|
"calendarHeatmap": {
|
|
176
207
|
"label": "Calendar heatmap"
|
|
@@ -189,7 +220,9 @@
|
|
|
189
220
|
"goToSlide": "Go to slide {{index}}",
|
|
190
221
|
"prev": "Previous slide",
|
|
191
222
|
"next": "Next slide",
|
|
192
|
-
"pagination": "Carousel pagination"
|
|
223
|
+
"pagination": "Carousel pagination",
|
|
224
|
+
"roledescription": "carousel",
|
|
225
|
+
"slideRoledescription": "slide"
|
|
193
226
|
},
|
|
194
227
|
"actionSheet": {
|
|
195
228
|
"label": "Actions"
|
|
@@ -253,7 +286,19 @@
|
|
|
253
286
|
"rangeStart": "Range start",
|
|
254
287
|
"rangeEnd": "Range end",
|
|
255
288
|
"startTime": "Start time",
|
|
256
|
-
"endTime": "End time"
|
|
289
|
+
"endTime": "End time",
|
|
290
|
+
"hours": "Hours",
|
|
291
|
+
"minutes": "Minutes",
|
|
292
|
+
"seconds": "Seconds",
|
|
293
|
+
"incrementHours": "Increment hours",
|
|
294
|
+
"decrementHours": "Decrement hours",
|
|
295
|
+
"incrementMinutes": "Increment minutes",
|
|
296
|
+
"decrementMinutes": "Decrement minutes",
|
|
297
|
+
"incrementSeconds": "Increment seconds",
|
|
298
|
+
"decrementSeconds": "Decrement seconds",
|
|
299
|
+
"toggleAmPm": "Toggle AM / PM",
|
|
300
|
+
"am": "AM",
|
|
301
|
+
"pm": "PM"
|
|
257
302
|
},
|
|
258
303
|
"sidebar": {
|
|
259
304
|
"label": "Sidebar"
|
|
@@ -276,6 +321,11 @@
|
|
|
276
321
|
"knob": {
|
|
277
322
|
"label": "Value"
|
|
278
323
|
},
|
|
324
|
+
"slider": {
|
|
325
|
+
"label": "Value",
|
|
326
|
+
"lower": "Lower value",
|
|
327
|
+
"upper": "Upper value"
|
|
328
|
+
},
|
|
279
329
|
"speedDial": {
|
|
280
330
|
"label": "Actions"
|
|
281
331
|
},
|
package/i18n/ru.json
CHANGED
|
@@ -42,7 +42,9 @@
|
|
|
42
42
|
"toggleRow": "Показать вложенные строки",
|
|
43
43
|
"selectGroup": "Выбрать группу",
|
|
44
44
|
"toggleGroup": "Свернуть группу",
|
|
45
|
-
"noMatches": "Ничего не найдено"
|
|
45
|
+
"noMatches": "Ничего не найдено",
|
|
46
|
+
"search": "Поиск",
|
|
47
|
+
"reset": "Сбросить"
|
|
46
48
|
},
|
|
47
49
|
"eventCalendar": {
|
|
48
50
|
"today": "Сегодня",
|
|
@@ -66,6 +68,9 @@
|
|
|
66
68
|
"splitter": {
|
|
67
69
|
"divider": "Изменить размер областей"
|
|
68
70
|
},
|
|
71
|
+
"stepper": {
|
|
72
|
+
"optional": "необязательно"
|
|
73
|
+
},
|
|
69
74
|
"transfer": {
|
|
70
75
|
"source": "Доступно",
|
|
71
76
|
"target": "Выбрано",
|
|
@@ -76,6 +81,9 @@
|
|
|
76
81
|
"toSource": "Вернуть в доступные",
|
|
77
82
|
"count": "{{checked}} / {{total}}"
|
|
78
83
|
},
|
|
84
|
+
"form": {
|
|
85
|
+
"optional": "необязательно"
|
|
86
|
+
},
|
|
79
87
|
"validation": {
|
|
80
88
|
"required": "Обязательное поле.",
|
|
81
89
|
"requiredTrue": "Нужно поставить отметку.",
|
|
@@ -85,7 +93,7 @@
|
|
|
85
93
|
"min": "Не меньше {{min}}.",
|
|
86
94
|
"max": "Не больше {{max}}.",
|
|
87
95
|
"pattern": "Значение не соответствует формату.",
|
|
88
|
-
"noWhitespace": "
|
|
96
|
+
"noWhitespace": "Значение не может содержать пробелы.",
|
|
89
97
|
"hexColor": "Введите цвет в формате #1a2b3c.",
|
|
90
98
|
"url": "Введите корректный адрес.",
|
|
91
99
|
"cardNumber": "Введите корректный номер карты.",
|
|
@@ -104,7 +112,8 @@
|
|
|
104
112
|
"clearSelection": "Очистить выбор",
|
|
105
113
|
"removeItem": "Удалить {{label}}",
|
|
106
114
|
"noResults": "Ничего не найдено",
|
|
107
|
-
"loading": "Загрузка…"
|
|
115
|
+
"loading": "Загрузка…",
|
|
116
|
+
"more": "ещё {{count}}"
|
|
108
117
|
},
|
|
109
118
|
"tree": {
|
|
110
119
|
"expand": "Развернуть",
|
|
@@ -149,6 +158,11 @@
|
|
|
149
158
|
"increment": "Увеличить",
|
|
150
159
|
"decrement": "Уменьшить"
|
|
151
160
|
},
|
|
161
|
+
"inputOtp": {
|
|
162
|
+
"label": "Код подтверждения",
|
|
163
|
+
"digit": "Цифра {{index}}",
|
|
164
|
+
"character": "Символ {{index}}"
|
|
165
|
+
},
|
|
152
166
|
"anchor": {
|
|
153
167
|
"label": "Содержание"
|
|
154
168
|
},
|
|
@@ -158,6 +172,9 @@
|
|
|
158
172
|
"backTop": {
|
|
159
173
|
"label": "Наверх"
|
|
160
174
|
},
|
|
175
|
+
"breadcrumbs": {
|
|
176
|
+
"label": "Хлебные крошки"
|
|
177
|
+
},
|
|
161
178
|
"burger": {
|
|
162
179
|
"label": "Переключить меню"
|
|
163
180
|
},
|
|
@@ -170,7 +187,21 @@
|
|
|
170
187
|
"nextYears": "Следующие 12 лет"
|
|
171
188
|
},
|
|
172
189
|
"imageCropper": {
|
|
173
|
-
"empty": "Нет изображения"
|
|
190
|
+
"empty": "Нет изображения",
|
|
191
|
+
"window": "Область обрезки",
|
|
192
|
+
"keyHelp": "Стрелки перемещают область обрезки. Alt со стрелкой изменяет её размер, Shift увеличивает шаг. Область объявляется как отступ слева, отступ сверху, ширина и высота в пикселях изображения."
|
|
193
|
+
},
|
|
194
|
+
"sortableList": {
|
|
195
|
+
"keyHelp": "Нажмите пробел, чтобы взять элемент, затем перемещайте его стрелками. Пробел ещё раз — отпустить, Escape — вернуть на место.",
|
|
196
|
+
"grabbed": "Взят. {{index}} из {{total}}.",
|
|
197
|
+
"moved": "{{index}} из {{total}}.",
|
|
198
|
+
"dropped": "Отпущен. {{index}} из {{total}}.",
|
|
199
|
+
"cancelled": "Перемещение отменено."
|
|
200
|
+
},
|
|
201
|
+
"colorPicker": {
|
|
202
|
+
"area": "Насыщенность и яркость, {{saturation}}% и {{brightness}}%",
|
|
203
|
+
"hue": "Оттенок",
|
|
204
|
+
"alpha": "Непрозрачность"
|
|
174
205
|
},
|
|
175
206
|
"calendarHeatmap": {
|
|
176
207
|
"label": "Календарная тепловая карта"
|
|
@@ -189,7 +220,9 @@
|
|
|
189
220
|
"goToSlide": "Перейти к слайду {{index}}",
|
|
190
221
|
"prev": "Предыдущий слайд",
|
|
191
222
|
"next": "Следующий слайд",
|
|
192
|
-
"pagination": "Пагинация карусели"
|
|
223
|
+
"pagination": "Пагинация карусели",
|
|
224
|
+
"roledescription": "карусель",
|
|
225
|
+
"slideRoledescription": "слайд"
|
|
193
226
|
},
|
|
194
227
|
"actionSheet": {
|
|
195
228
|
"label": "Действия"
|
|
@@ -253,7 +286,19 @@
|
|
|
253
286
|
"rangeStart": "Начало периода",
|
|
254
287
|
"rangeEnd": "Конец периода",
|
|
255
288
|
"startTime": "Время начала",
|
|
256
|
-
"endTime": "Время окончания"
|
|
289
|
+
"endTime": "Время окончания",
|
|
290
|
+
"hours": "Часы",
|
|
291
|
+
"minutes": "Минуты",
|
|
292
|
+
"seconds": "Секунды",
|
|
293
|
+
"incrementHours": "Увеличить часы",
|
|
294
|
+
"decrementHours": "Уменьшить часы",
|
|
295
|
+
"incrementMinutes": "Увеличить минуты",
|
|
296
|
+
"decrementMinutes": "Уменьшить минуты",
|
|
297
|
+
"incrementSeconds": "Увеличить секунды",
|
|
298
|
+
"decrementSeconds": "Уменьшить секунды",
|
|
299
|
+
"toggleAmPm": "Переключить ДП / ПП",
|
|
300
|
+
"am": "ДП",
|
|
301
|
+
"pm": "ПП"
|
|
257
302
|
},
|
|
258
303
|
"sidebar": {
|
|
259
304
|
"label": "Боковая панель"
|
|
@@ -276,6 +321,11 @@
|
|
|
276
321
|
"knob": {
|
|
277
322
|
"label": "Значение"
|
|
278
323
|
},
|
|
324
|
+
"slider": {
|
|
325
|
+
"label": "Значение",
|
|
326
|
+
"lower": "Нижнее значение",
|
|
327
|
+
"upper": "Верхнее значение"
|
|
328
|
+
},
|
|
279
329
|
"speedDial": {
|
|
280
330
|
"label": "Действия"
|
|
281
331
|
},
|
|
@@ -36,6 +36,25 @@
|
|
|
36
36
|
border: 1px solid var(--wr-color-surface);
|
|
37
37
|
cursor: move;
|
|
38
38
|
box-shadow: 0 0 0 1px rgba(var(--wr-color-primary-rgb), 0.6);
|
|
39
|
+
|
|
40
|
+
&:focus-visible {
|
|
41
|
+
@include theme.focus-ring;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// The help text and the live region. Both exist for a screen reader only: the
|
|
46
|
+
// crop rectangle and its handles are the sighted affordance for the same two
|
|
47
|
+
// things.
|
|
48
|
+
&__sr-only {
|
|
49
|
+
position: absolute;
|
|
50
|
+
width: 1px;
|
|
51
|
+
height: 1px;
|
|
52
|
+
padding: 0;
|
|
53
|
+
margin: -1px;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
clip: rect(0, 0, 0, 0);
|
|
56
|
+
white-space: nowrap;
|
|
57
|
+
border: 0;
|
|
39
58
|
}
|
|
40
59
|
|
|
41
60
|
&__handle {
|
package/input/styles/_index.scss
CHANGED
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
&:disabled,
|
|
51
51
|
&[readonly] {
|
|
52
52
|
--wr-input-color: var(--wr-color-on-surface-muted);
|
|
53
|
-
--wr-input-bg:
|
|
53
|
+
--wr-input-bg: var(--wr-color-fill);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
&:disabled {
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
|
|
196
196
|
&:disabled {
|
|
197
197
|
cursor: not-allowed;
|
|
198
|
-
opacity:
|
|
198
|
+
opacity: var(--wr-disabled-opacity);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
}
|
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
display: inline-flex;
|
|
14
14
|
align-items: center;
|
|
15
15
|
gap: var(--wr-input-otp-gap);
|
|
16
|
+
// A long code has to wrap, because the alternative is off the screen: the
|
|
17
|
+
// cells are a fixed `--wr-input-otp-size` and never shrink, so eight of them
|
|
18
|
+
// at the default size measure 8 × 40 + 7 × 8 = 376px and a 375px phone got a
|
|
19
|
+
// horizontal scrollbar on the whole page. Wrapping rather than shrinking on
|
|
20
|
+
// purpose — a cell narrower than 40px is already under the 44px touch target,
|
|
21
|
+
// and squeezing it to fit trades a visible defect for an unreachable one.
|
|
22
|
+
flex-wrap: wrap;
|
|
16
23
|
font-family: var(--wr-font-family-base);
|
|
17
24
|
|
|
18
25
|
&__cell {
|
|
@@ -44,7 +51,7 @@
|
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
&:disabled {
|
|
47
|
-
background:
|
|
54
|
+
background: var(--wr-color-fill-strong);
|
|
48
55
|
color: var(--wr-color-on-surface-muted);
|
|
49
56
|
cursor: not-allowed;
|
|
50
57
|
}
|
|
@@ -66,6 +73,6 @@
|
|
|
66
73
|
}
|
|
67
74
|
|
|
68
75
|
&--disabled {
|
|
69
|
-
opacity:
|
|
76
|
+
opacity: var(--wr-disabled-opacity);
|
|
70
77
|
}
|
|
71
78
|
}
|
package/knob/styles/_index.scss
CHANGED
|
@@ -47,9 +47,12 @@
|
|
|
47
47
|
background: transparent;
|
|
48
48
|
cursor: zoom-in;
|
|
49
49
|
|
|
50
|
+
// Not cancelled — MOVED. The ring is drawn on the host by
|
|
51
|
+
// `&:has(&__trigger:focus-visible)` below (see the comment there); this
|
|
52
|
+
// only keeps the UA's own ring from leaking a few clipped corner pixels
|
|
53
|
+
// through in a second colour.
|
|
50
54
|
&:focus-visible {
|
|
51
|
-
outline:
|
|
52
|
-
outline-offset: 2px;
|
|
55
|
+
outline: none;
|
|
53
56
|
}
|
|
54
57
|
}
|
|
55
58
|
|
|
@@ -71,6 +74,17 @@
|
|
|
71
74
|
&--loading &__thumb {
|
|
72
75
|
opacity: 0;
|
|
73
76
|
}
|
|
77
|
+
|
|
78
|
+
// The trigger is `width: 100%; height: 100%`, so it is exactly coterminous
|
|
79
|
+
// with the host — and the host clips (`overflow: hidden` above, for the
|
|
80
|
+
// rounded corners), so a ring drawn on the button falls entirely outside the
|
|
81
|
+
// clip and nothing survives. Insetting the offset does not rescue it either:
|
|
82
|
+
// `&__thumb` is `position: relative; z-index: 2` and paints over the button's
|
|
83
|
+
// own outline. An element's outline is not clipped by its OWN `overflow`, so
|
|
84
|
+
// the ring goes on the host instead.
|
|
85
|
+
&:has(&__trigger:focus-visible) {
|
|
86
|
+
@include theme.focus-ring;
|
|
87
|
+
}
|
|
74
88
|
}
|
|
75
89
|
|
|
76
90
|
@keyframes wr-lightbox-shimmer {
|
|
@@ -74,26 +74,40 @@
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
&__x-labels {
|
|
77
|
-
|
|
78
|
-
gap: 0.25rem;
|
|
77
|
+
position: relative;
|
|
79
78
|
margin-top: 0.25rem;
|
|
80
|
-
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
|
|
79
|
+
font-size: var(--wr-text-xs);
|
|
80
|
+
// The labels are absolutely positioned onto their points, so the strip has no
|
|
81
|
+
// content of its own to give it a height. Without this it collapses and the
|
|
82
|
+
// labels overlap whatever the page puts under the chart.
|
|
83
|
+
height: 1.25em;
|
|
84
|
+
// A `translateX` percentage means the LABEL's own width, so the room left beside it
|
|
85
|
+
// has to arrive in another unit — `cqw` is this strip's. Every label is out of flow,
|
|
86
|
+
// so the strip contributes no intrinsic width either way and the containment this
|
|
87
|
+
// turns on costs the layout nothing.
|
|
88
|
+
container-type: inline-size;
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
&__x-label {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
position: absolute;
|
|
93
|
+
// rtl-ok: the SVG's own x, and SVG coordinates do not flip with `direction`
|
|
94
|
+
left: calc(var(--wr-line-chart-x, 50) * 1%);
|
|
95
|
+
// Centred on the point it names, but never past either end of the strip: the shift
|
|
96
|
+
// is the smaller of half the label and the room actually left on that side, so a
|
|
97
|
+
// label that fits sits exactly on its dot and only the outermost ones move inwards.
|
|
98
|
+
// Physical for the same reason `left` is. Together with the width bound below, a
|
|
99
|
+
// label stays inside its own slot: measured in Chromium at 600px, twelve month names
|
|
100
|
+
// went from four overlapping pairs and 13px hanging outside the chart to neither.
|
|
101
|
+
// jsdom has no layout, so no spec can hold that — the spec pins the two numbers the
|
|
102
|
+
// template hands this rule instead.
|
|
103
|
+
transform: translateX(
|
|
104
|
+
clamp(calc(var(--wr-line-chart-x, 50) * -1cqw), -50%, calc((100 - var(--wr-line-chart-x, 50)) * 1cqw - 100%))
|
|
105
|
+
);
|
|
106
|
+
max-width: calc(var(--wr-line-chart-x-max, 100) * 1%);
|
|
95
107
|
overflow: hidden;
|
|
96
108
|
text-overflow: ellipsis;
|
|
109
|
+
font-size: inherit;
|
|
110
|
+
color: var(--wr-color-on-surface-muted);
|
|
97
111
|
white-space: nowrap;
|
|
98
112
|
}
|
|
99
113
|
}
|