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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@use '../../theme/styles' as theme;
|
|
2
2
|
|
|
3
3
|
.wr-segmented {
|
|
4
|
-
--wr-segmented-bg:
|
|
4
|
+
--wr-segmented-bg: var(--wr-color-fill);
|
|
5
5
|
--wr-segmented-color: var(--wr-color-on-surface);
|
|
6
6
|
--wr-segmented-selected-bg: var(--wr-color-surface);
|
|
7
7
|
--wr-segmented-selected-color: var(--wr-color-on-surface);
|
|
@@ -87,6 +87,17 @@
|
|
|
87
87
|
border: 0;
|
|
88
88
|
// Height = line-height + 2×option-py + 2×track-padding (md → 30px); all scale per size.
|
|
89
89
|
padding: var(--wr-segmented-option-py) 0.75rem;
|
|
90
|
+
// The track divides into `1fr` columns, so an option's width has nothing to
|
|
91
|
+
// do with its own text: on a crowded track the label outgrows the option and
|
|
92
|
+
// paints across the inline padding — which is FINE, the padding is a gutter
|
|
93
|
+
// for a label that fits rather than a wall for one that doesn't, and giving
|
|
94
|
+
// the text that room is the only reason six labels still read at 375px. What
|
|
95
|
+
// is not fine is what happened past that: at 320px "Bottom" ran 4.2px beyond
|
|
96
|
+
// its own option and overlapped the next segment's word by 8.4px, two labels
|
|
97
|
+
// printed on top of each other. Clip at the option instead. Note the clip
|
|
98
|
+
// box is the PADDING box, so the gutter stays available; and an `outline`
|
|
99
|
+
// is not clipped by its own element, so the focus ring is untouched.
|
|
100
|
+
overflow: hidden;
|
|
90
101
|
@include theme.smooth-br(var(--wr-segmented-thumb-radius));
|
|
91
102
|
color: var(--wr-segmented-color);
|
|
92
103
|
font: inherit;
|
|
@@ -107,7 +118,7 @@
|
|
|
107
118
|
|
|
108
119
|
&:disabled {
|
|
109
120
|
cursor: not-allowed;
|
|
110
|
-
opacity:
|
|
121
|
+
opacity: var(--wr-disabled-opacity);
|
|
111
122
|
}
|
|
112
123
|
}
|
|
113
124
|
|
|
@@ -121,6 +132,6 @@
|
|
|
121
132
|
|
|
122
133
|
&--disabled {
|
|
123
134
|
pointer-events: none;
|
|
124
|
-
opacity:
|
|
135
|
+
opacity: var(--wr-disabled-opacity);
|
|
125
136
|
}
|
|
126
137
|
}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
|
|
42
42
|
&--disabled {
|
|
43
43
|
--wr-select-color: var(--wr-color-on-surface-muted);
|
|
44
|
-
--wr-select-bg:
|
|
44
|
+
--wr-select-bg: var(--wr-color-fill);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&__trigger {
|
|
@@ -184,6 +184,18 @@
|
|
|
184
184
|
color: var(--wr-color-text-muted);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
+
// At `maxItems` the input goes READONLY rather than disabled — it is the
|
|
188
|
+
// only tab stop in the control, and Backspace here is the way back under the
|
|
189
|
+
// cap. Nothing painted that, so the field kept the I-beam it inherits from
|
|
190
|
+
// the trigger and went on inviting text it would refuse. The cursor is the
|
|
191
|
+
// whole cue on purpose: the field still takes focus and still answers
|
|
192
|
+
// Backspace, so `not-allowed` would say something false about a control that
|
|
193
|
+
// is working. Listed before `:disabled`, which matches a readonly-OR-disabled
|
|
194
|
+
// input too and has to win the tie on source order.
|
|
195
|
+
&:read-only {
|
|
196
|
+
cursor: default;
|
|
197
|
+
}
|
|
198
|
+
|
|
187
199
|
&:disabled {
|
|
188
200
|
cursor: not-allowed;
|
|
189
201
|
}
|
|
@@ -360,7 +372,7 @@
|
|
|
360
372
|
&--disabled {
|
|
361
373
|
color: var(--wr-color-on-surface-muted);
|
|
362
374
|
cursor: not-allowed;
|
|
363
|
-
opacity:
|
|
375
|
+
opacity: var(--wr-disabled-opacity);
|
|
364
376
|
|
|
365
377
|
&:hover {
|
|
366
378
|
background: transparent;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
&--disabled {
|
|
64
64
|
color: var(--wr-color-on-surface-muted);
|
|
65
65
|
pointer-events: none;
|
|
66
|
-
opacity:
|
|
66
|
+
opacity: var(--wr-disabled-opacity);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
transition: background var(--wr-transition-base);
|
|
89
89
|
|
|
90
90
|
&:hover {
|
|
91
|
-
background:
|
|
91
|
+
background: var(--wr-color-fill-strong);
|
|
92
92
|
|
|
93
93
|
.wr-sidebar__icon {
|
|
94
94
|
color: var(--wr-color-primary);
|
|
@@ -128,15 +128,17 @@
|
|
|
128
128
|
|
|
129
129
|
&__group--collapsed &__chevron {
|
|
130
130
|
// Disclosure affordance, and it IS reading-order: the collapsed chevron
|
|
131
|
-
// should point at the trailing edge
|
|
132
|
-
// RTL the
|
|
133
|
-
//
|
|
134
|
-
//
|
|
135
|
-
// rewrite; same call as the segmented thumb and the button seam.
|
|
136
|
-
// rtl-ok: transform rotation has no logical equivalent — see above
|
|
131
|
+
// should point at the trailing edge — physically right in LTR, physically
|
|
132
|
+
// left under RTL, where the group header's own label sits to its right.
|
|
133
|
+
// `rotate` has no logical form, so the RTL sign is set by the rule below.
|
|
134
|
+
// rtl-ok: transform rotation has no logical equivalent — the RTL sign is the rule below
|
|
137
135
|
transform: rotate(-90deg);
|
|
138
136
|
}
|
|
139
137
|
|
|
138
|
+
[dir='rtl'] &__group--collapsed &__chevron {
|
|
139
|
+
transform: rotate(90deg);
|
|
140
|
+
}
|
|
141
|
+
|
|
140
142
|
// Child items (inside an expanded group)
|
|
141
143
|
&__list {
|
|
142
144
|
list-style: none;
|
|
@@ -215,7 +217,7 @@
|
|
|
215
217
|
&--disabled {
|
|
216
218
|
color: var(--wr-color-on-surface-muted);
|
|
217
219
|
pointer-events: none;
|
|
218
|
-
opacity:
|
|
220
|
+
opacity: var(--wr-disabled-opacity);
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
223
|
|
|
@@ -223,7 +225,7 @@
|
|
|
223
225
|
flex: 0 0 auto;
|
|
224
226
|
padding: 0.0625rem 0.375rem;
|
|
225
227
|
border-radius: var(--wr-border-radius-pill);
|
|
226
|
-
background:
|
|
228
|
+
background: var(--wr-color-fill-strong);
|
|
227
229
|
color: var(--wr-color-on-surface-muted);
|
|
228
230
|
font-size: var(--wr-text-xs);
|
|
229
231
|
font-weight: var(--wr-font-weight-semibold);
|
package/skills/ngwr/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ description: Build Angular UIs with the ngwr component library (standalone, sign
|
|
|
5
5
|
|
|
6
6
|
# ngwr
|
|
7
7
|
|
|
8
|
-
An Angular 22 UI library: 202 tree-shakable entry points,
|
|
8
|
+
An Angular 22 UI library: 202 tree-shakable entry points, 110 of them shipping a selector.
|
|
9
9
|
Standalone, signals-first, zoneless, `ViewEncapsulation.None`. One runtime
|
|
10
10
|
dependency (`tslib`).
|
|
11
11
|
|
|
@@ -74,7 +74,9 @@ ng g ngwr:provider overlay # splices a provider into b
|
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
`--path` is a NAMED option on `ngwr:use`; only the symbol is positional, and
|
|
77
|
-
passing the path bare fails with `Unknown argument`.
|
|
77
|
+
passing the path bare fails with `Unknown argument`. It takes declarables only:
|
|
78
|
+
a service such as `WrDialog` is refused, since the import line would compile and
|
|
79
|
+
the `imports` entry would not — `inject()` it instead.
|
|
78
80
|
|
|
79
81
|
### Providers a component cannot work without
|
|
80
82
|
|
|
@@ -87,12 +89,12 @@ cause.
|
|
|
87
89
|
- `provideWrIcons(lucideIcons({ … })) // from 'ngwr/icon' + 'ngwr/icon/adapters/lucide'`
|
|
88
90
|
— icons resolve by name from a registry you populate
|
|
89
91
|
— needed by: `WrIcon`
|
|
90
|
-
- `
|
|
92
|
+
- `provideWrDateFnsAdapter() // from 'ngwr/date/adapters/fns'`
|
|
91
93
|
— every date mode goes through an adapter; there is no built-in default
|
|
92
94
|
— needed by: `WrDatePicker`, `WrCalendar`, `WrEventCalendar`
|
|
93
|
-
- `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n'`
|
|
95
|
+
- `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n' + 'ngwr/i18n/en'`
|
|
94
96
|
— the pipe and directive read from a catalog you provide
|
|
95
|
-
— needed by: `
|
|
97
|
+
— needed by: `WrTPipe`, `WrTDirective`, `WrI18n`
|
|
96
98
|
|
|
97
99
|
## Testing
|
|
98
100
|
|
|
@@ -42,7 +42,7 @@ root barrel for components.
|
|
|
42
42
|
| `ngwr/collapse` | `import { WrCollapse } from 'ngwr/collapse'` | `wr-accordion` `wr-collapse-group` `wr-collapse` |
|
|
43
43
|
| `ngwr/collapse/testing` | `import { WrCollapseGroupHarness } from 'ngwr/collapse/testing'` | — |
|
|
44
44
|
| `ngwr/color-picker` | `import { WrColorPicker } from 'ngwr/color-picker'` | `[wrColorPickerTrigger]` `wr-color-picker` |
|
|
45
|
-
| `ngwr/color-picker/testing` | `import { WrColorPickerHarness } from 'ngwr/color-picker/testing'` |
|
|
45
|
+
| `ngwr/color-picker/testing` | `import { WrColorPickerHarness } from 'ngwr/color-picker/testing'` | — |
|
|
46
46
|
| `ngwr/command-palette` | `import { WrCommandPalette } from 'ngwr/command-palette'` | `wr-command-palette` |
|
|
47
47
|
| `ngwr/command-palette/testing` | `import { WrCommandPaletteGroupHarness } from 'ngwr/command-palette/testing'` | — |
|
|
48
48
|
| `ngwr/compare` | `import { WrCompare } from 'ngwr/compare'` | `wr-compare` |
|
|
@@ -52,11 +52,11 @@ root barrel for components.
|
|
|
52
52
|
| `ngwr/context-menu/testing` | `import { WrContextMenuHarness } from 'ngwr/context-menu/testing'` | — |
|
|
53
53
|
| `ngwr/cookie` | `import { WrCookie } from 'ngwr/cookie'` | — |
|
|
54
54
|
| `ngwr/counter` | `import { WrCounter } from 'ngwr/counter'` | `wr-count-up` `wr-counter` |
|
|
55
|
-
| `ngwr/date
|
|
56
|
-
| `ngwr/date-adapter-fns` | `import { WrDateFnsAdapter } from 'ngwr/date-adapter-fns'` | — |
|
|
57
|
-
| `ngwr/date-adapter-luxon` | `import { WrLuxonAdapter } from 'ngwr/date-adapter-luxon'` | — |
|
|
55
|
+
| `ngwr/date` | `import { WrDateAdapter } from 'ngwr/date'` | — |
|
|
58
56
|
| `ngwr/date-picker` | `import { WrDatePicker } from 'ngwr/date-picker'` | `wr-date-picker` `wr-date-range-picker` |
|
|
59
57
|
| `ngwr/date-picker/testing` | `import { WrDatePickerDayHarness } from 'ngwr/date-picker/testing'` | — |
|
|
58
|
+
| `ngwr/date/adapters/fns` | `import { WrDateFnsAdapter } from 'ngwr/date/adapters/fns'` | — |
|
|
59
|
+
| `ngwr/date/adapters/luxon` | `import { WrLuxonAdapter } from 'ngwr/date/adapters/luxon'` | — |
|
|
60
60
|
| `ngwr/decrypt-text` | `import { WrDecryptText } from 'ngwr/decrypt-text'` | `wr-decrypt-text` |
|
|
61
61
|
| `ngwr/decrypt-text/testing` | `import { WrDecryptTextHarness } from 'ngwr/decrypt-text/testing'` | — |
|
|
62
62
|
| `ngwr/density` | `import { WrDensity } from 'ngwr/density'` | `[wrDensity]` |
|
|
@@ -74,7 +74,7 @@ root barrel for components.
|
|
|
74
74
|
| `ngwr/dropdown/testing` | `import { WrDropdownHarness } from 'ngwr/dropdown/testing'` | — |
|
|
75
75
|
| `ngwr/empty` | `import { WrEmpty } from 'ngwr/empty'` | `wr-empty` |
|
|
76
76
|
| `ngwr/event-calendar` | `import { WrEventCalendar } from 'ngwr/event-calendar'` | `ng-template[wrCalendarEvent]` `wr-event-calendar` |
|
|
77
|
-
| `ngwr/event-calendar/testing` | `import { WrEventCalendarChipHarness } from 'ngwr/event-calendar/testing'` |
|
|
77
|
+
| `ngwr/event-calendar/testing` | `import { WrEventCalendarChipHarness } from 'ngwr/event-calendar/testing'` | — |
|
|
78
78
|
| `ngwr/falling-text` | `import { WrFallingText } from 'ngwr/falling-text'` | `wr-falling-text` |
|
|
79
79
|
| `ngwr/falling-text/testing` | `import { WrFallingTextHarness } from 'ngwr/falling-text/testing'` | — |
|
|
80
80
|
| `ngwr/file-upload` | `import { WrFileUpload } from 'ngwr/file-upload'` | `wr-file-upload` |
|
|
@@ -127,7 +127,7 @@ root barrel for components.
|
|
|
127
127
|
| `ngwr/overlay` | `import { WrOutsideClick } from 'ngwr/overlay'` | — |
|
|
128
128
|
| `ngwr/page-header` | `import { WrPageHeader } from 'ngwr/page-header'` | `wr-page-header` |
|
|
129
129
|
| `ngwr/pagination` | `import { WrPagination } from 'ngwr/pagination'` | `wr-pagination` |
|
|
130
|
-
| `ngwr/pagination/testing` | `import { WrPaginationHarness } from 'ngwr/pagination/testing'` |
|
|
130
|
+
| `ngwr/pagination/testing` | `import { WrPaginationHarness } from 'ngwr/pagination/testing'` | — |
|
|
131
131
|
| `ngwr/pipes` | `import { WrBytes } from 'ngwr/pipes'` | — |
|
|
132
132
|
| `ngwr/platform` | `import { WrPlatform } from 'ngwr/platform'` | — |
|
|
133
133
|
| `ngwr/popconfirm` | `import { WrPopconfirm } from 'ngwr/popconfirm'` | `wr-popconfirm` `[wrPopconfirm]` |
|
|
@@ -187,11 +187,11 @@ root barrel for components.
|
|
|
187
187
|
| `ngwr/tilt-card` | `import { WrTiltCard } from 'ngwr/tilt-card'` | `wr-tilt-card` `[wrTilt]` |
|
|
188
188
|
| `ngwr/tilt-card/testing` | `import { WrTiltHarness } from 'ngwr/tilt-card/testing'` | — |
|
|
189
189
|
| `ngwr/timeline` | `import { WrTimeline } from 'ngwr/timeline'` | `wr-timeline-item` `wr-timeline` |
|
|
190
|
-
| `ngwr/toast` | `import { WrToast } from 'ngwr/toast'` |
|
|
190
|
+
| `ngwr/toast` | `import { WrToast } from 'ngwr/toast'` | — |
|
|
191
191
|
| `ngwr/toast/testing` | `import { WrToastHarness } from 'ngwr/toast/testing'` | — |
|
|
192
192
|
| `ngwr/toolbar` | `import { WrToolbar } from 'ngwr/toolbar'` | `wr-toolbar` |
|
|
193
193
|
| `ngwr/tour` | `import { WrTour } from 'ngwr/tour'` | `wr-tour-popup` |
|
|
194
|
-
| `ngwr/tour/testing` | `import { WrTourHarness } from 'ngwr/tour/testing'` |
|
|
194
|
+
| `ngwr/tour/testing` | `import { WrTourHarness } from 'ngwr/tour/testing'` | — |
|
|
195
195
|
| `ngwr/transfer` | `import { WrTransfer } from 'ngwr/transfer'` | `wr-transfer` |
|
|
196
196
|
| `ngwr/transfer/testing` | `import { WrTransferHarness } from 'ngwr/transfer/testing'` | — |
|
|
197
197
|
| `ngwr/tree` | `import { WrTree } from 'ngwr/tree'` | `wr-tree` |
|
|
@@ -205,7 +205,7 @@ root barrel for components.
|
|
|
205
205
|
| `ngwr/virtual-scroll` | `import { WrVirtualScroll } from 'ngwr/virtual-scroll'` | `wr-virtual-scroll` |
|
|
206
206
|
| `ngwr/waves` | `import { WrWaves } from 'ngwr/waves'` | `wr-waves` |
|
|
207
207
|
| `ngwr/waves/testing` | `import { WrWavesHarness } from 'ngwr/waves/testing'` | — |
|
|
208
|
-
| `ngwr/window` | `import { WrWindowManager } from 'ngwr/window'` | `wr-window-
|
|
208
|
+
| `ngwr/window` | `import { WrWindowManager } from 'ngwr/window'` | `wr-window-taskbar` |
|
|
209
209
|
| `ngwr/window/testing` | `import { WrWindowHarness } from 'ngwr/window/testing'` | — |
|
|
210
210
|
|
|
211
211
|
Descriptions and every public export per entry point:
|
|
@@ -52,20 +52,25 @@ Overlays render into an ngwr-owned container; without it they never appear. Need
|
|
|
52
52
|
|
|
53
53
|
Icons resolve by name from a registry you populate. Needed by `WrIcon`.
|
|
54
54
|
|
|
55
|
-
### `
|
|
55
|
+
### `provideWrDateFnsAdapter() // from 'ngwr/date/adapters/fns'`
|
|
56
56
|
|
|
57
57
|
Every date mode goes through an adapter; there is no built-in default. Needed by `WrDatePicker`, `WrCalendar`, `WrEventCalendar`.
|
|
58
58
|
|
|
59
|
-
### `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n'`
|
|
59
|
+
### `provideWrI18n() + provideWrI18nStaticLoader({ en: wrEn }) // from 'ngwr/i18n' + 'ngwr/i18n/en'`
|
|
60
60
|
|
|
61
|
-
The pipe and directive read from a catalog you provide. Needed by `
|
|
61
|
+
The pipe and directive read from a catalog you provide. Needed by `WrTPipe`, `WrTDirective`, `WrI18n`.
|
|
62
62
|
|
|
63
63
|
## Optional, app-wide
|
|
64
64
|
|
|
65
65
|
- `provideWrConfig({ button: { size: 'sm' } })` — component defaults. A bound
|
|
66
66
|
value always wins, including a bound `false` over a configured `true`.
|
|
67
|
-
- `provideWrDensity(
|
|
68
|
-
|
|
67
|
+
- `provideWrDensity({ defaultDensity: 'sm' })` — one control size for the whole
|
|
68
|
+
app; `'sm' | 'md' | 'lg' | 'touch'`. It scales the paddings of the nine
|
|
69
|
+
stylesheets that read the multipliers — button, input, textarea, select,
|
|
70
|
+
cascader, tree, list, table, badge/tag — so `touch` grows those together. A
|
|
71
|
+
control with fixed geometry (checkbox, switch, radio, slider, rating,
|
|
72
|
+
segmented) does not move; its ≥44px target comes from the `touch-target` mixin
|
|
73
|
+
under `@media (pointer: coarse)` instead.
|
|
69
74
|
- `provideWrResponsiveOverlays()` — overlays present as bottom sheets under the
|
|
70
75
|
breakpoint (640px by default). Per-component opt-out with `[responsive]="false"`.
|
|
71
76
|
- `provideWrFormErrors({ … })` — one place for validation copy; `<wr-form-field>`
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
min-width: 0;
|
|
42
42
|
|
|
43
43
|
&--disabled {
|
|
44
|
-
opacity:
|
|
44
|
+
opacity: var(--wr-disabled-opacity);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -156,7 +156,14 @@
|
|
|
156
156
|
min-width: 0;
|
|
157
157
|
min-height: 1.25rem;
|
|
158
158
|
height: auto;
|
|
159
|
-
margin:
|
|
159
|
+
// Logical, not `margin: … 0 … calc(…)`: `width` above is definite, so the
|
|
160
|
+
// `align-self: stretch` below is inapplicable and the thread is placed at
|
|
161
|
+
// the cross START — where the INLINE-start margin alone offsets it. A
|
|
162
|
+
// physical `margin-left` is therefore the TRAILING side under `dir="rtl"`,
|
|
163
|
+
// and the line paints flush against the row's right edge, half an indicator
|
|
164
|
+
// (14px) clear of every circle it is supposed to join.
|
|
165
|
+
margin-block: 0.25rem;
|
|
166
|
+
margin-inline: calc(var(--wr-stepper-indicator-size) / 2) 0;
|
|
160
167
|
align-self: stretch;
|
|
161
168
|
flex: 0 0 auto;
|
|
162
169
|
}
|
|
@@ -191,7 +198,9 @@
|
|
|
191
198
|
min-width: 0;
|
|
192
199
|
min-height: 1.25rem;
|
|
193
200
|
height: auto;
|
|
194
|
-
|
|
201
|
+
// Logical for the same reason as the `--vertical` rule above.
|
|
202
|
+
margin-block: 0.25rem;
|
|
203
|
+
margin-inline: calc(var(--wr-stepper-indicator-size) / 2) 0;
|
|
195
204
|
align-self: stretch;
|
|
196
205
|
flex: 0 0 auto;
|
|
197
206
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
white-space: nowrap;
|
|
39
39
|
|
|
40
40
|
&:focus-visible + .wr-switch__track {
|
|
41
|
-
|
|
41
|
+
@include theme.focus-ring;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -98,6 +98,6 @@
|
|
|
98
98
|
&--disabled {
|
|
99
99
|
--wr-switch-color: var(--wr-color-on-surface-muted);
|
|
100
100
|
pointer-events: none;
|
|
101
|
-
opacity:
|
|
101
|
+
opacity: var(--wr-disabled-opacity);
|
|
102
102
|
}
|
|
103
103
|
}
|
package/table/styles/_index.scss
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
.wr-table {
|
|
4
4
|
--wr-table-bg: var(--wr-color-surface);
|
|
5
5
|
--wr-table-border: var(--wr-color-outline);
|
|
6
|
-
--wr-table-head-bg:
|
|
7
|
-
--wr-table-row-hover:
|
|
6
|
+
--wr-table-head-bg: var(--wr-color-fill);
|
|
7
|
+
--wr-table-row-hover: var(--wr-color-fill-subtle);
|
|
8
8
|
// Head casing. The library renders column titles as the author wrote them —
|
|
9
9
|
// forcing `uppercase` mutates their content, and a header written "ID" or
|
|
10
10
|
// "created at" is the consumer's decision to make, not ours. Both halves stay
|
|
@@ -188,6 +188,15 @@
|
|
|
188
188
|
transform: rotate(90deg);
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
// The glyph is a chevron-RIGHT, so a closed row points into its own content
|
|
192
|
+
// under `dir="rtl"` instead of at the direction the children will indent.
|
|
193
|
+
// Turn it around with the tree, the way the cascader's branch arrow does.
|
|
194
|
+
// Scoped to the CLOSED state deliberately: `scaleX(-1)` composed over the open
|
|
195
|
+
// state's `rotate(90deg)` resolves to "up", not "down".
|
|
196
|
+
[dir='rtl'] &__tree-toggle:not(.wr-table__tree-toggle--open) &__tree-icon {
|
|
197
|
+
transform: scaleX(-1);
|
|
198
|
+
}
|
|
199
|
+
|
|
191
200
|
// Card mode stacks label / value with `justify-content: space-between`, so an
|
|
192
201
|
// extra inline child would strand the chevron mid-row. Fold the lead into the
|
|
193
202
|
// value side instead.
|
|
@@ -255,9 +264,14 @@
|
|
|
255
264
|
transform: rotate(90deg);
|
|
256
265
|
}
|
|
257
266
|
|
|
267
|
+
// Same chevron-right, same mirror — closed state only. See `__tree-icon` above.
|
|
268
|
+
[dir='rtl'] &__expand-btn:not(.wr-table__expand-btn--open) &__expand-icon {
|
|
269
|
+
transform: scaleX(-1);
|
|
270
|
+
}
|
|
271
|
+
|
|
258
272
|
&__detail-row > &__detail {
|
|
259
273
|
padding: 0.875rem 1rem;
|
|
260
|
-
background:
|
|
274
|
+
background: var(--wr-color-fill-subtle);
|
|
261
275
|
border-bottom: 1px solid var(--wr-table-border);
|
|
262
276
|
}
|
|
263
277
|
|
|
@@ -322,21 +336,36 @@
|
|
|
322
336
|
}
|
|
323
337
|
|
|
324
338
|
// Separating shadow on the inner edge of each pinned group. `box-shadow` has
|
|
325
|
-
// no logical form — its offset is always physical —
|
|
326
|
-
// is anchored by `[style.
|
|
327
|
-
// from `leftPin()` / `rightPin()`. The shadow leans the
|
|
339
|
+
// no logical form — its offset is always physical — while the cell it belongs
|
|
340
|
+
// to is anchored by `[style.inset-inline-start.px]` / `[style.inset-inline-end.px]`
|
|
341
|
+
// in table.html, written from `leftPin()` / `rightPin()`. The shadow leans the
|
|
342
|
+
// way the offset pins, so the sign has to be set per direction by hand.
|
|
328
343
|
&__th--pin-edge-left,
|
|
329
344
|
&__td--pin-edge-left {
|
|
330
|
-
// rtl-ok:
|
|
345
|
+
// rtl-ok: `box-shadow` has no logical form; the RTL sign is set explicitly below
|
|
331
346
|
box-shadow: 0.375rem 0 0.375rem -0.25rem rgba(0, 0, 0, 0.18);
|
|
332
347
|
}
|
|
333
348
|
|
|
334
349
|
&__th--pin-edge-right,
|
|
335
350
|
&__td--pin-edge-right {
|
|
336
|
-
// rtl-ok:
|
|
351
|
+
// rtl-ok: `box-shadow` has no logical form; the RTL sign is set explicitly below
|
|
352
|
+
box-shadow: -0.375rem 0 0.375rem -0.25rem rgba(0, 0, 0, 0.18);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// Under `dir="rtl"` the start-pinned group sits at the physical right and the
|
|
356
|
+
// end-pinned group at the physical left, so both shadows point the other way.
|
|
357
|
+
[dir='rtl'] &__th--pin-edge-left,
|
|
358
|
+
[dir='rtl'] &__td--pin-edge-left {
|
|
359
|
+
// rtl-ok: this IS the RTL sign for the rule above
|
|
337
360
|
box-shadow: -0.375rem 0 0.375rem -0.25rem rgba(0, 0, 0, 0.18);
|
|
338
361
|
}
|
|
339
362
|
|
|
363
|
+
[dir='rtl'] &__th--pin-edge-right,
|
|
364
|
+
[dir='rtl'] &__td--pin-edge-right {
|
|
365
|
+
// rtl-ok: this IS the RTL sign for the rule above
|
|
366
|
+
box-shadow: 0.375rem 0 0.375rem -0.25rem rgba(0, 0, 0, 0.18);
|
|
367
|
+
}
|
|
368
|
+
|
|
340
369
|
&__th-inner {
|
|
341
370
|
display: inline-flex;
|
|
342
371
|
align-items: center;
|
|
@@ -393,10 +422,15 @@
|
|
|
393
422
|
backdrop-filter: blur(2px);
|
|
394
423
|
// Above the pinned sticky cells (th z-index 2), so loading veils them too.
|
|
395
424
|
z-index: 3;
|
|
425
|
+
// A positioned box over the whole table swallowed every click while leaving
|
|
426
|
+
// the keyboard untouched — sort headers, row checkboxes and the pager all
|
|
427
|
+
// stayed operable by Tab + Enter. The veil is a marker (the host carries
|
|
428
|
+
// `aria-busy`), not a shield, so it stops eating the pointer too.
|
|
429
|
+
pointer-events: none;
|
|
396
430
|
}
|
|
397
431
|
|
|
398
432
|
// --- Row grouping ---------------------------------------------------------
|
|
399
|
-
--wr-table-group-bg:
|
|
433
|
+
--wr-table-group-bg: var(--wr-color-fill-subtle);
|
|
400
434
|
|
|
401
435
|
&__group-cell {
|
|
402
436
|
// NOTE: never add `overflow` here — the inner box below is `position: sticky`
|
|
@@ -451,6 +485,14 @@
|
|
|
451
485
|
transform: none; // collapsed — chevron points right
|
|
452
486
|
}
|
|
453
487
|
|
|
488
|
+
// …which is the wrong way round under `dir="rtl"`, where the label the arrow
|
|
489
|
+
// discloses sits to its left. Mirror the collapsed state only — the expanded
|
|
490
|
+
// one already points down, and `scaleX(-1)` over its `rotate(90deg)` would
|
|
491
|
+
// point it up. See `__tree-icon` above.
|
|
492
|
+
[dir='rtl'] &__group-row--collapsed &__group-icon {
|
|
493
|
+
transform: scaleX(-1);
|
|
494
|
+
}
|
|
495
|
+
|
|
454
496
|
&__group-label {
|
|
455
497
|
// Cap intrinsic width: in the default (auto) layout a colspan cell's
|
|
456
498
|
// min-content is spread across columns, so an ellipsizing shrinkable label
|
|
@@ -465,7 +507,14 @@
|
|
|
465
507
|
flex: 0 0 auto;
|
|
466
508
|
padding: 0 0.375rem;
|
|
467
509
|
border-radius: var(--wr-border-radius-pill);
|
|
468
|
-
|
|
510
|
+
// `-subtle`, not `-strong`: this chip is the SECOND tint in the stack — it
|
|
511
|
+
// sits on the group row, which already paints `--wr-table-group-bg`
|
|
512
|
+
// (`-fill-subtle`) over the table's own surface. At `-strong` the pair
|
|
513
|
+
// composited to #dee5ed, and `--wr-color-on-surface-muted` is calibrated
|
|
514
|
+
// against the plain surface (5.35:1) and the lightest one the library
|
|
515
|
+
// paints (4.63:1) — on that composite it fell to 4.21:1, under AA. The same
|
|
516
|
+
// double-tint trap the event-calendar header comment records.
|
|
517
|
+
background: var(--wr-color-fill-subtle);
|
|
469
518
|
color: var(--wr-color-on-surface-muted);
|
|
470
519
|
font-size: var(--wr-text-xs);
|
|
471
520
|
font-weight: 500;
|
|
@@ -784,7 +833,7 @@
|
|
|
784
833
|
cursor: pointer;
|
|
785
834
|
|
|
786
835
|
&:hover {
|
|
787
|
-
background:
|
|
836
|
+
background: var(--wr-color-fill);
|
|
788
837
|
}
|
|
789
838
|
}
|
|
790
839
|
|
|
@@ -853,7 +902,7 @@
|
|
|
853
902
|
// the same defaults that block sets. `--wr-density-*` and `--wr-color-*` are
|
|
854
903
|
// root-level and resolve as-is.
|
|
855
904
|
padding: calc(0.625rem * var(--wr-density-y, 1)) calc(0.875rem * var(--wr-density-x, 1));
|
|
856
|
-
background: var(--wr-table-head-bg,
|
|
905
|
+
background: var(--wr-table-head-bg, var(--wr-color-fill));
|
|
857
906
|
color: var(--wr-color-on-surface-muted);
|
|
858
907
|
font-family: var(--wr-font-family-base);
|
|
859
908
|
font-weight: 600;
|
package/tabs/styles/_index.scss
CHANGED