ngwr 14.3.0 → 14.4.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 +1 -1
- package/avatar/styles/_index.scss +4 -2
- package/badge/styles/_index.scss +4 -1
- package/badge/styles/_tag.scss +3 -0
- package/cascader/styles/_rules.scss +3 -0
- package/command-palette/styles/_index.scss +23 -0
- package/context-menu/styles/_index.scss +13 -1
- package/fesm2022/ngwr-action-sheet.mjs +3 -3
- package/fesm2022/ngwr-affix.mjs +17 -4
- package/fesm2022/ngwr-affix.mjs.map +1 -1
- package/fesm2022/ngwr-alert.mjs +4 -4
- package/fesm2022/ngwr-alert.mjs.map +1 -1
- 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 +18 -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-border-glow.mjs +3 -3
- package/fesm2022/ngwr-breadcrumbs.mjs +6 -6
- package/fesm2022/ngwr-burger.mjs +3 -3
- package/fesm2022/ngwr-button.mjs +6 -6
- package/fesm2022/ngwr-calendar-heatmap-testing.mjs +12 -9
- package/fesm2022/ngwr-calendar-heatmap-testing.mjs.map +1 -1
- package/fesm2022/ngwr-calendar-heatmap.mjs +35 -7
- package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
- package/fesm2022/ngwr-calendar.mjs +32 -4
- package/fesm2022/ngwr-calendar.mjs.map +1 -1
- package/fesm2022/ngwr-card.mjs +9 -9
- package/fesm2022/ngwr-carousel.mjs +6 -6
- package/fesm2022/ngwr-cascader-testing.mjs +87 -17
- package/fesm2022/ngwr-cascader-testing.mjs.map +1 -1
- package/fesm2022/ngwr-cascader.mjs +63 -4
- package/fesm2022/ngwr-cascader.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox-testing.mjs +13 -2
- package/fesm2022/ngwr-checkbox-testing.mjs.map +1 -1
- package/fesm2022/ngwr-checkbox.mjs +42 -7
- package/fesm2022/ngwr-checkbox.mjs.map +1 -1
- package/fesm2022/ngwr-circular-text.mjs +3 -3
- package/fesm2022/ngwr-click-spark.mjs +3 -3
- 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 +16 -3
- package/fesm2022/ngwr-command-palette.mjs.map +1 -1
- package/fesm2022/ngwr-compare.mjs +3 -3
- package/fesm2022/ngwr-confetti.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-adapters-fns.mjs +3 -3
- package/fesm2022/ngwr-date-adapters-luxon.mjs +3 -3
- package/fesm2022/ngwr-date-picker.mjs +81 -26
- package/fesm2022/ngwr-date-picker.mjs.map +1 -1
- package/fesm2022/ngwr-date.mjs +3 -3
- 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 +15 -15
- package/fesm2022/ngwr-directives.mjs +12 -12
- package/fesm2022/ngwr-divider.mjs +3 -3
- package/fesm2022/ngwr-donut-chart-testing.mjs +18 -2
- package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-donut-chart.mjs +4 -4
- package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
- package/fesm2022/ngwr-drag-drop.mjs +6 -6
- package/fesm2022/ngwr-drawer.mjs +18 -18
- package/fesm2022/ngwr-dropdown.mjs +32 -14
- package/fesm2022/ngwr-dropdown.mjs.map +1 -1
- package/fesm2022/ngwr-empty.mjs +3 -3
- package/fesm2022/ngwr-event-calendar.mjs +6 -6
- package/fesm2022/ngwr-falling-text.mjs +3 -3
- package/fesm2022/ngwr-file-upload.mjs +18 -5
- package/fesm2022/ngwr-file-upload.mjs.map +1 -1
- package/fesm2022/ngwr-form.mjs +66 -14
- package/fesm2022/ngwr-form.mjs.map +1 -1
- package/fesm2022/ngwr-fuzzy-text.mjs +3 -3
- package/fesm2022/ngwr-gauge-testing.mjs +16 -2
- package/fesm2022/ngwr-gauge-testing.mjs.map +1 -1
- package/fesm2022/ngwr-gauge.mjs +3 -3
- package/fesm2022/ngwr-glitch-text.mjs +3 -3
- package/fesm2022/ngwr-gradient-text.mjs +3 -3
- package/fesm2022/ngwr-hotkey.mjs +6 -6
- package/fesm2022/ngwr-i18n-ar.mjs +2 -0
- package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-cs.mjs +2 -0
- package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-de.mjs +2 -0
- package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-en.mjs +14 -2
- package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-es.mjs +2 -0
- package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-fr.mjs +2 -0
- package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-he.mjs +2 -0
- package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-hi.mjs +2 -0
- package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-id.mjs +2 -0
- package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-it.mjs +2 -0
- package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ja.mjs +2 -0
- package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ko.mjs +2 -0
- package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-nl.mjs +2 -0
- package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-pl.mjs +2 -0
- package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-pt.mjs +2 -0
- package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-ru.mjs +2 -0
- package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-sv.mjs +2 -0
- package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-tr.mjs +2 -0
- package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-uk.mjs +2 -0
- package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-vi.mjs +2 -0
- package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-zh-TW.mjs +2 -0
- package/fesm2022/ngwr-i18n-zh-TW.mjs.map +1 -1
- package/fesm2022/ngwr-i18n-zh.mjs +2 -0
- 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 +15 -6
- package/fesm2022/ngwr-input-number.mjs.map +1 -1
- package/fesm2022/ngwr-input-otp.mjs +38 -6
- 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-testing.mjs +11 -3
- package/fesm2022/ngwr-knob-testing.mjs.map +1 -1
- package/fesm2022/ngwr-knob.mjs +19 -4
- package/fesm2022/ngwr-knob.mjs.map +1 -1
- package/fesm2022/ngwr-layout.mjs +15 -15
- package/fesm2022/ngwr-lightbox.mjs +3 -3
- package/fesm2022/ngwr-line-chart-testing.mjs +18 -2
- package/fesm2022/ngwr-line-chart-testing.mjs.map +1 -1
- package/fesm2022/ngwr-line-chart.mjs +22 -4
- package/fesm2022/ngwr-line-chart.mjs.map +1 -1
- package/fesm2022/ngwr-list.mjs +6 -6
- package/fesm2022/ngwr-loading-bar.mjs +6 -6
- package/fesm2022/ngwr-markdown.mjs +6 -6
- package/fesm2022/ngwr-marquee.mjs +3 -3
- package/fesm2022/ngwr-media.mjs +3 -3
- package/fesm2022/ngwr-mention.mjs +6 -6
- package/fesm2022/ngwr-meta.mjs +6 -6
- 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.mjs +33 -6
- package/fesm2022/ngwr-pagination.mjs.map +1 -1
- package/fesm2022/ngwr-pipes.mjs +21 -21
- package/fesm2022/ngwr-platform.mjs +9 -9
- package/fesm2022/ngwr-popconfirm.mjs +6 -6
- package/fesm2022/ngwr-popover.mjs +29 -11
- 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 +3 -3
- package/fesm2022/ngwr-radio.mjs +6 -6
- package/fesm2022/ngwr-rating-testing.mjs +12 -3
- package/fesm2022/ngwr-rating-testing.mjs.map +1 -1
- package/fesm2022/ngwr-rating.mjs +19 -4
- package/fesm2022/ngwr-rating.mjs.map +1 -1
- package/fesm2022/ngwr-result.mjs +13 -13
- package/fesm2022/ngwr-result.mjs.map +1 -1
- package/fesm2022/ngwr-rotating-text.mjs +3 -3
- package/fesm2022/ngwr-schema-form.mjs +40 -4
- package/fesm2022/ngwr-schema-form.mjs.map +1 -1
- package/fesm2022/ngwr-scroll.mjs +3 -3
- package/fesm2022/ngwr-segmented.mjs +3 -3
- package/fesm2022/ngwr-select.mjs +9 -9
- package/fesm2022/ngwr-shiny-text.mjs +6 -6
- package/fesm2022/ngwr-sidebar.mjs +3 -3
- package/fesm2022/ngwr-skeleton.mjs +3 -3
- package/fesm2022/ngwr-slider.mjs +18 -5
- package/fesm2022/ngwr-slider.mjs.map +1 -1
- package/fesm2022/ngwr-sparkline.mjs +3 -3
- package/fesm2022/ngwr-speed-dial.mjs +3 -3
- package/fesm2022/ngwr-spinner.mjs +3 -3
- package/fesm2022/ngwr-splash-cursor.mjs +3 -3
- package/fesm2022/ngwr-split-text.mjs +3 -3
- package/fesm2022/ngwr-splitter.mjs +3 -3
- package/fesm2022/ngwr-spotlight-card.mjs +6 -6
- package/fesm2022/ngwr-squircle.mjs +28 -9
- package/fesm2022/ngwr-squircle.mjs.map +1 -1
- package/fesm2022/ngwr-star-border.mjs +3 -3
- package/fesm2022/ngwr-statistic.mjs +20 -13
- package/fesm2022/ngwr-statistic.mjs.map +1 -1
- 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-tilt-card.mjs +6 -6
- package/fesm2022/ngwr-timeline.mjs +6 -6
- package/fesm2022/ngwr-toast.mjs +10 -10
- 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 +88 -11
- package/fesm2022/ngwr-transfer.mjs.map +1 -1
- package/fesm2022/ngwr-tree-testing.mjs +24 -0
- package/fesm2022/ngwr-tree-testing.mjs.map +1 -1
- package/fesm2022/ngwr-tree.mjs +72 -7
- package/fesm2022/ngwr-tree.mjs.map +1 -1
- package/fesm2022/ngwr-typewriter.mjs +3 -3
- package/fesm2022/ngwr-typography.mjs +3 -3
- 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-waves.mjs +3 -3
- package/fesm2022/ngwr-window.mjs +12 -12
- package/form/styles/_index.scss +63 -0
- package/i18n/ar.json +4 -2
- package/i18n/cs.json +4 -2
- package/i18n/de.json +4 -2
- package/i18n/en.json +6 -4
- package/i18n/es.json +4 -2
- package/i18n/fr.json +4 -2
- package/i18n/he.json +4 -2
- package/i18n/hi.json +4 -2
- package/i18n/id.json +4 -2
- package/i18n/it.json +4 -2
- package/i18n/ja.json +4 -2
- package/i18n/ko.json +4 -2
- package/i18n/nl.json +4 -2
- package/i18n/pl.json +4 -2
- package/i18n/pt.json +4 -2
- package/i18n/ru.json +4 -2
- package/i18n/sv.json +4 -2
- package/i18n/tr.json +4 -2
- package/i18n/uk.json +4 -2
- package/i18n/vi.json +4 -2
- package/i18n/zh-TW.json +4 -2
- package/i18n/zh.json +4 -2
- package/input-otp/styles/_index.scss +5 -1
- package/line-chart/styles/_index.scss +5 -3
- package/llms-full.txt +1 -1
- package/markdown/styles/_index.scss +4 -1
- package/mention/styles/_index.scss +22 -1
- package/package.json +1 -1
- package/radio/styles/_index.scss +3 -0
- package/result/styles/_index.scss +12 -0
- package/schematics/migrations/v14/index.js +6 -3
- package/schematics/migrations.json +1 -1
- package/schematics/ng-add/index.js +34 -5
- package/segmented/styles/_index.scss +4 -1
- package/select/styles/_index.scss +20 -1
- package/statistic/styles/_index.scss +4 -0
- package/stepper/styles/_index.scss +36 -0
- package/switch/styles/_index.scss +3 -0
- package/table/styles/_index.scss +12 -0
- package/tabs/styles/_index.scss +4 -1
- package/textarea/styles/_index.scss +6 -1
- package/theme/styles/_colors.scss +11 -0
- package/theme/styles/_contrast.scss +136 -0
- package/theme/styles/_index.scss +1 -0
- package/theme/styles/_mixins.scss +15 -8
- package/timeline/styles/_index.scss +28 -1
- package/toast/styles/_index.scss +11 -0
- package/tree/styles/_index.scss +27 -1
- package/types/ngwr-badge.d.ts +1 -1
- package/types/ngwr-bar-chart-testing.d.ts +11 -1
- package/types/ngwr-button.d.ts +1 -1
- package/types/ngwr-calendar-heatmap-testing.d.ts +10 -5
- package/types/ngwr-calendar-heatmap.d.ts +22 -0
- package/types/ngwr-calendar.d.ts +21 -0
- package/types/ngwr-cascader-testing.d.ts +74 -17
- package/types/ngwr-cascader.d.ts +28 -0
- package/types/ngwr-checkbox-testing.d.ts +12 -1
- package/types/ngwr-checkbox.d.ts +10 -0
- package/types/ngwr-clipboard.d.ts +1 -1
- package/types/ngwr-confetti.d.ts +1 -1
- package/types/ngwr-cookie.d.ts +1 -1
- package/types/ngwr-date-adapters-fns.d.ts +1 -1
- package/types/ngwr-date-adapters-luxon.d.ts +1 -1
- package/types/ngwr-date.d.ts +9 -3
- package/types/ngwr-density.d.ts +1 -1
- package/types/ngwr-dialog.d.ts +1 -1
- package/types/ngwr-donut-chart-testing.d.ts +11 -1
- package/types/ngwr-drawer.d.ts +1 -1
- package/types/ngwr-dropdown.d.ts +16 -0
- package/types/ngwr-file-upload.d.ts +11 -0
- package/types/ngwr-form.d.ts +25 -0
- package/types/ngwr-gauge-testing.d.ts +9 -1
- package/types/ngwr-hotkey.d.ts +1 -1
- package/types/ngwr-i18n.d.ts +1 -1
- package/types/ngwr-input-number.d.ts +12 -2
- package/types/ngwr-input-otp.d.ts +12 -0
- package/types/ngwr-knob-testing.d.ts +11 -3
- package/types/ngwr-knob.d.ts +13 -0
- package/types/ngwr-line-chart-testing.d.ts +11 -1
- package/types/ngwr-line-chart.d.ts +18 -0
- package/types/ngwr-loading-bar.d.ts +1 -1
- package/types/ngwr-markdown.d.ts +1 -1
- package/types/ngwr-media.d.ts +1 -1
- package/types/ngwr-meta.d.ts +1 -1
- package/types/ngwr-overlay.d.ts +2 -2
- package/types/ngwr-pagination.d.ts +16 -0
- package/types/ngwr-platform.d.ts +3 -3
- package/types/ngwr-popover.d.ts +16 -0
- package/types/ngwr-rating-testing.d.ts +12 -3
- package/types/ngwr-rating.d.ts +13 -0
- package/types/ngwr-scroll.d.ts +1 -1
- package/types/ngwr-squircle.d.ts +22 -3
- package/types/ngwr-statistic.d.ts +0 -1
- package/types/ngwr-storage.d.ts +1 -1
- package/types/ngwr-theme.d.ts +1 -1
- package/types/ngwr-toast.d.ts +1 -1
- package/types/ngwr-tour.d.ts +1 -1
- package/types/ngwr-transfer.d.ts +52 -0
- package/types/ngwr-tree-testing.d.ts +20 -0
- package/types/ngwr-tree.d.ts +41 -0
- package/types/ngwr-version.d.ts +1 -1
- package/types/ngwr-window.d.ts +1 -1
- package/typography/styles/_index.scss +26 -4
package/fesm2022/ngwr-window.mjs
CHANGED
|
@@ -572,10 +572,10 @@ class WrWindow {
|
|
|
572
572
|
this.x_.set(clamp(this.x_(), MIN_ON_VIEWPORT - w, vw - MIN_ON_VIEWPORT));
|
|
573
573
|
this.y_.set(clamp(this.y_(), 0, vh - MIN_ON_VIEWPORT));
|
|
574
574
|
}
|
|
575
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
576
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.5", type: WrWindow, isStandalone: true, selector: "wr-window", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, initialX: { classPropertyName: "initialX", publicName: "initialX", isSignal: true, isRequired: false, transformFunction: null }, initialY: { classPropertyName: "initialY", publicName: "initialY", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, initialWidth: { classPropertyName: "initialWidth", publicName: "initialWidth", isSignal: true, isRequired: false, transformFunction: null }, initialHeight: { classPropertyName: "initialHeight", publicName: "initialHeight", isSignal: true, isRequired: false, transformFunction: null }, os: { classPropertyName: "os", publicName: "os", isSignal: true, isRequired: false, transformFunction: null }, chromeSize: { classPropertyName: "chromeSize", publicName: "chromeSize", isSignal: true, isRequired: false, transformFunction: null }, animations: { classPropertyName: "animations", publicName: "animations", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, keepInViewport: { classPropertyName: "keepInViewport", publicName: "keepInViewport", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, dragHandle: { classPropertyName: "dragHandle", publicName: "dragHandle", isSignal: true, isRequired: false, transformFunction: null }, showMinimize: { classPropertyName: "showMinimize", publicName: "showMinimize", isSignal: true, isRequired: false, transformFunction: null }, showMaximize: { classPropertyName: "showMaximize", publicName: "showMaximize", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", state: "stateChange", closed: "closed", moved: "moved", resized: "resized" }, host: { attributes: { "role": "dialog" }, listeners: { "pointerdown": "focusWindow()" }, properties: { "class": "classes()", "style.left.px": "x()", "style.top.px": "y()", "style.width.px": "width()", "style.height.px": "height()", "style.z-index": "z()", "attr.aria-hidden": "!open()", "attr.aria-labelledby": "titleId" } }, ngImport: i0, template: "<!--\n The double-click gate is `!== false`, NOT `maximizeVisible()`, and the\n difference is a window nobody can get out of. The Linux preset hides the\n maximize BUTTON; the gesture is how GNOME maximizes, and it worked on every\n chrome before this input went tri-state. Gating it on button visibility would\n have killed it there \u2014 and `maximized` is reachable on Linux with no button at\n all (a snap to the top edge, `ref.maximize()`, a restored layout), after which\n every exit disappears at once: no restore-down button, no minimize button,\n `startMove` refuses while the state is not `normal`, the resize handles are not\n rendered, and the only key the window listens for is Escape, which closes it.\n An explicit `showMaximize: false` still turns the gesture off everywhere.\n-->\n<div class=\"wr-window__chrome\" (pointerdown)=\"startMove($event)\" (dblclick)=\"showMaximize() !== false && maximize()\">\n <div class=\"wr-window__title\" [attr.id]=\"titleId\">{{ title() }}</div>\n <div class=\"wr-window__title-extra\">\n <ng-content select=\"[wrWindowTitleExtra]\" />\n </div>\n\n <div class=\"wr-window__chrome-actions\">\n @if (resolvedOs() === 'macos') {\n <!-- macOS-style traffic-light cluster: close \u2192 minimize \u2192 maximize.\n Glyphs (\u00D7, \u2212, +) appear on cluster hover. -->\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path\n d=\"M2.2 2.2 L7.8 7.8 M7.8 2.2 L2.2 7.8\"\n stroke=\"currentColor\"\n stroke-width=\"1.4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n }\n @if (minimizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--minimize\"\n [attr.aria-label]=\"minimizeActionLabel()\"\n (click)=\"minimize()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <line x1=\"2\" y1=\"5\" x2=\"8\" y2=\"5\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n @if (maximizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--maximize\"\n [attr.aria-label]=\"maximizeActionLabel()\"\n (click)=\"maximize()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n @if (state() === 'maximized') {\n <path\n d=\"M3 1 L1 1 L1 3 M7 1 L9 1 L9 3 M1 7 L1 9 L3 9 M9 7 L9 9 L7 9\"\n stroke=\"currentColor\"\n stroke-width=\"1.4\"\n stroke-linecap=\"round\"\n fill=\"none\"\n />\n } @else {\n <path d=\"M2 5 L8 5 M5 2 L5 8\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" />\n }\n </svg>\n </button>\n }\n } @else {\n <!-- Windows / Linux glyph buttons. Linux hides minimize and maximize by\n DEFAULT, not by rule: `minimizeVisible()` resolves the input first, so\n `[showMinimize]=\"true\"` puts the button back \u2014 which is the only way a\n user on Linux can reach `<wr-window-taskbar>` at all. -->\n @if (minimizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--minimize\"\n [attr.aria-label]=\"minimizeActionLabel()\"\n (click)=\"minimize()\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <line x1=\"1\" y1=\"8\" x2=\"9\" y2=\"8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n\n @if (maximizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--maximize\"\n [attr.aria-label]=\"maximizeActionLabel()\"\n (click)=\"maximize()\"\n >\n @if (state() === 'maximized') {\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2.5\" width=\"6\" height=\"6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n <rect x=\"3\" y=\"1\" width=\"6\" height=\"6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n </svg>\n } @else {\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"1\" y=\"1\" width=\"8\" height=\"8\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n </svg>\n }\n </button>\n }\n\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close()\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M1 1 L9 9 M9 1 L1 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n }\n </div>\n</div>\n\n<div class=\"wr-window__body\">\n <ng-content />\n</div>\n\n<div class=\"wr-window__status-bar\">\n <ng-content select=\"[wrWindowStatusBar]\" />\n</div>\n\n@if (resizable() && state() === 'normal') {\n <span class=\"wr-window__handle wr-window__handle--t\" (pointerdown)=\"resizeT($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--r\" (pointerdown)=\"resizeR($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--b\" (pointerdown)=\"resizeB($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--l\" (pointerdown)=\"resizeL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--tl\" (pointerdown)=\"resizeTL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--tr\" (pointerdown)=\"resizeTR($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--bl\" (pointerdown)=\"resizeBL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--br\" (pointerdown)=\"resizeBR($event)\"></span>\n}\n", encapsulation: i0.ViewEncapsulation.None });
|
|
575
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindow, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
576
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: WrWindow, isStandalone: true, selector: "wr-window", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, initialX: { classPropertyName: "initialX", publicName: "initialX", isSignal: true, isRequired: false, transformFunction: null }, initialY: { classPropertyName: "initialY", publicName: "initialY", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, initialWidth: { classPropertyName: "initialWidth", publicName: "initialWidth", isSignal: true, isRequired: false, transformFunction: null }, initialHeight: { classPropertyName: "initialHeight", publicName: "initialHeight", isSignal: true, isRequired: false, transformFunction: null }, os: { classPropertyName: "os", publicName: "os", isSignal: true, isRequired: false, transformFunction: null }, chromeSize: { classPropertyName: "chromeSize", publicName: "chromeSize", isSignal: true, isRequired: false, transformFunction: null }, animations: { classPropertyName: "animations", publicName: "animations", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, movable: { classPropertyName: "movable", publicName: "movable", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, keepInViewport: { classPropertyName: "keepInViewport", publicName: "keepInViewport", isSignal: true, isRequired: false, transformFunction: null }, snap: { classPropertyName: "snap", publicName: "snap", isSignal: true, isRequired: false, transformFunction: null }, dragHandle: { classPropertyName: "dragHandle", publicName: "dragHandle", isSignal: true, isRequired: false, transformFunction: null }, showMinimize: { classPropertyName: "showMinimize", publicName: "showMinimize", isSignal: true, isRequired: false, transformFunction: null }, showMaximize: { classPropertyName: "showMaximize", publicName: "showMaximize", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", state: "stateChange", closed: "closed", moved: "moved", resized: "resized" }, host: { attributes: { "role": "dialog" }, listeners: { "pointerdown": "focusWindow()" }, properties: { "class": "classes()", "style.left.px": "x()", "style.top.px": "y()", "style.width.px": "width()", "style.height.px": "height()", "style.z-index": "z()", "attr.aria-hidden": "!open()", "attr.aria-labelledby": "titleId" } }, ngImport: i0, template: "<!--\n The double-click gate is `!== false`, NOT `maximizeVisible()`, and the\n difference is a window nobody can get out of. The Linux preset hides the\n maximize BUTTON; the gesture is how GNOME maximizes, and it worked on every\n chrome before this input went tri-state. Gating it on button visibility would\n have killed it there \u2014 and `maximized` is reachable on Linux with no button at\n all (a snap to the top edge, `ref.maximize()`, a restored layout), after which\n every exit disappears at once: no restore-down button, no minimize button,\n `startMove` refuses while the state is not `normal`, the resize handles are not\n rendered, and the only key the window listens for is Escape, which closes it.\n An explicit `showMaximize: false` still turns the gesture off everywhere.\n-->\n<div class=\"wr-window__chrome\" (pointerdown)=\"startMove($event)\" (dblclick)=\"showMaximize() !== false && maximize()\">\n <div class=\"wr-window__title\" [attr.id]=\"titleId\">{{ title() }}</div>\n <div class=\"wr-window__title-extra\">\n <ng-content select=\"[wrWindowTitleExtra]\" />\n </div>\n\n <div class=\"wr-window__chrome-actions\">\n @if (resolvedOs() === 'macos') {\n <!-- macOS-style traffic-light cluster: close \u2192 minimize \u2192 maximize.\n Glyphs (\u00D7, \u2212, +) appear on cluster hover. -->\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path\n d=\"M2.2 2.2 L7.8 7.8 M7.8 2.2 L2.2 7.8\"\n stroke=\"currentColor\"\n stroke-width=\"1.4\"\n stroke-linecap=\"round\"\n />\n </svg>\n </button>\n }\n @if (minimizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--minimize\"\n [attr.aria-label]=\"minimizeActionLabel()\"\n (click)=\"minimize()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <line x1=\"2\" y1=\"5\" x2=\"8\" y2=\"5\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n @if (maximizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--maximize\"\n [attr.aria-label]=\"maximizeActionLabel()\"\n (click)=\"maximize()\"\n >\n <svg class=\"wr-window__chrome-action-glyph\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n @if (state() === 'maximized') {\n <path\n d=\"M3 1 L1 1 L1 3 M7 1 L9 1 L9 3 M1 7 L1 9 L3 9 M9 7 L9 9 L7 9\"\n stroke=\"currentColor\"\n stroke-width=\"1.4\"\n stroke-linecap=\"round\"\n fill=\"none\"\n />\n } @else {\n <path d=\"M2 5 L8 5 M5 2 L5 8\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" />\n }\n </svg>\n </button>\n }\n } @else {\n <!-- Windows / Linux glyph buttons. Linux hides minimize and maximize by\n DEFAULT, not by rule: `minimizeVisible()` resolves the input first, so\n `[showMinimize]=\"true\"` puts the button back \u2014 which is the only way a\n user on Linux can reach `<wr-window-taskbar>` at all. -->\n @if (minimizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--minimize\"\n [attr.aria-label]=\"minimizeActionLabel()\"\n (click)=\"minimize()\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <line x1=\"1\" y1=\"8\" x2=\"9\" y2=\"8\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n\n @if (maximizeVisible()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--maximize\"\n [attr.aria-label]=\"maximizeActionLabel()\"\n (click)=\"maximize()\"\n >\n @if (state() === 'maximized') {\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2.5\" width=\"6\" height=\"6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n <rect x=\"3\" y=\"1\" width=\"6\" height=\"6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n </svg>\n } @else {\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"1\" y=\"1\" width=\"8\" height=\"8\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.2\" />\n </svg>\n }\n </button>\n }\n\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"wr-window__chrome-action wr-window__chrome-action--close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close()\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M1 1 L9 9 M9 1 L1 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n }\n }\n </div>\n</div>\n\n<div class=\"wr-window__body\">\n <ng-content />\n</div>\n\n<div class=\"wr-window__status-bar\">\n <ng-content select=\"[wrWindowStatusBar]\" />\n</div>\n\n@if (resizable() && state() === 'normal') {\n <span class=\"wr-window__handle wr-window__handle--t\" (pointerdown)=\"resizeT($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--r\" (pointerdown)=\"resizeR($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--b\" (pointerdown)=\"resizeB($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--l\" (pointerdown)=\"resizeL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--tl\" (pointerdown)=\"resizeTL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--tr\" (pointerdown)=\"resizeTR($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--bl\" (pointerdown)=\"resizeBL($event)\"></span>\n <span class=\"wr-window__handle wr-window__handle--br\" (pointerdown)=\"resizeBR($event)\"></span>\n}\n", encapsulation: i0.ViewEncapsulation.None });
|
|
577
577
|
}
|
|
578
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindow, decorators: [{
|
|
579
579
|
type: Component,
|
|
580
580
|
args: [{ selector: 'wr-window', encapsulation: ViewEncapsulation.None, host: {
|
|
581
581
|
role: 'dialog',
|
|
@@ -746,10 +746,10 @@ class WrWindowContainer {
|
|
|
746
746
|
});
|
|
747
747
|
});
|
|
748
748
|
}
|
|
749
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
750
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
749
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
750
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: WrWindowContainer, isStandalone: true, selector: "wr-window-container", viewQueries: [{ propertyName: "contentVcr", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "wrWindow", first: true, predicate: WrWindow, descendants: true, isSignal: true }], ngImport: i0, template: "<wr-window\n [open]=\"true\"\n [title]=\"ref.title()\"\n [os]=\"config.os ?? 'auto'\"\n [size]=\"config.size ?? 'md'\"\n [chromeSize]=\"config.chromeSize ?? 'md'\"\n [animations]=\"config.animations ?? true\"\n [initialX]=\"config.x ?? null\"\n [initialY]=\"config.y ?? null\"\n [initialWidth]=\"config.width ?? null\"\n [initialHeight]=\"config.height ?? null\"\n [minWidth]=\"config.minWidth ?? 220\"\n [minHeight]=\"config.minHeight ?? 140\"\n [maxWidth]=\"config.maxWidth ?? 1000000\"\n [maxHeight]=\"config.maxHeight ?? 1000000\"\n [movable]=\"config.movable ?? true\"\n [resizable]=\"config.resizable ?? true\"\n [keepInViewport]=\"config.keepInViewport ?? true\"\n [snap]=\"config.snap ?? 'none'\"\n [dragHandle]=\"config.dragHandle ?? null\"\n [showMinimize]=\"config.showMinimize ?? null\"\n [showMaximize]=\"config.showMaximize ?? null\"\n [showClose]=\"config.showClose ?? true\"\n (closed)=\"ref.close()\"\n #window\n>\n <ng-container #content />\n</wr-window>\n\n@if (window.snapTarget(); as target) {\n <div class=\"wr-window__snap-hint\" [attr.data-target]=\"target\" aria-hidden=\"true\"></div>\n}\n", dependencies: [{ kind: "component", type: WrWindow, selector: "wr-window", inputs: ["open", "state", "title", "initialX", "initialY", "size", "initialWidth", "initialHeight", "os", "chromeSize", "animations", "minWidth", "minHeight", "maxWidth", "maxHeight", "movable", "resizable", "keepInViewport", "snap", "dragHandle", "showMinimize", "showMaximize", "showClose"], outputs: ["openChange", "stateChange", "closed", "moved", "resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
751
751
|
}
|
|
752
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
752
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowContainer, decorators: [{
|
|
753
753
|
type: Component,
|
|
754
754
|
args: [{ selector: 'wr-window-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [WrWindow], template: "<wr-window\n [open]=\"true\"\n [title]=\"ref.title()\"\n [os]=\"config.os ?? 'auto'\"\n [size]=\"config.size ?? 'md'\"\n [chromeSize]=\"config.chromeSize ?? 'md'\"\n [animations]=\"config.animations ?? true\"\n [initialX]=\"config.x ?? null\"\n [initialY]=\"config.y ?? null\"\n [initialWidth]=\"config.width ?? null\"\n [initialHeight]=\"config.height ?? null\"\n [minWidth]=\"config.minWidth ?? 220\"\n [minHeight]=\"config.minHeight ?? 140\"\n [maxWidth]=\"config.maxWidth ?? 1000000\"\n [maxHeight]=\"config.maxHeight ?? 1000000\"\n [movable]=\"config.movable ?? true\"\n [resizable]=\"config.resizable ?? true\"\n [keepInViewport]=\"config.keepInViewport ?? true\"\n [snap]=\"config.snap ?? 'none'\"\n [dragHandle]=\"config.dragHandle ?? null\"\n [showMinimize]=\"config.showMinimize ?? null\"\n [showMaximize]=\"config.showMaximize ?? null\"\n [showClose]=\"config.showClose ?? true\"\n (closed)=\"ref.close()\"\n #window\n>\n <ng-container #content />\n</wr-window>\n\n@if (window.snapTarget(); as target) {\n <div class=\"wr-window__snap-hint\" [attr.data-target]=\"target\" aria-hidden=\"true\"></div>\n}\n" }]
|
|
755
755
|
}], ctorParameters: () => [], propDecorators: { contentVcr: [{ type: i0.ViewChild, args: ['content', { ...{ read: ViewContainerRef }, isSignal: true }] }], wrWindow: [{ type: i0.ViewChild, args: [i0.forwardRef(() => WrWindow), { isSignal: true }] }] } });
|
|
@@ -1270,10 +1270,10 @@ class WrWindowManager {
|
|
|
1270
1270
|
clearLayout(name) {
|
|
1271
1271
|
this.storage.remove(this.layoutKey(name));
|
|
1272
1272
|
}
|
|
1273
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1274
|
-
static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.1.
|
|
1273
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowManager, deps: [], target: i0.ɵɵFactoryTarget.Service });
|
|
1274
|
+
static ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.1.6", ngImport: i0, type: WrWindowManager });
|
|
1275
1275
|
}
|
|
1276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1276
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowManager, decorators: [{
|
|
1277
1277
|
type: Service
|
|
1278
1278
|
}] });
|
|
1279
1279
|
|
|
@@ -1336,10 +1336,10 @@ class WrWindowTaskbar {
|
|
|
1336
1336
|
event.stopPropagation();
|
|
1337
1337
|
void ref.close();
|
|
1338
1338
|
}
|
|
1339
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
1340
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
1339
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowTaskbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1340
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: WrWindowTaskbar, isStandalone: true, selector: "wr-window-taskbar", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "toolbar" }, properties: { "class": "classes()", "attr.aria-label": "railLabel()" } }, ngImport: i0, template: "@if (items().length > 0) {\n <div class=\"wr-window-taskbar__rail\">\n @for (ref of items(); track ref.id) {\n <!--\n Two SIBLING buttons in a plain container, not a close button nested\n inside the tab. The close used to be a `role=\"button\"` span with\n `tabindex=\"0\"` inside the tab's own `<button>` \u2014 interactive content\n inside interactive content, which the HTML parser and `nested-interactive`\n both object to. Nothing caught it: a taskbar tab exists only while a\n window is minimized, and the a11y sweep reads prerendered HTML, where the\n rail is not rendered at all.\n -->\n <div class=\"wr-window-taskbar__tab\">\n <button\n type=\"button\"\n class=\"wr-window-taskbar__tab-restore\"\n [attr.aria-label]=\"restoreLabel({ title: tabTitle(ref) })\"\n (click)=\"restore(ref)\"\n >\n <span class=\"wr-window-taskbar__tab-title\">{{ tabTitle(ref) }}</span>\n </button>\n <button\n type=\"button\"\n class=\"wr-window-taskbar__tab-close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close(ref, $event)\"\n >\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M1 1 L9 9 M9 1 L1 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n </div>\n }\n </div>\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1341
1341
|
}
|
|
1342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
1342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: WrWindowTaskbar, decorators: [{
|
|
1343
1343
|
type: Component,
|
|
1344
1344
|
args: [{ selector: 'wr-window-taskbar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { '[class]': 'classes()', role: 'toolbar', '[attr.aria-label]': 'railLabel()' }, template: "@if (items().length > 0) {\n <div class=\"wr-window-taskbar__rail\">\n @for (ref of items(); track ref.id) {\n <!--\n Two SIBLING buttons in a plain container, not a close button nested\n inside the tab. The close used to be a `role=\"button\"` span with\n `tabindex=\"0\"` inside the tab's own `<button>` \u2014 interactive content\n inside interactive content, which the HTML parser and `nested-interactive`\n both object to. Nothing caught it: a taskbar tab exists only while a\n window is minimized, and the a11y sweep reads prerendered HTML, where the\n rail is not rendered at all.\n -->\n <div class=\"wr-window-taskbar__tab\">\n <button\n type=\"button\"\n class=\"wr-window-taskbar__tab-restore\"\n [attr.aria-label]=\"restoreLabel({ title: tabTitle(ref) })\"\n (click)=\"restore(ref)\"\n >\n <span class=\"wr-window-taskbar__tab-title\">{{ tabTitle(ref) }}</span>\n </button>\n <button\n type=\"button\"\n class=\"wr-window-taskbar__tab-close\"\n [attr.aria-label]=\"closeLabel()\"\n (click)=\"close(ref, $event)\"\n >\n <svg width=\"9\" height=\"9\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M1 1 L9 9 M9 1 L1 9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" />\n </svg>\n </button>\n </div>\n }\n </div>\n}\n" }]
|
|
1345
1345
|
}], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }] } });
|
package/form/styles/_index.scss
CHANGED
|
@@ -88,6 +88,10 @@
|
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
// Visual states — invalid stripes the projected control too.
|
|
91
|
+
// color-ok: `danger` against the default `--wr-color-outline` separates in
|
|
92
|
+
// LIGHTNESS, not only in hue — 3.11:1 in light — so unlike two intents
|
|
93
|
+
// compared with each other this survives greyscale, and the error MESSAGE
|
|
94
|
+
// the field renders below is the channel that does the real work.
|
|
91
95
|
&--invalid &__control input,
|
|
92
96
|
&--invalid &__control textarea,
|
|
93
97
|
&--invalid &__control select,
|
|
@@ -96,4 +100,63 @@
|
|
|
96
100
|
&--invalid &__control .wr-select__trigger {
|
|
97
101
|
border-color: var(--wr-color-danger);
|
|
98
102
|
}
|
|
103
|
+
|
|
104
|
+
// The three the rule above cannot reach, each for its own reason, and each
|
|
105
|
+
// of which showed NOTHING in the error state — not a weak cue, none at all.
|
|
106
|
+
//
|
|
107
|
+
// `wr-input-group` owns the border on the WRAPPER and strips it from the
|
|
108
|
+
// inner control on purpose, so recolouring `input` repainted a border that
|
|
109
|
+
// is not there. The checkbox and the radio never had one to repaint: their
|
|
110
|
+
// box is a `<span>`, and the field could only reach a native control.
|
|
111
|
+
//
|
|
112
|
+
// Each publishes its own border hook, so this sets the hook rather than the
|
|
113
|
+
// property — the component keeps deciding where its border lives.
|
|
114
|
+
//
|
|
115
|
+
// Worth stating because the rest of this audit ran the other way: `danger`
|
|
116
|
+
// against `outline` separates in LIGHTNESS, not only in hue — 3.11:1 light,
|
|
117
|
+
// 2.90:1 dark — so unlike two intents compared with each other, this cue
|
|
118
|
+
// mostly survives a reader who cannot separate hue. Mostly: the dark figure
|
|
119
|
+
// is under the 3:1 that WCAG 1.4.11 asks of a control boundary, which is the
|
|
120
|
+
// same shortfall `--wr-color-outline` carries by decision, and it is the
|
|
121
|
+
// message underneath that does the load-bearing work either way.
|
|
122
|
+
//
|
|
123
|
+
// THE HOOK HAS TO LAND ON THE ELEMENT THAT READS IT. The checkbox declares
|
|
124
|
+
// `--wr-checkbox-border` on its host and reads it on `__box`; its own hover
|
|
125
|
+
// rule declares the same hook ON `__box`. A custom property resolves per
|
|
126
|
+
// element, so a declaration matching the element beats an inherited one from
|
|
127
|
+
// any ancestor no matter how specific that ancestor's rule is — the first
|
|
128
|
+
// version of this block set the hook on the host only, and hovering an
|
|
129
|
+
// invalid checkbox turned it back to primary. Naming the inner element takes
|
|
130
|
+
// the selector to (0,4,0), which outranks the component's (0,3,0) hover.
|
|
131
|
+
// color-ok: `danger` against the default `--wr-color-outline` separates in
|
|
132
|
+
// LIGHTNESS, not only in hue — 3.11:1 in light — so unlike two intents
|
|
133
|
+
// compared with each other this survives greyscale, and the error MESSAGE
|
|
134
|
+
// the field renders below is the channel that does the real work.
|
|
135
|
+
&--invalid &__control .wr-input-group {
|
|
136
|
+
--wr-input-group-border: var(--wr-color-danger);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// This DOES reach every box of a `<wr-checkbox-group>`, while `checkbox.ts`
|
|
140
|
+
// deliberately suppresses `aria-invalid` on the same boxes — and the two are
|
|
141
|
+
// not in conflict. A screen reader reads nine boxes SERIALLY, so nine
|
|
142
|
+
// announcements of one group error is nine times the cost; an eye takes nine
|
|
143
|
+
// red boxes in at once and reads one signal. The reason the ARIA rule exists
|
|
144
|
+
// does not transfer to the visual channel.
|
|
145
|
+
// color-ok: `danger` against the default `--wr-color-outline` separates in
|
|
146
|
+
// LIGHTNESS, not only in hue — 3.11:1 in light — so unlike two intents
|
|
147
|
+
// compared with each other this survives greyscale, and the error MESSAGE
|
|
148
|
+
// the field renders below is the channel that does the real work.
|
|
149
|
+
&--invalid &__control .wr-checkbox,
|
|
150
|
+
&--invalid &__control .wr-checkbox .wr-checkbox__box {
|
|
151
|
+
--wr-checkbox-border: var(--wr-color-danger);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// color-ok: `danger` against the default `--wr-color-outline` separates in
|
|
155
|
+
// LIGHTNESS, not only in hue — 3.11:1 in light — so unlike two intents
|
|
156
|
+
// compared with each other this survives greyscale, and the error MESSAGE
|
|
157
|
+
// the field renders below is the channel that does the real work.
|
|
158
|
+
&--invalid &__control .wr-radio,
|
|
159
|
+
&--invalid &__control .wr-radio .wr-radio__dot {
|
|
160
|
+
--wr-radio-border: var(--wr-color-danger);
|
|
161
|
+
}
|
|
99
162
|
}
|
package/i18n/ar.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "تحديد الكل",
|
|
86
86
|
"toTarget": "النقل إلى المحدد",
|
|
87
87
|
"toSource": "النقل إلى المتاح",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "اختياري"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "خريطة حرارية للتقويم"
|
|
239
|
+
"label": "خريطة حرارية للتقويم",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "مخطط خطي",
|
package/i18n/cs.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Vybrat vše",
|
|
86
86
|
"toTarget": "Přesunout mezi vybrané",
|
|
87
87
|
"toSource": "Vrátit mezi dostupné",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "nepovinné"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Kalendářní tepelná mapa"
|
|
239
|
+
"label": "Kalendářní tepelná mapa",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Spojnicový graf",
|
package/i18n/de.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Alle auswählen",
|
|
86
86
|
"toTarget": "Zur Auswahl hinzufügen",
|
|
87
87
|
"toSource": "Aus der Auswahl entfernen",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "optional"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Kalender-Heatmap"
|
|
239
|
+
"label": "Kalender-Heatmap",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Liniendiagramm",
|
package/i18n/en.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Select all",
|
|
86
86
|
"toTarget": "Move to selected",
|
|
87
87
|
"toSource": "Move to available",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "optional"
|
|
@@ -94,8 +95,8 @@
|
|
|
94
95
|
"required": "This field is required.",
|
|
95
96
|
"requiredTrue": "This field must be checked.",
|
|
96
97
|
"email": "Enter a valid email address.",
|
|
97
|
-
"minlength": "
|
|
98
|
-
"maxlength": "
|
|
98
|
+
"minlength": "Minimum length is {{requiredLength}}.",
|
|
99
|
+
"maxlength": "Maximum length is {{requiredLength}}.",
|
|
99
100
|
"min": "Enter {{min}} or more.",
|
|
100
101
|
"max": "Enter {{max}} or less.",
|
|
101
102
|
"pattern": "This value is not in the expected format.",
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Calendar heatmap"
|
|
239
|
+
"label": "Calendar heatmap",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Line chart",
|
package/i18n/es.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Seleccionar todo",
|
|
86
86
|
"toTarget": "Mover a seleccionados",
|
|
87
87
|
"toSource": "Mover a disponibles",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "opcional"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Mapa de calor del calendario"
|
|
239
|
+
"label": "Mapa de calor del calendario",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Gráfico de líneas",
|
package/i18n/fr.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Tout sélectionner",
|
|
86
86
|
"toTarget": "Déplacer vers les sélectionnés",
|
|
87
87
|
"toSource": "Déplacer vers les disponibles",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "facultatif"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Carte de chaleur du calendrier"
|
|
239
|
+
"label": "Carte de chaleur du calendrier",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Graphique en courbes",
|
package/i18n/he.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "בחירת הכול",
|
|
86
86
|
"toTarget": "העברה לנבחרים",
|
|
87
87
|
"toSource": "העברה לזמינים",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "רשות"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "מפת חום לפי תאריכים"
|
|
239
|
+
"label": "מפת חום לפי תאריכים",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "תרשים קווים",
|
package/i18n/hi.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "सभी चुनें",
|
|
86
86
|
"toTarget": "चयनित में ले जाएं",
|
|
87
87
|
"toSource": "उपलब्ध में ले जाएं",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "वैकल्पिक"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "कैलेंडर हीटमैप"
|
|
239
|
+
"label": "कैलेंडर हीटमैप",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "लाइन चार्ट",
|
package/i18n/id.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Pilih semua",
|
|
86
86
|
"toTarget": "Pindahkan ke daftar terpilih",
|
|
87
87
|
"toSource": "Pindahkan ke daftar tersedia",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "opsional"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Peta panas kalender"
|
|
239
|
+
"label": "Peta panas kalender",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Diagram garis",
|
package/i18n/it.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Seleziona tutto",
|
|
86
86
|
"toTarget": "Sposta tra i selezionati",
|
|
87
87
|
"toSource": "Sposta tra i disponibili",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "facoltativo"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Mappa di calore del calendario"
|
|
239
|
+
"label": "Mappa di calore del calendario",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Grafico a linee",
|
package/i18n/ja.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "すべて選択",
|
|
86
86
|
"toTarget": "選択済みへ移動",
|
|
87
87
|
"toSource": "選択可能へ戻す",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "任意"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "カレンダーヒートマップ"
|
|
239
|
+
"label": "カレンダーヒートマップ",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "折れ線グラフ",
|
package/i18n/ko.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "전체 선택",
|
|
86
86
|
"toTarget": "선택 목록으로 이동",
|
|
87
87
|
"toSource": "사용 가능 목록으로 이동",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "선택"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "캘린더 히트맵"
|
|
239
|
+
"label": "캘린더 히트맵",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "선 차트",
|
package/i18n/nl.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Alles selecteren",
|
|
86
86
|
"toTarget": "Toevoegen aan selectie",
|
|
87
87
|
"toSource": "Verwijderen uit selectie",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "optioneel"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Kalenderheatmap"
|
|
239
|
+
"label": "Kalenderheatmap",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Lijndiagram",
|
package/i18n/pl.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Zaznacz wszystko",
|
|
86
86
|
"toTarget": "Przenieś do wybranych",
|
|
87
87
|
"toSource": "Przenieś do dostępnych",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "opcjonalnie"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Mapa cieplna kalendarza"
|
|
239
|
+
"label": "Mapa cieplna kalendarza",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Wykres liniowy",
|
package/i18n/pt.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Selecionar tudo",
|
|
86
86
|
"toTarget": "Mover para selecionados",
|
|
87
87
|
"toSource": "Mover para disponíveis",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "opcional"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Mapa de calor do calendário"
|
|
239
|
+
"label": "Mapa de calor do calendário",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Gráfico de linhas",
|
package/i18n/ru.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Выбрать все",
|
|
86
86
|
"toTarget": "Перенести в выбранные",
|
|
87
87
|
"toSource": "Вернуть в доступные",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "необязательно"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Календарная тепловая карта"
|
|
239
|
+
"label": "Календарная тепловая карта",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Линейный график",
|
package/i18n/sv.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Markera alla",
|
|
86
86
|
"toTarget": "Flytta till valda",
|
|
87
87
|
"toSource": "Flytta till tillgängliga",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "valfritt"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Kalendervärmekarta"
|
|
239
|
+
"label": "Kalendervärmekarta",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Linjediagram",
|
package/i18n/tr.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Tümünü seç",
|
|
86
86
|
"toTarget": "Seçilenlere taşı",
|
|
87
87
|
"toSource": "Kullanılabilirlere taşı",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "isteğe bağlı"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Takvim ısı haritası"
|
|
239
|
+
"label": "Takvim ısı haritası",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Çizgi grafiği",
|
package/i18n/uk.json
CHANGED
|
@@ -85,7 +85,8 @@
|
|
|
85
85
|
"selectAll": "Вибрати всі",
|
|
86
86
|
"toTarget": "Перенести до вибраних",
|
|
87
87
|
"toSource": "Повернути до доступних",
|
|
88
|
-
"count": "{{checked}} / {{total}}"
|
|
88
|
+
"count": "{{checked}} / {{total}}",
|
|
89
|
+
"selectAllAria": "{{pane}} — {{action}}"
|
|
89
90
|
},
|
|
90
91
|
"form": {
|
|
91
92
|
"optional": "необов’язково"
|
|
@@ -235,7 +236,8 @@
|
|
|
235
236
|
"channelAlpha": "A%"
|
|
236
237
|
},
|
|
237
238
|
"calendarHeatmap": {
|
|
238
|
-
"label": "Календарна теплова карта"
|
|
239
|
+
"label": "Календарна теплова карта",
|
|
240
|
+
"cell": "{{date}}: {{count}}"
|
|
239
241
|
},
|
|
240
242
|
"lineChart": {
|
|
241
243
|
"label": "Лінійний графік",
|