@koobiq/components 20.4.1 → 21.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/accordion/accordion-trigger.scss +3 -10
- package/accordion/accordion.scss +4 -6
- package/actions-panel/actions-panel-container.scss +45 -1
- package/alert/alert.component.scss +3 -2
- package/app-switcher/_app-switcher-theme.scss +0 -4
- package/app-switcher/app-switcher-dropdown-app.scss +3 -2
- package/app-switcher/app-switcher-dropdown-site.scss +2 -1
- package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
- package/app-switcher/app-switcher-tokens.scss +15 -0
- package/app-switcher/app-switcher.scss +14 -4
- package/autocomplete/autocomplete.scss +7 -6
- package/badge/badge.component.scss +5 -8
- package/breadcrumbs/breadcrumbs.scss +25 -10
- package/button/_button-base.scss +30 -7
- package/button/_button-theme.scss +16 -0
- package/button/button-group.scss +7 -0
- package/button/button-tokens.scss +0 -2
- package/button/button.scss +34 -2
- package/button-toggle/_button-toggle-theme.scss +7 -2
- package/button-toggle/button-toggle.scss +65 -15
- package/checkbox/_checkbox-theme.scss +4 -3
- package/checkbox/checkbox.scss +3 -6
- package/clamped-text/clamped-text.scss +6 -2
- package/code-block/code-block-tokens.scss +0 -224
- package/code-block/code-block.scss +20 -9
- package/content-panel/content-panel-aside.scss +3 -2
- package/content-panel/content-panel-container.scss +37 -0
- package/content-panel/content-panel.scss +4 -3
- package/core/highlight/_highlight-theme.scss +3 -1
- package/core/option/action-container.scss +2 -2
- package/core/option/action.scss +2 -1
- package/core/option/option.scss +2 -1
- package/core/pop-up/_pop-up.scss +0 -37
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
- package/core/styles/_core.scss +3 -0
- package/core/styles/_koobiq-theme.scss +5 -6
- package/core/styles/common/_animation.scss +44 -16
- package/core/styles/common/_groups-mixins.scss +21 -19
- package/core/styles/common/_groups.scss +4 -32
- package/core/styles/common/_index.scss +0 -2
- package/core/styles/common/_link.scss +117 -0
- package/core/styles/common/_list.scss +0 -26
- package/core/styles/common/_overlay.scss +8 -10
- package/core/styles/common/_rtl.scss +0 -14
- package/core/styles/common/_select.scss +33 -15
- package/core/styles/common/_squircle.scss +63 -0
- package/core/styles/common/_tokens.scss +0 -11
- package/core/styles/common/_vendor-prefixes.scss +0 -20
- package/core/styles/functions/_timing.scss +0 -22
- package/core/styles/theming/_scrollbar-theme.scss +6 -1
- package/core/styles/theming/_theming.scss +13 -65
- package/core/styles/typography/_index.scss +0 -1
- package/core/styles/typography/_typography.scss +0 -143
- package/core/styles/visual/_body.scss +1 -6
- package/core/styles/visual/_layout.scss +0 -12
- package/datepicker/calendar-body.scss +3 -1
- package/datepicker/calendar-header.scss +0 -1
- package/datepicker/datepicker-content.scss +33 -1
- package/datepicker/datepicker-toggle.scss +0 -38
- package/dl/dl-tokens.scss +10 -0
- package/dl/dl.scss +113 -13
- package/dropdown/_dropdown-theme.scss +4 -16
- package/dropdown/dropdown-item.scss +4 -10
- package/dropdown/dropdown.scss +2 -1
- package/empty-state/_empty-state-theme.scss +10 -4
- package/empty-state/empty-state-tokens.scss +4 -4
- package/empty-state/empty-state.scss +4 -0
- package/fesm2022/koobiq-components-accordion.mjs +347 -229
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +39 -39
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +46 -48
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +332 -116
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +172 -132
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +755 -601
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +260 -143
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +4342 -1595
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +73 -36
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +447 -89
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +703 -599
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +116 -60
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +550 -290
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +79 -24
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +389 -525
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +366 -136
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +601 -459
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
- package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-link.mjs +328 -125
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +583 -433
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +55 -78
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +853 -475
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +895 -556
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +680 -310
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +684 -285
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +450 -231
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +127 -21
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +883 -693
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +207 -88
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +815 -41
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +109 -88
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
- package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-splitter.mjs +890 -501
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +63 -49
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +1062 -603
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +886 -733
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +213 -185
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +299 -147
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +233 -245
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +344 -142
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +229 -145
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +486 -165
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +177 -130
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +657 -214
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +61 -32
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +719 -488
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +1506 -558
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +290 -135
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/dropzone.scss +31 -3
- package/file-upload/file-upload-tokens.scss +2 -22
- package/file-upload/file-upload.scss +6 -0
- package/file-upload/multiple-file-upload.component.scss +14 -12
- package/file-upload/single-file-upload.component.scss +3 -2
- package/filter-bar/filters.scss +7 -0
- package/filter-bar/pipes/base-pipe.scss +3 -3
- package/filter-bar/pipes/pipe-date.scss +8 -1
- package/flag/flag-tokens.scss +22 -0
- package/flag/flag.scss +34 -21
- package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
- package/form-field/_form-field-theme.scss +4 -9
- package/form-field/cleaner.scss +3 -1
- package/form-field/fieldset.scss +3 -4
- package/form-field/form-field.scss +26 -21
- package/form-field/password-toggle.scss +3 -1
- package/icon/_icon-button-theme.scss +7 -0
- package/icon/_icon-theme.scss +10 -7
- package/icon/icon-button.scss +0 -2
- package/icon/icon-tokens.scss +12 -9
- package/inline-edit/inline-edit.scss +40 -54
- package/input/input.scss +4 -0
- package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
- package/link/deprecated/link-tokens.scss +27 -0
- package/link/link-tokens.scss +6 -25
- package/link/link.scss +137 -0
- package/list/list.scss +3 -2
- package/loader-overlay/_loader-overlay-theme.scss +19 -10
- package/loader-overlay/loader-overlay-tokens.scss +0 -2
- package/loader-overlay/loader-overlay.scss +7 -1
- package/markdown/_markdown-theme.scss +16 -0
- package/markdown/markdown-tokens.scss +5 -0
- package/markdown/markdown.scss +2 -1
- package/modal/_modal-animation.scss +23 -14
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal.scss +35 -31
- package/navbar/_navbar-item_horizontal.scss +8 -6
- package/navbar/_navbar-item_vertical.scss +18 -6
- package/navbar/_navbar-theme.scss +9 -1
- package/navbar/navbar-brand.scss +8 -6
- package/navbar/navbar-divider.scss +1 -1
- package/navbar/navbar-item.scss +8 -9
- package/navbar/navbar-toggle.scss +3 -3
- package/navbar/navbar-tokens.scss +14 -0
- package/navbar/navbar.scss +1 -2
- package/navbar/vertical-navbar.scss +2 -2
- package/notification-center/_notification-center-theme.scss +11 -6
- package/notification-center/notification-center-tokens.scss +33 -0
- package/notification-center/notification-center.scss +58 -20
- package/notification-center/notification-item.scss +15 -6
- package/package.json +112 -81
- package/popover/popover-tokens.scss +0 -2
- package/popover/popover.scss +41 -19
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +20 -3
- package/progress-bar/progress-bar-tokens.scss +3 -0
- package/progress-bar/progress-bar.scss +36 -8
- package/progress-spinner/progress-spinner.scss +4 -3
- package/radio/_radio-theme.scss +21 -4
- package/radio/radio-tokens.scss +7 -3
- package/radio/radio.scss +55 -8
- package/schematics/collection.json +399 -7
- package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
- package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
- package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
- package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
- package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
- package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
- package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
- package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
- package/schematics/migrations/alert-signals/README.md +13 -7
- package/schematics/migrations/alert-signals/data.js +3 -0
- package/schematics/migrations/alert-signals/index.js +70 -203
- package/schematics/migrations/angular-animations-removal/README.md +46 -0
- package/schematics/migrations/angular-animations-removal/data.js +150 -0
- package/schematics/migrations/angular-animations-removal/index.js +20 -0
- package/schematics/migrations/angular-animations-removal/schema.json +15 -0
- package/schematics/migrations/app-switcher-signals/README.md +88 -0
- package/schematics/migrations/app-switcher-signals/data.js +136 -0
- package/schematics/migrations/app-switcher-signals/index.js +365 -0
- package/schematics/migrations/app-switcher-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
- package/schematics/migrations/autocomplete-signals/README.md +92 -0
- package/schematics/migrations/autocomplete-signals/data.js +149 -0
- package/schematics/migrations/autocomplete-signals/index.js +706 -0
- package/schematics/migrations/autocomplete-signals/schema.json +20 -0
- package/schematics/migrations/badge-signals/README.md +77 -0
- package/schematics/migrations/badge-signals/data.js +109 -0
- package/schematics/migrations/badge-signals/index.js +693 -0
- package/schematics/migrations/badge-signals/schema.json +20 -0
- package/schematics/migrations/button-state-and-styles/README.md +129 -0
- package/schematics/migrations/button-state-and-styles/data.js +136 -0
- package/schematics/migrations/button-state-and-styles/index.js +220 -0
- package/schematics/migrations/button-state-and-styles/schema.json +20 -0
- package/schematics/migrations/button-supported-colors/README.md +73 -0
- package/schematics/migrations/button-supported-colors/data.js +106 -0
- package/schematics/migrations/button-supported-colors/index.js +260 -0
- package/schematics/migrations/button-supported-colors/schema.json +20 -0
- package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
- package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
- package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
- package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/button-truncation/README.md +110 -0
- package/schematics/migrations/button-truncation/data.js +88 -0
- package/schematics/migrations/button-truncation/index.js +269 -0
- package/schematics/migrations/button-truncation/schema.json +20 -0
- package/schematics/migrations/checkbox-signals/README.md +76 -0
- package/schematics/migrations/checkbox-signals/data.js +114 -0
- package/schematics/migrations/checkbox-signals/index.js +634 -0
- package/schematics/migrations/checkbox-signals/schema.json +20 -0
- package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
- package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
- package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
- package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
- package/schematics/migrations/code-block-signals/README.md +84 -0
- package/schematics/migrations/code-block-signals/data.js +121 -0
- package/schematics/migrations/code-block-signals/index.js +700 -0
- package/schematics/migrations/code-block-signals/schema.json +20 -0
- package/schematics/migrations/color-signals/README.md +46 -0
- package/schematics/migrations/color-signals/data.js +131 -0
- package/schematics/migrations/color-signals/index.js +19 -0
- package/schematics/migrations/color-signals/schema.json +20 -0
- package/schematics/migrations/core-mixins-removal/README.md +20 -0
- package/schematics/migrations/core-mixins-removal/data.js +27 -0
- package/schematics/migrations/core-mixins-removal/index.js +17 -0
- package/schematics/migrations/core-mixins-removal/schema.json +15 -0
- package/schematics/migrations/css-selectors/README.md +2 -2
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/datepicker-signals/README.md +24 -0
- package/schematics/migrations/datepicker-signals/data.js +49 -0
- package/schematics/migrations/datepicker-signals/index.js +17 -0
- package/schematics/migrations/datepicker-signals/schema.json +15 -0
- package/schematics/migrations/deprecated-icons/README.md +2 -2
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/design-tokens-v4/README.md +75 -0
- package/schematics/migrations/design-tokens-v4/index.js +59 -0
- package/schematics/migrations/design-tokens-v4/schema.json +15 -0
- package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
- package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
- package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
- package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
- package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
- package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
- package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
- package/schematics/migrations/dl-standalone-names/README.md +49 -0
- package/schematics/migrations/dl-standalone-names/data.js +44 -0
- package/schematics/migrations/dl-standalone-names/index.js +321 -0
- package/schematics/migrations/dl-standalone-names/schema.json +20 -0
- package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
- package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
- package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
- package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
- package/schematics/migrations/dropdown-signals/README.md +83 -0
- package/schematics/migrations/dropdown-signals/data.js +152 -0
- package/schematics/migrations/dropdown-signals/index.js +19 -0
- package/schematics/migrations/dropdown-signals/schema.json +20 -0
- package/schematics/migrations/empty-state-error-color/README.md +84 -0
- package/schematics/migrations/empty-state-error-color/data.js +85 -0
- package/schematics/migrations/empty-state-error-color/index.js +71 -0
- package/schematics/migrations/empty-state-error-color/schema.json +15 -0
- package/schematics/migrations/empty-state-size-attr/README.md +2 -2
- package/schematics/migrations/empty-state-size-attr/index.js +1 -1
- package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
- package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
- package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
- package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
- package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
- package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
- package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
- package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
- package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
- package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
- package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
- package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
- package/schematics/migrations/filter-bar-signals/README.md +27 -16
- package/schematics/migrations/filter-bar-signals/data.js +1 -2
- package/schematics/migrations/filter-bar-signals/index.js +100 -195
- package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
- package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
- package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
- package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
- package/schematics/migrations/flag-inner-html/README.md +67 -0
- package/schematics/migrations/flag-inner-html/data.js +58 -0
- package/schematics/migrations/flag-inner-html/index.js +61 -0
- package/schematics/migrations/flag-inner-html/schema.json +15 -0
- package/schematics/migrations/form-field-signals/README.md +125 -0
- package/schematics/migrations/form-field-signals/data.js +288 -0
- package/schematics/migrations/form-field-signals/index.js +382 -0
- package/schematics/migrations/form-field-signals/schema.json +20 -0
- package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
- package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
- package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
- package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
- package/schematics/migrations/icons-replacement/README.md +5 -5
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
- package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
- package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
- package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
- package/schematics/migrations/input-number-surface/README.md +140 -0
- package/schematics/migrations/input-number-surface/data.js +135 -0
- package/schematics/migrations/input-number-surface/index.js +292 -0
- package/schematics/migrations/input-number-surface/schema.json +20 -0
- package/schematics/migrations/input-signals/README.md +20 -0
- package/schematics/migrations/input-signals/data.js +30 -0
- package/schematics/migrations/input-signals/index.js +17 -0
- package/schematics/migrations/input-signals/schema.json +15 -0
- package/schematics/migrations/link-deprecated-path/README.md +144 -0
- package/schematics/migrations/link-deprecated-path/index.js +19 -0
- package/schematics/migrations/link-deprecated-path/schema.json +20 -0
- package/schematics/migrations/link-signals/README.md +71 -0
- package/schematics/migrations/link-signals/data.js +116 -0
- package/schematics/migrations/link-signals/index.js +415 -0
- package/schematics/migrations/link-signals/schema.json +20 -0
- package/schematics/migrations/list-signals/README.md +22 -0
- package/schematics/migrations/list-signals/data.js +35 -0
- package/schematics/migrations/list-signals/index.js +17 -0
- package/schematics/migrations/list-signals/schema.json +15 -0
- package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
- package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
- package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
- package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
- package/schematics/migrations/loader-overlay-signals/README.md +62 -0
- package/schematics/migrations/loader-overlay-signals/data.js +101 -0
- package/schematics/migrations/loader-overlay-signals/index.js +697 -0
- package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
- package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
- package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
- package/schematics/migrations/locale-configuration-providers/README.md +163 -0
- package/schematics/migrations/locale-configuration-providers/data.js +257 -0
- package/schematics/migrations/locale-configuration-providers/index.js +294 -0
- package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
- package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
- package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
- package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
- package/schematics/migrations/markdown-signals/README.md +58 -0
- package/schematics/migrations/markdown-signals/data.js +79 -0
- package/schematics/migrations/markdown-signals/index.js +639 -0
- package/schematics/migrations/markdown-signals/schema.json +20 -0
- package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
- package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
- package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
- package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
- package/schematics/migrations/modal-signals/README.md +88 -0
- package/schematics/migrations/modal-signals/data.js +132 -0
- package/schematics/migrations/modal-signals/index.js +19 -0
- package/schematics/migrations/modal-signals/schema.json +20 -0
- package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
- package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
- package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
- package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/new-icons-pack/README.md +10 -10
- package/schematics/migrations/new-icons-pack/index.js +1 -1
- package/schematics/migrations/notification-center-signals/README.md +67 -0
- package/schematics/migrations/notification-center-signals/data.js +66 -0
- package/schematics/migrations/notification-center-signals/index.js +61 -0
- package/schematics/migrations/notification-center-signals/schema.json +15 -0
- package/schematics/migrations/option-signals/README.md +37 -0
- package/schematics/migrations/option-signals/data.js +86 -0
- package/schematics/migrations/option-signals/index.js +19 -0
- package/schematics/migrations/option-signals/schema.json +20 -0
- package/schematics/migrations/popover-leave-delay/README.md +51 -0
- package/schematics/migrations/popover-leave-delay/data.js +61 -0
- package/schematics/migrations/popover-leave-delay/index.js +54 -0
- package/schematics/migrations/popover-leave-delay/schema.json +15 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
- package/schematics/migrations/progress-spinner-signals/README.md +72 -0
- package/schematics/migrations/progress-spinner-signals/data.js +83 -0
- package/schematics/migrations/progress-spinner-signals/index.js +694 -0
- package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
- package/schematics/migrations/query-list-signals/README.md +32 -0
- package/schematics/migrations/query-list-signals/data.js +70 -0
- package/schematics/migrations/query-list-signals/index.js +17 -0
- package/schematics/migrations/query-list-signals/schema.json +15 -0
- package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
- package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
- package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
- package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
- package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
- package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
- package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
- package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
- package/schematics/migrations/select-signal-inputs/README.md +61 -0
- package/schematics/migrations/select-signal-inputs/data.js +99 -0
- package/schematics/migrations/select-signal-inputs/index.js +57 -0
- package/schematics/migrations/select-signal-inputs/schema.json +15 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
- package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
- package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
- package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
- package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
- package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
- package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
- package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
- package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
- package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
- package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
- package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
- package/schematics/migrations/state-saving-default/README.md +67 -0
- package/schematics/migrations/state-saving-default/data.js +88 -0
- package/schematics/migrations/state-saving-default/index.js +62 -0
- package/schematics/migrations/state-saving-default/schema.json +15 -0
- package/schematics/migrations/table-cell-content/README.md +55 -0
- package/schematics/migrations/table-cell-content/data.js +66 -0
- package/schematics/migrations/table-cell-content/index.js +66 -0
- package/schematics/migrations/table-cell-content/schema.json +15 -0
- package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
- package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
- package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
- package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/tag-list-cleaner/README.md +58 -0
- package/schematics/migrations/tag-list-cleaner/data.js +42 -0
- package/schematics/migrations/tag-list-cleaner/index.js +196 -0
- package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
- package/schematics/migrations/tag-slots/README.md +41 -0
- package/schematics/migrations/tag-slots/index.js +190 -0
- package/schematics/migrations/tag-slots/schema.json +20 -0
- package/schematics/migrations/tags-signals/README.md +85 -0
- package/schematics/migrations/tags-signals/data.js +103 -0
- package/schematics/migrations/tags-signals/index.js +673 -0
- package/schematics/migrations/tags-signals/schema.json +20 -0
- package/schematics/migrations/textarea-signals/README.md +72 -0
- package/schematics/migrations/textarea-signals/data.js +121 -0
- package/schematics/migrations/textarea-signals/index.js +379 -0
- package/schematics/migrations/textarea-signals/schema.json +20 -0
- package/schematics/migrations/time-range-title-for/README.md +164 -0
- package/schematics/migrations/time-range-title-for/data.js +139 -0
- package/schematics/migrations/time-range-title-for/index.js +163 -0
- package/schematics/migrations/time-range-title-for/schema.json +20 -0
- package/schematics/migrations/timepicker-signals/README.md +78 -0
- package/schematics/migrations/timepicker-signals/data.js +82 -0
- package/schematics/migrations/timepicker-signals/index.js +709 -0
- package/schematics/migrations/timepicker-signals/schema.json +20 -0
- package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
- package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
- package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
- package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
- package/schematics/migrations/title-encapsulation/README.md +49 -0
- package/schematics/migrations/title-encapsulation/data.js +69 -0
- package/schematics/migrations/title-encapsulation/index.js +57 -0
- package/schematics/migrations/title-encapsulation/schema.json +15 -0
- package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
- package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
- package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
- package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
- package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
- package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
- package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
- package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
- package/schematics/migrations/tree-select-signals/README.md +61 -0
- package/schematics/migrations/tree-select-signals/data.js +106 -0
- package/schematics/migrations/tree-select-signals/index.js +58 -0
- package/schematics/migrations/tree-select-signals/schema.json +15 -0
- package/schematics/migrations/tree-signals/README.md +82 -0
- package/schematics/migrations/tree-signals/data.js +123 -0
- package/schematics/migrations/tree-signals/index.js +54 -0
- package/schematics/migrations/tree-signals/schema.json +15 -0
- package/schematics/migrations/tree-state-saving-default/README.md +66 -0
- package/schematics/migrations/tree-state-saving-default/data.js +78 -0
- package/schematics/migrations/tree-state-saving-default/index.js +60 -0
- package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
- package/schematics/migrations/username-pipe-injection/README.md +59 -0
- package/schematics/migrations/username-pipe-injection/data.js +78 -0
- package/schematics/migrations/username-pipe-injection/index.js +58 -0
- package/schematics/migrations/username-pipe-injection/schema.json +15 -0
- package/schematics/migrations/v20-upgrade/README.md +36 -16
- package/schematics/migrations/v20-upgrade/data.js +124 -77
- package/schematics/migrations/v20-upgrade/index.js +6 -213
- package/schematics/migrations/v21-upgrade/README.md +271 -0
- package/schematics/migrations/v21-upgrade/data.js +1371 -0
- package/schematics/migrations/v21-upgrade/index.js +94 -0
- package/schematics/migrations/v21-upgrade/schema.json +20 -0
- package/schematics/migrations/zoneless-change-detection/README.md +30 -0
- package/schematics/migrations/zoneless-change-detection/data.js +29 -0
- package/schematics/migrations/zoneless-change-detection/index.js +20 -0
- package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
- package/schematics/migrations.json +392 -2
- package/schematics/ng-add/index.js +515 -14
- package/schematics/ng-add/schema.json +15 -0
- package/schematics/utils/deprecated-path-migration.js +61 -0
- package/schematics/utils/package-config.js +9 -105
- package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
- package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
- package/scrollbar/native-scrollbar.scss +68 -0
- package/scrollbar/scrollbar-tokens.scss +13 -22
- package/scrollbar/scrollbar-track.scss +94 -0
- package/scrollbar/scrollbar-viewport.scss +33 -0
- package/scrollbar/scrollbar.scss +24 -0
- package/search-expandable/search-expandable-tokens.scss +4 -0
- package/search-expandable/search-expandable.scss +4 -2
- package/select/_select-theme.scss +3 -16
- package/select/select.scss +0 -6
- package/sidebar/sidebar.scss +20 -0
- package/sidepanel/_sidepanel-theme.scss +1 -1
- package/sidepanel/sidepanel-tokens.scss +7 -1
- package/sidepanel/sidepanel.scss +41 -5
- package/skeleton/skeleton-presets.scss +350 -0
- package/skeleton/skeleton-tokens.scss +127 -0
- package/skeleton/skeleton.scss +53 -45
- package/split-button/_split-button-theme.scss +4 -4
- package/split-button/split-button.scss +2 -6
- package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
- package/splitter/deprecated/splitter.scss +51 -0
- package/splitter/splitter-tokens.scss +19 -0
- package/splitter/splitter.scss +148 -28
- package/table/_table-theme.scss +13 -12
- package/table/table-tokens.scss +8 -0
- package/table/table.scss +47 -22
- package/tabs/_tabs-common.scss +14 -14
- package/tabs/_tabs-theme.scss +4 -5
- package/tabs/tab-body.scss +49 -1
- package/tabs/tab-header.scss +2 -1
- package/tags/tag-list.scss +4 -0
- package/tags/tag.scss +19 -1
- package/time-range/time-range.scss +9 -0
- package/timezone/timezone-option.component.scss +4 -7
- package/timezone/timezone-select.component.scss +3 -0
- package/toast/_toast-theme.scss +1 -4
- package/toast/toast-container.component.scss +19 -13
- package/toast/toast-tokens.scss +12 -6
- package/toast/toast.component.scss +42 -19
- package/toggle/_toggle-theme.scss +4 -10
- package/toggle/toggle.scss +67 -26
- package/tooltip/_tooltip-theme.scss +7 -1
- package/tooltip/tooltip-tokens.scss +1 -2
- package/tooltip/tooltip.scss +55 -9
- package/top-bar/top-bar-tokens.scss +13 -2
- package/top-bar/top-bar.scss +24 -19
- package/tree/_tree-theme.scss +0 -1
- package/tree/toggle.scss +5 -9
- package/tree/tree-option.scss +2 -4
- package/tree/tree-tokens.scss +2 -1
- package/tree/tree.scss +3 -5
- package/tree-select/_tree-select-theme.scss +4 -15
- package/tree-select/tree-select-tokens.scss +16 -0
- package/tree-select/tree-select.scss +0 -6
- package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
- package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
- package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
- package/types/koobiq-components-app-switcher.d.ts +406 -0
- package/types/koobiq-components-autocomplete.d.ts +443 -0
- package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
- package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
- package/types/koobiq-components-button-toggle.d.ts +340 -0
- package/types/koobiq-components-button.d.ts +296 -0
- package/types/koobiq-components-checkbox.d.ts +172 -0
- package/types/koobiq-components-clamped-text.d.ts +184 -0
- package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
- package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
- package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
- package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
- package/types/koobiq-components-divider.d.ts +43 -0
- package/types/koobiq-components-dl.d.ts +235 -0
- package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
- package/types/koobiq-components-ellipsis-center.d.ts +85 -0
- package/types/koobiq-components-empty-state.d.ts +106 -0
- package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
- package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
- package/types/koobiq-components-flag.d.ts +68 -0
- package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
- package/types/koobiq-components-icon.d.ts +333 -0
- package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
- package/types/koobiq-components-input.d.ts +477 -0
- package/types/koobiq-components-link-deprecated.d.ts +101 -0
- package/types/koobiq-components-link.d.ts +176 -0
- package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
- package/types/koobiq-components-loader-overlay.d.ts +101 -0
- package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
- package/types/koobiq-components-modal.d.ts +666 -0
- package/types/koobiq-components-navbar.d.ts +569 -0
- package/types/koobiq-components-notification-center.d.ts +500 -0
- package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
- package/types/koobiq-components-popover.d.ts +468 -0
- package/types/koobiq-components-progress-bar.d.ts +67 -0
- package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
- package/types/koobiq-components-radio.d.ts +294 -0
- package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
- package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
- package/types/koobiq-components-scrollbar.d.ts +154 -0
- package/types/koobiq-components-search-expandable.d.ts +164 -0
- package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
- package/types/koobiq-components-sidebar.d.ts +152 -0
- package/types/koobiq-components-sidepanel.d.ts +436 -0
- package/types/koobiq-components-skeleton.d.ts +234 -0
- package/types/koobiq-components-split-button.d.ts +65 -0
- package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
- package/types/koobiq-components-splitter.d.ts +406 -0
- package/types/koobiq-components-table.d.ts +44 -0
- package/types/koobiq-components-tabs.d.ts +888 -0
- package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
- package/types/koobiq-components-textarea.d.ts +178 -0
- package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
- package/types/koobiq-components-timepicker.d.ts +223 -0
- package/types/koobiq-components-timezone.d.ts +266 -0
- package/types/koobiq-components-title.d.ts +184 -0
- package/types/koobiq-components-toast.d.ts +289 -0
- package/types/koobiq-components-toggle.d.ts +121 -0
- package/types/koobiq-components-tooltip.d.ts +610 -0
- package/types/koobiq-components-top-bar.d.ts +61 -0
- package/types/koobiq-components-tree-select.d.ts +667 -0
- package/types/koobiq-components-tree.d.ts +1290 -0
- package/types/koobiq-components-username.d.ts +340 -0
- package/username/_username-theme.scss +35 -0
- package/username/username.scss +10 -34
- package/app-switcher/index.d.ts +0 -276
- package/autocomplete/index.d.ts +0 -286
- package/button/index.d.ts +0 -153
- package/button-toggle/index.d.ts +0 -162
- package/checkbox/index.d.ts +0 -163
- package/clamped-text/index.d.ts +0 -146
- package/core/styles/_tokens.scss +0 -7
- package/core/styles/common/_clearfix.scss +0 -13
- package/core/styles/common/_popup.scss +0 -6
- package/core/styles/functions/_index.scss +0 -3
- package/core/styles/functions/_number.scss +0 -60
- package/core/styles/functions/_string.scss +0 -18
- package/core/styles/theming/scrollbar-tokens.scss +0 -25
- package/core/styles/typography/_typography-utils.scss +0 -84
- package/divider/index.d.ts +0 -20
- package/dl/index.d.ts +0 -45
- package/ellipsis-center/index.d.ts +0 -71
- package/empty-state/index.d.ts +0 -45
- package/flag/index.d.ts +0 -44
- package/icon/index.d.ts +0 -200
- package/input/index.d.ts +0 -354
- package/link/index.d.ts +0 -56
- package/loader-overlay/index.d.ts +0 -57
- package/modal/index.d.ts +0 -339
- package/navbar/index.d.ts +0 -372
- package/notification-center/index.d.ts +0 -323
- package/popover/index.d.ts +0 -182
- package/prebuilt-themes/dark-theme.css +0 -1
- package/prebuilt-themes/light-theme.css +0 -1
- package/progress-bar/index.d.ts +0 -31
- package/radio/index.d.ts +0 -203
- package/search-expandable/index.d.ts +0 -101
- package/sidebar/index.d.ts +0 -94
- package/sidepanel/index.d.ts +0 -272
- package/skeleton/index.d.ts +0 -26
- package/split-button/index.d.ts +0 -46
- package/table/index.d.ts +0 -25
- package/tabs/index.d.ts +0 -677
- package/textarea/index.d.ts +0 -138
- package/timepicker/index.d.ts +0 -197
- package/timezone/index.d.ts +0 -125
- package/title/index.d.ts +0 -139
- package/toast/index.d.ts +0 -187
- package/toggle/index.d.ts +0 -104
- package/tooltip/index.d.ts +0 -335
- package/top-bar/index.d.ts +0 -33
- package/tree/index.d.ts +0 -802
- package/tree-select/index.d.ts +0 -475
- package/username/index.d.ts +0 -194
- /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
- /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { FocusMonitor, A11yModule } from '@angular/cdk/a11y';
|
|
1
|
+
import { _IdGenerator, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
|
|
2
2
|
import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
|
|
3
|
+
import { Platform } from '@angular/cdk/platform';
|
|
3
4
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { forwardRef, inject,
|
|
5
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
6
|
-
import { KbqColorDirective } from '@koobiq/components/core';
|
|
5
|
+
import { forwardRef, untracked, inject, Injector, input, signal, booleanAttribute, computed, contentChild, contentChildren, Renderer2, output, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, ChangeDetectorRef, viewChild, NgModule } from '@angular/core';
|
|
6
|
+
import { NG_VALUE_ACCESSOR, FormGroupDirective, NgForm, NgControl } from '@angular/forms';
|
|
7
|
+
import { KbqColorDirective, KbqErrorStateTracker, ErrorStateMatcher, kbqQueryListFrom, kbqOptionalNumberAttribute } from '@koobiq/components/core';
|
|
8
|
+
import { KbqError, KbqHint } from '@koobiq/components/form-field';
|
|
7
9
|
|
|
8
|
-
// Increasing integer for generating unique ids for radio components.
|
|
9
|
-
let nextUniqueId = 0;
|
|
10
10
|
/** Change event object emitted by KbqRadio. */
|
|
11
11
|
class KbqRadioChange {
|
|
12
12
|
constructor(
|
|
@@ -21,6 +21,7 @@ class KbqRadioChange {
|
|
|
21
21
|
/**
|
|
22
22
|
* Provider Expression that allows kbq-radio-group to register as a ControlValueAccessor. This
|
|
23
23
|
* allows it to support [(ngModel)] and ngControl.
|
|
24
|
+
*
|
|
24
25
|
* @docs-private
|
|
25
26
|
*/
|
|
26
27
|
const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
@@ -28,122 +29,237 @@ const KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
|
28
29
|
useExisting: forwardRef(() => KbqRadioGroup),
|
|
29
30
|
multi: true
|
|
30
31
|
};
|
|
31
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Selection group for `KbqRadioButton`.
|
|
34
|
+
*
|
|
35
|
+
* The host is a `radiogroup`, which is not a name-from-content role, so it reaches assistive
|
|
36
|
+
* technology unnamed unless the consumer names it. Name it with a plain `aria-label` /
|
|
37
|
+
* `aria-labelledby` attribute pointing at the visible group label: the host is the very element the
|
|
38
|
+
* consumer writes, so an input aliased to the same name would only write back what is already there —
|
|
39
|
+
* and would wipe an `[attr.aria-label]` binding, which never reaches the input.
|
|
40
|
+
*
|
|
41
|
+
* To show a validation error, bind the group to a form control and put the error text in a `kbq-error` inside the
|
|
42
|
+
* group. A `kbq-hint` put inside the group is shown under the options, below the error.
|
|
43
|
+
*/
|
|
44
|
+
class KbqRadioGroup extends KbqColorDirective {
|
|
45
|
+
/** Value of the radio button. */
|
|
46
|
+
// `value`, `selected` and `disabled` are accessors over signals, fed by aliased inputs, because code outside the
|
|
47
|
+
// template writes them too: `writeValue` and `setDisabledState` the first and last, the buttons their selection
|
|
48
|
+
// back into `selected`. `disabled` is no `model()` because it coerces with `booleanAttribute`, which a `model()`
|
|
49
|
+
// cannot carry; `value` is none because `writeValue` has to resolve the checked button synchronously before the
|
|
50
|
+
// first render, and a `model()` would also publish a `valueChange` output that duplicates `change`.
|
|
51
|
+
get value() {
|
|
52
|
+
return this._value();
|
|
53
|
+
}
|
|
54
|
+
set value(newValue) {
|
|
55
|
+
// Untracked, as the other setters and methods that select: called from a consumer's `effect()`, the selection
|
|
56
|
+
// read on the way — the group's and its buttons' — would make the effect run again whenever the user picks
|
|
57
|
+
// another button.
|
|
58
|
+
untracked(() => {
|
|
59
|
+
if (this._value() !== newValue) {
|
|
60
|
+
// Set this before proceeding to ensure no circular loop occurs with selection.
|
|
61
|
+
this._value.set(newValue);
|
|
62
|
+
this.updateSelectedRadioFromValue();
|
|
63
|
+
this.checkSelectedRadioButton();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/** Whether the radio button is selected. */
|
|
68
|
+
get selected() {
|
|
69
|
+
return this._selected();
|
|
70
|
+
}
|
|
71
|
+
set selected(selected) {
|
|
72
|
+
untracked(() => {
|
|
73
|
+
this._selected.set(selected);
|
|
74
|
+
this.value = selected ? selected.value : null;
|
|
75
|
+
this.checkSelectedRadioButton();
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/** Whether the radio group is disabled */
|
|
79
|
+
get disabled() {
|
|
80
|
+
return this._disabled();
|
|
81
|
+
}
|
|
82
|
+
set disabled(value) {
|
|
83
|
+
this._disabled.set(value);
|
|
84
|
+
}
|
|
85
|
+
ngOnChanges(changes) {
|
|
86
|
+
// A bound input is handed to its member, a bound `undefined` included;
|
|
87
|
+
// unbound, it leaves what code wrote.
|
|
88
|
+
if (changes['valueInput']) {
|
|
89
|
+
this.value = this.valueInput();
|
|
90
|
+
}
|
|
91
|
+
if (changes['selectedInput']) {
|
|
92
|
+
this.selected = this.selectedInput() ?? null;
|
|
93
|
+
}
|
|
94
|
+
if (changes['disabledInput']) {
|
|
95
|
+
const disabled = this.disabledInput();
|
|
96
|
+
if (disabled !== undefined)
|
|
97
|
+
this.disabled = disabled;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Child radio buttons. */
|
|
101
|
+
get radios() {
|
|
102
|
+
return this.radiosList();
|
|
103
|
+
}
|
|
104
|
+
checkSelectedRadioButton() {
|
|
105
|
+
untracked(() => {
|
|
106
|
+
const selected = this._selected();
|
|
107
|
+
if (selected && !selected.checked) {
|
|
108
|
+
selected.checked = true;
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
32
112
|
constructor() {
|
|
33
|
-
|
|
34
|
-
this.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
113
|
+
super();
|
|
114
|
+
this.injector = inject(Injector);
|
|
115
|
+
// The control is resolved in `ngOnInit`: `NgControl` injects the group as its value accessor, so injecting it
|
|
116
|
+
// back from the constructor is a cyclic dependency.
|
|
117
|
+
this.errorStateTracker = new KbqErrorStateTracker(inject(ErrorStateMatcher), null, inject(FormGroupDirective, { optional: true }), inject(NgForm, { optional: true }));
|
|
118
|
+
/** Whether the radio group is in an error state. */
|
|
119
|
+
this.errorState = this.errorStateTracker.errorState;
|
|
120
|
+
/** An object used to control when the error state is shown. */
|
|
121
|
+
this.errorStateMatcher = input(...(ngDevMode ? [undefined, { debugName: "errorStateMatcher" }] : /* istanbul ignore next */ []));
|
|
122
|
+
this.big = input(false, ...(ngDevMode ? [{ debugName: "big" }] : /* istanbul ignore next */ []));
|
|
123
|
+
/**
|
|
124
|
+
* Name of the radio button group. All radio buttons inside this group will use this name,
|
|
125
|
+
* unless they were given one of their own.
|
|
126
|
+
*/
|
|
127
|
+
this.name = input(inject(_IdGenerator).getId('kbq-radio-group-'), ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
128
|
+
/** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */
|
|
129
|
+
this.labelPosition = input('after', { ...(ngDevMode ? { debugName: "labelPosition" } : /* istanbul ignore next */ {}), transform: (value) => (value === 'before' ? 'before' : 'after') });
|
|
130
|
+
this._disabled = signal(false, ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
|
|
131
|
+
/** @docs-private */
|
|
132
|
+
this.valueInput = input(undefined, { ...(ngDevMode ? { debugName: "valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
|
|
133
|
+
/** @docs-private */
|
|
134
|
+
this.selectedInput = input(undefined, { ...(ngDevMode ? { debugName: "selectedInput" } : /* istanbul ignore next */ {}), alias: 'selected' });
|
|
135
|
+
/** @docs-private */
|
|
136
|
+
this.disabledInput = input(undefined, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled',
|
|
137
|
+
transform: booleanAttribute });
|
|
138
|
+
/** Whether the radio group is required */
|
|
139
|
+
this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
140
|
+
/**
|
|
141
|
+
* Value of `aria-invalid`: set whenever the group is painted as invalid.
|
|
142
|
+
*
|
|
143
|
+
* @internal
|
|
144
|
+
*/
|
|
145
|
+
this.ariaInvalid = computed(() => (this.errorState() || this.color() === 'error' ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
|
|
146
|
+
/** Error text projected into the group. */
|
|
147
|
+
this.error = contentChild(KbqError, { ...(ngDevMode ? { debugName: "error" } : /* istanbul ignore next */ {}), descendants: false });
|
|
148
|
+
/**
|
|
149
|
+
* Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the options.
|
|
150
|
+
*
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
153
|
+
this.showError = computed(() => this.errorState() && !!this.error(), ...(ngDevMode ? [{ debugName: "showError" }] : /* istanbul ignore next */ []));
|
|
154
|
+
/**
|
|
155
|
+
* Id of the element wrapping the projected `kbq-error`.
|
|
156
|
+
*
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
this.errorId = inject(_IdGenerator).getId('kbq-radio-group-error-');
|
|
160
|
+
/**
|
|
161
|
+
* Hints of the group itself, shown under the options. The hints of the buttons are their own.
|
|
162
|
+
*
|
|
163
|
+
* @internal
|
|
164
|
+
*/
|
|
165
|
+
this.hints = contentChildren(KbqHint, { ...(ngDevMode ? { debugName: "hints" } : /* istanbul ignore next */ {}), descendants: false });
|
|
166
|
+
/** Ids the group last added to `aria-describedby` of the host, so the consumer's own survive an update. */
|
|
167
|
+
this.ownDescribedByIds = [];
|
|
168
|
+
this.renderer = inject(Renderer2);
|
|
169
|
+
this.isBrowser = inject(Platform).isBrowser;
|
|
38
170
|
/**
|
|
39
171
|
* Event emitted when the group value changes.
|
|
40
172
|
* Change events are only emitted when the value changes due to user interaction with
|
|
41
173
|
* a radio button (the same behavior as `<input type-"radio">`).
|
|
42
174
|
*/
|
|
43
175
|
this.change = output();
|
|
176
|
+
this.radiosQuery = contentChildren(forwardRef(() => KbqRadioButton), { ...(ngDevMode ? { debugName: "radiosQuery" } : /* istanbul ignore next */ {}), descendants: true });
|
|
177
|
+
this.radiosList = kbqQueryListFrom(this.radiosQuery);
|
|
44
178
|
/**
|
|
45
179
|
* Selected value for group. Should equal the value of the selected radio button if there *is*
|
|
46
180
|
* a corresponding radio button with a matching value. If there is *not* such a corresponding
|
|
47
181
|
* radio button, this value persists to be applied in case a new radio button is added with a
|
|
48
182
|
* matching value.
|
|
49
183
|
*/
|
|
50
|
-
this._value = null;
|
|
51
|
-
/** The HTML name attribute applied to radio buttons in this group. */
|
|
52
|
-
this._name = `kbq-radio-group-${nextUniqueId++}`;
|
|
184
|
+
this._value = signal(null, ...(ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []));
|
|
53
185
|
/** The currently selected radio button. Should match value. */
|
|
54
|
-
this._selected = null;
|
|
186
|
+
this._selected = signal(null, ...(ngDevMode ? [{ debugName: "_selected" }] : /* istanbul ignore next */ []));
|
|
55
187
|
/** Whether the `value` has been set to its initial value. */
|
|
56
188
|
this.isInitialized = false;
|
|
57
|
-
/**
|
|
58
|
-
|
|
59
|
-
|
|
189
|
+
/**
|
|
190
|
+
* Called when the value changes. Needed to properly implement `ControlValueAccessor`.
|
|
191
|
+
*
|
|
192
|
+
* @docs-private
|
|
193
|
+
*/
|
|
60
194
|
this.controlValueAccessorChangeFn = () => { };
|
|
61
195
|
/**
|
|
62
196
|
* onTouch function registered via registerOnTouch (ControlValueAccessor).
|
|
197
|
+
*
|
|
63
198
|
* @docs-private
|
|
64
199
|
*/
|
|
65
200
|
this.onTouched = () => { };
|
|
201
|
+
// Written by hand rather than bound: the host is the element the consumer writes, and a host binding would
|
|
202
|
+
// overwrite an `[attr.aria-describedby]` the consumer binds on it. Not on the server: after hydration the ids
|
|
203
|
+
// it wrote would be read back as the consumer's own.
|
|
204
|
+
effect(() => {
|
|
205
|
+
if (!this.isBrowser)
|
|
206
|
+
return;
|
|
207
|
+
const ids = [...(this.showError() ? [this.errorId] : []), ...this.hints().map((hint) => hint.id())];
|
|
208
|
+
untracked(() => this.setDescribedByIds(ids));
|
|
209
|
+
});
|
|
66
210
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
get value() {
|
|
91
|
-
return this._value;
|
|
92
|
-
}
|
|
93
|
-
set value(newValue) {
|
|
94
|
-
if (this._value !== newValue) {
|
|
95
|
-
// Set this before proceeding to ensure no circular loop occurs with selection.
|
|
96
|
-
this._value = newValue;
|
|
97
|
-
this.updateSelectedRadioFromValue();
|
|
98
|
-
this.checkSelectedRadioButton();
|
|
211
|
+
ngOnInit() {
|
|
212
|
+
this.errorStateTracker.ngControl = this.injector.get(NgControl, null, { self: true, optional: true });
|
|
213
|
+
}
|
|
214
|
+
ngDoCheck() {
|
|
215
|
+
// Re-evaluated on every check: a submit of the parent form notifies nothing a signal could follow.
|
|
216
|
+
if (this.errorStateTracker.ngControl)
|
|
217
|
+
this.updateErrorState();
|
|
218
|
+
}
|
|
219
|
+
/** Updates the error state based on the error state matcher. */
|
|
220
|
+
updateErrorState() {
|
|
221
|
+
this.errorStateTracker.errorStateMatcher = this.errorStateMatcher();
|
|
222
|
+
this.errorStateTracker.updateErrorState();
|
|
223
|
+
}
|
|
224
|
+
/** Writes the error and the hints of the group to `aria-describedby` of the host, after the consumer's own ids. */
|
|
225
|
+
setDescribedByIds(ids) {
|
|
226
|
+
const element = this.elementRef.nativeElement;
|
|
227
|
+
const consumerIds = (element.getAttribute('aria-describedby') ?? '')
|
|
228
|
+
.split(/\s+/)
|
|
229
|
+
.filter((id) => id && !this.ownDescribedByIds.includes(id));
|
|
230
|
+
const next = [...consumerIds, ...ids];
|
|
231
|
+
this.ownDescribedByIds = ids;
|
|
232
|
+
if (next.length) {
|
|
233
|
+
this.renderer.setAttribute(element, 'aria-describedby', next.join(' '));
|
|
99
234
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// TODO: Skipped for migration because:
|
|
103
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
104
|
-
get selected() {
|
|
105
|
-
return this._selected;
|
|
106
|
-
}
|
|
107
|
-
set selected(selected) {
|
|
108
|
-
this._selected = selected;
|
|
109
|
-
this.value = selected ? selected.value : null;
|
|
110
|
-
this.checkSelectedRadioButton();
|
|
111
|
-
}
|
|
112
|
-
/** Whether the radio group is disabled */
|
|
113
|
-
// TODO: Skipped for migration because:
|
|
114
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
115
|
-
get disabled() {
|
|
116
|
-
return this._disabled;
|
|
117
|
-
}
|
|
118
|
-
set disabled(value) {
|
|
119
|
-
this._disabled = value;
|
|
120
|
-
this.markRadiosForCheck();
|
|
121
|
-
}
|
|
122
|
-
/** Whether the radio group is required */
|
|
123
|
-
// TODO: Skipped for migration because:
|
|
124
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
125
|
-
get required() {
|
|
126
|
-
return this._required;
|
|
127
|
-
}
|
|
128
|
-
set required(value) {
|
|
129
|
-
this._required = value;
|
|
130
|
-
this.markRadiosForCheck();
|
|
131
|
-
}
|
|
132
|
-
checkSelectedRadioButton() {
|
|
133
|
-
if (this._selected && !this._selected.checked) {
|
|
134
|
-
this._selected.checked = true;
|
|
235
|
+
else {
|
|
236
|
+
this.renderer.removeAttribute(element, 'aria-describedby');
|
|
135
237
|
}
|
|
136
238
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Initialize properties once content children are available.
|
|
139
|
-
* This allows us to propagate relevant attributes to associated buttons.
|
|
140
|
-
*/
|
|
141
239
|
ngAfterContentInit() {
|
|
142
240
|
// Mark this component as initialized in AfterContentInit because the initial value can
|
|
143
241
|
// possibly be set by NgModel on KbqRadioGroup, and it is possible that the OnInit of the
|
|
144
242
|
// NgModel occurs *after* the OnInit of the KbqRadioGroup.
|
|
145
243
|
this.isInitialized = true;
|
|
146
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Initialize properties once content children are available.
|
|
247
|
+
* This allows us to propagate relevant attributes to associated buttons.
|
|
248
|
+
*/
|
|
249
|
+
ngAfterContentChecked() {
|
|
250
|
+
// Syncs the list here so `changes` emits after the projected items are bound and before the host bindings.
|
|
251
|
+
this.radiosList();
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Moves focus to the checked radio button, or to the first enabled one when nothing is checked —
|
|
255
|
+
* the same rule the browser follows when the group is reached with <kbd>Tab</kbd>.
|
|
256
|
+
*/
|
|
257
|
+
focus(origin = 'program') {
|
|
258
|
+
untracked(() => {
|
|
259
|
+
const target = this._selected() ?? this.radios?.find((radio) => !radio.disabled);
|
|
260
|
+
target?.focus(origin);
|
|
261
|
+
});
|
|
262
|
+
}
|
|
147
263
|
/**
|
|
148
264
|
* Mark this group as being "touched" (for ngModel). Meant to be called by the contained
|
|
149
265
|
* radio buttons upon their blur.
|
|
@@ -156,10 +272,17 @@ class KbqRadioGroup {
|
|
|
156
272
|
/** Dispatch change event with current selection and group value. */
|
|
157
273
|
emitChangeEvent() {
|
|
158
274
|
if (this.isInitialized) {
|
|
159
|
-
this.change.emit(new KbqRadioChange(this._selected, this._value));
|
|
275
|
+
this.change.emit(new KbqRadioChange(untracked(this._selected), untracked(this._value)));
|
|
160
276
|
}
|
|
161
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Marks every radio button of the group for a change-detection check.
|
|
280
|
+
*
|
|
281
|
+
* Kept for back-compatibility. A button derives `checked` and `disabled` from signals, its own and its
|
|
282
|
+
* group's, so it re-renders on its own and nothing in the library calls this any more.
|
|
283
|
+
*/
|
|
162
284
|
markRadiosForCheck() {
|
|
285
|
+
// Kept at the DS-2196 review, like `KbqButtonToggle.markForCheck()`, which the migration guide promises stays.
|
|
163
286
|
if (this.radios) {
|
|
164
287
|
this.radios.forEach((radio) => radio.markForCheck());
|
|
165
288
|
}
|
|
@@ -169,11 +292,11 @@ class KbqRadioGroup {
|
|
|
169
292
|
*/
|
|
170
293
|
writeValue(value) {
|
|
171
294
|
this.value = value;
|
|
172
|
-
this.changeDetector.markForCheck();
|
|
173
295
|
}
|
|
174
296
|
/**
|
|
175
297
|
* Registers a callback to be triggered when the model value changes.
|
|
176
298
|
* Implemented as part of ControlValueAccessor.
|
|
299
|
+
*
|
|
177
300
|
* @param fn Callback to be registered.
|
|
178
301
|
*/
|
|
179
302
|
registerOnChange(fn) {
|
|
@@ -182,6 +305,7 @@ class KbqRadioGroup {
|
|
|
182
305
|
/**
|
|
183
306
|
* Registers a callback to be triggered when the control is touched.
|
|
184
307
|
* Implemented as part of ControlValueAccessor.
|
|
308
|
+
*
|
|
185
309
|
* @param fn Callback to be registered.
|
|
186
310
|
*/
|
|
187
311
|
registerOnTouched(fn) {
|
|
@@ -189,158 +313,229 @@ class KbqRadioGroup {
|
|
|
189
313
|
}
|
|
190
314
|
/**
|
|
191
315
|
* Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
|
|
316
|
+
*
|
|
192
317
|
* @param isDisabled Whether the control should be disabled.
|
|
193
318
|
*/
|
|
194
319
|
setDisabledState(isDisabled) {
|
|
195
320
|
this.disabled = isDisabled;
|
|
196
|
-
this.changeDetector.markForCheck();
|
|
197
|
-
}
|
|
198
|
-
updateRadioButtonNames() {
|
|
199
|
-
this.radios?.forEach((radio) => (radio.name = this.name));
|
|
200
321
|
}
|
|
201
322
|
/** Updates the `selected` radio button from the internal _value state. */
|
|
202
323
|
updateSelectedRadioFromValue() {
|
|
203
324
|
// If the value already matches the selected radio, do nothing.
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
325
|
+
const selected = this._selected();
|
|
326
|
+
const isAlreadySelected = selected !== null && selected.value === this._value();
|
|
327
|
+
// Before the content is initialized the buttons are not bound yet; each one reads the group value itself.
|
|
328
|
+
if (this.isInitialized && !isAlreadySelected) {
|
|
329
|
+
this._selected.set(null);
|
|
207
330
|
this.radios.forEach((radio) => {
|
|
208
331
|
radio.checked = this.value === radio.value;
|
|
209
332
|
if (radio.checked) {
|
|
210
|
-
this._selected
|
|
333
|
+
this._selected.set(radio);
|
|
211
334
|
}
|
|
212
335
|
});
|
|
213
336
|
}
|
|
214
337
|
}
|
|
215
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
216
|
-
/** @nocollapse */ static { this.ɵ
|
|
338
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
339
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqRadioGroup, isStandalone: true, selector: "kbq-radio-group", inputs: { errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, big: { classPropertyName: "big", publicName: "big", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, selectedInput: { classPropertyName: "selectedInput", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, properties: { "class.kbq-radio-group_normal": "!big()", "class.kbq-radio-group_big": "big()", "class.kbq-radio-group_label-before": "labelPosition() === 'before'", "class.kbq-invalid": "errorState()", "attr.aria-required": "required() ? 'true' : null", "attr.aria-invalid": "ariaInvalid()" }, classAttribute: "kbq-radio-group" }, providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "error", first: true, predicate: KbqError, isSignal: true }, { propertyName: "hints", predicate: KbqHint, isSignal: true }, { propertyName: "radiosQuery", predicate: i0.forwardRef(() => KbqRadioButton), descendants: true, isSignal: true }], exportAs: ["kbqRadioGroup"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
340
|
+
<ng-content />
|
|
341
|
+
|
|
342
|
+
<!--
|
|
343
|
+
Under the options, as in a form field: the error first, rendered only in the error state so that
|
|
344
|
+
assistive technology announces the alert as it appears, then the hints of the group.
|
|
345
|
+
-->
|
|
346
|
+
@if (showError() || hints().length) {
|
|
347
|
+
<div class="kbq-radio-group__subscript">
|
|
348
|
+
@if (showError()) {
|
|
349
|
+
<div class="kbq-radio-group__error" [id]="errorId">
|
|
350
|
+
<ng-content select="kbq-error" />
|
|
351
|
+
</div>
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
<ng-content select="kbq-hint" />
|
|
355
|
+
</div>
|
|
356
|
+
}
|
|
357
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
217
358
|
}
|
|
218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
219
|
-
type:
|
|
359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioGroup, decorators: [{
|
|
360
|
+
type: Component,
|
|
220
361
|
args: [{
|
|
221
362
|
selector: 'kbq-radio-group',
|
|
363
|
+
// Styled by `radio.scss`, which the buttons carry: the error and the hints of a group stand under its buttons.
|
|
364
|
+
template: `
|
|
365
|
+
<ng-content />
|
|
366
|
+
|
|
367
|
+
<!--
|
|
368
|
+
Under the options, as in a form field: the error first, rendered only in the error state so that
|
|
369
|
+
assistive technology announces the alert as it appears, then the hints of the group.
|
|
370
|
+
-->
|
|
371
|
+
@if (showError() || hints().length) {
|
|
372
|
+
<div class="kbq-radio-group__subscript">
|
|
373
|
+
@if (showError()) {
|
|
374
|
+
<div class="kbq-radio-group__error" [id]="errorId">
|
|
375
|
+
<ng-content select="kbq-error" />
|
|
376
|
+
</div>
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
<ng-content select="kbq-hint" />
|
|
380
|
+
</div>
|
|
381
|
+
}
|
|
382
|
+
`,
|
|
222
383
|
providers: [KBQ_RADIO_GROUP_CONTROL_VALUE_ACCESSOR],
|
|
384
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
385
|
+
encapsulation: ViewEncapsulation.None,
|
|
223
386
|
host: {
|
|
224
387
|
role: 'radiogroup',
|
|
225
388
|
class: 'kbq-radio-group',
|
|
226
389
|
'[class.kbq-radio-group_normal]': '!big()',
|
|
227
|
-
'[class.kbq-radio-group_big]': 'big()'
|
|
390
|
+
'[class.kbq-radio-group_big]': 'big()',
|
|
391
|
+
'[class.kbq-radio-group_label-before]': "labelPosition() === 'before'",
|
|
392
|
+
'[class.kbq-invalid]': 'errorState()',
|
|
393
|
+
'[attr.aria-required]': "required() ? 'true' : null",
|
|
394
|
+
// A signal of its own: the color class binding reads `color` first, and the host bindings of every group in a
|
|
395
|
+
// view run in that view's reactive consumer, where a signal read again after others costs a scan of all it has
|
|
396
|
+
// read so far.
|
|
397
|
+
'[attr.aria-invalid]': 'ariaInvalid()'
|
|
228
398
|
},
|
|
229
399
|
exportAs: 'kbqRadioGroup'
|
|
230
400
|
}]
|
|
231
|
-
}], propDecorators: { big: [{ type: i0.Input, args: [{ isSignal: true, alias: "big", required: false }] }], name: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}], labelPosition: [{
|
|
234
|
-
type: Input
|
|
235
|
-
}], value: [{
|
|
236
|
-
type: Input
|
|
237
|
-
}], selected: [{
|
|
238
|
-
type: Input
|
|
239
|
-
}], disabled: [{
|
|
240
|
-
type: Input,
|
|
241
|
-
args: [{ transform: booleanAttribute }]
|
|
242
|
-
}], required: [{
|
|
243
|
-
type: Input,
|
|
244
|
-
args: [{ transform: booleanAttribute }]
|
|
245
|
-
}], change: [{ type: i0.Output, args: ["change"] }], radios: [{
|
|
246
|
-
type: ContentChildren,
|
|
247
|
-
args: [forwardRef(() => KbqRadioButton), { descendants: true }]
|
|
248
|
-
}] } });
|
|
401
|
+
}], ctorParameters: () => [], propDecorators: { errorStateMatcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorStateMatcher", required: false }] }], big: [{ type: i0.Input, args: [{ isSignal: true, alias: "big", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], labelPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selectedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], error: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqError), { ...{ descendants: false }, isSignal: true }] }], hints: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KbqHint), { ...{ descendants: false }, isSignal: true }] }], change: [{ type: i0.Output, args: ["change"] }], radiosQuery: [{ type: i0.ContentChildren, args: [forwardRef(() => KbqRadioButton), { ...{ descendants: true }, isSignal: true }] }] } });
|
|
249
402
|
class KbqRadioButton extends KbqColorDirective {
|
|
250
403
|
/** Whether this radio button is checked. */
|
|
251
|
-
// TODO: Skipped for migration because:
|
|
252
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
253
404
|
get checked() {
|
|
254
|
-
return this._checked;
|
|
405
|
+
return this._checked();
|
|
255
406
|
}
|
|
256
407
|
set checked(value) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
408
|
+
// Untracked, as the `value` setter: called from a consumer's `effect()`, the selection read on the way — the
|
|
409
|
+
// button's, its group's and its siblings' — would make the effect run again whenever the user picks another
|
|
410
|
+
// button.
|
|
411
|
+
untracked(() => {
|
|
412
|
+
if (this._checked() !== value) {
|
|
413
|
+
this._checked.set(value);
|
|
414
|
+
if (value && this.radioGroup && this.radioGroup.value !== this.value) {
|
|
415
|
+
this.radioGroup.selected = this;
|
|
416
|
+
}
|
|
417
|
+
else if (!value && this.radioGroup && this.radioGroup.value === this.value) {
|
|
418
|
+
// When unchecking the selected radio button, update the selected radio
|
|
419
|
+
// property on the group.
|
|
420
|
+
this.radioGroup.selected = null;
|
|
421
|
+
}
|
|
422
|
+
if (value) {
|
|
423
|
+
// Notify all radio buttons with the same name to un-check.
|
|
424
|
+
this.radioDispatcher.notify(this.id(), this.name);
|
|
425
|
+
}
|
|
270
426
|
}
|
|
271
|
-
|
|
272
|
-
}
|
|
427
|
+
});
|
|
273
428
|
}
|
|
274
429
|
/** The value of this radio button. */
|
|
275
|
-
// TODO: Skipped for migration because:
|
|
276
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
277
430
|
get value() {
|
|
278
|
-
return this._value;
|
|
431
|
+
return this._value();
|
|
279
432
|
}
|
|
280
433
|
set value(value) {
|
|
281
|
-
|
|
282
|
-
this._value
|
|
283
|
-
|
|
284
|
-
if (
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
this.
|
|
434
|
+
untracked(() => {
|
|
435
|
+
if (this._value() !== value) {
|
|
436
|
+
this._value.set(value);
|
|
437
|
+
if (this.radioGroup) {
|
|
438
|
+
if (!this.checked) {
|
|
439
|
+
// Update checked when the value changed to match the radio group's value
|
|
440
|
+
this.checked = this.radioGroup.value === value;
|
|
441
|
+
}
|
|
442
|
+
if (this.checked) {
|
|
443
|
+
this.radioGroup.selected = this;
|
|
444
|
+
}
|
|
290
445
|
}
|
|
291
446
|
}
|
|
292
|
-
}
|
|
447
|
+
});
|
|
293
448
|
}
|
|
294
|
-
/** Whether the radio button is disabled. */
|
|
295
|
-
// TODO: Skipped for migration because:
|
|
296
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
449
|
+
/** Whether the radio button is disabled. A button inside a disabled group is disabled as well. */
|
|
297
450
|
get disabled() {
|
|
298
|
-
return this._disabled ||
|
|
451
|
+
return this._disabled() || !!this.radioGroup?.disabled;
|
|
299
452
|
}
|
|
300
453
|
set disabled(value) {
|
|
301
|
-
|
|
302
|
-
this._disabled = value;
|
|
303
|
-
this.changeDetector.markForCheck();
|
|
304
|
-
}
|
|
454
|
+
this._disabled.set(value);
|
|
305
455
|
}
|
|
306
|
-
|
|
307
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
456
|
+
/** Tabindex of the native input. A disabled button is taken out of the tab order. */
|
|
308
457
|
get tabIndex() {
|
|
309
|
-
return this.disabled ? -1 : this._tabIndex;
|
|
458
|
+
return this.disabled ? -1 : this._tabIndex();
|
|
310
459
|
}
|
|
311
460
|
set tabIndex(value) {
|
|
312
|
-
this._tabIndex
|
|
461
|
+
this._tabIndex.set(value);
|
|
313
462
|
}
|
|
314
|
-
/** Whether the radio button is required. */
|
|
315
|
-
// TODO: Skipped for migration because:
|
|
316
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
463
|
+
/** Whether the radio button is required. A button inside a required group is required as well. */
|
|
317
464
|
get required() {
|
|
318
|
-
return this._required ||
|
|
465
|
+
return this._required() || !!this.radioGroup?.required();
|
|
319
466
|
}
|
|
320
467
|
set required(value) {
|
|
321
|
-
this._required
|
|
468
|
+
this._required.set(value);
|
|
322
469
|
}
|
|
323
470
|
/** Whether the label should appear after or before the radio button. Defaults to 'after' */
|
|
324
|
-
// TODO: Skipped for migration because:
|
|
325
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
326
471
|
get labelPosition() {
|
|
327
|
-
return this._labelPosition ||
|
|
472
|
+
return this._labelPosition() || this.radioGroup?.labelPosition() || 'after';
|
|
328
473
|
}
|
|
329
474
|
/** @docs-private */
|
|
330
475
|
set labelPosition(value) {
|
|
331
|
-
this._labelPosition
|
|
476
|
+
this._labelPosition.set(value);
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Analog to HTML 'name' attribute used to group radios for unique selection. Defaults to the
|
|
480
|
+
* parent group's name, or — outside a group — to an id unique to this button.
|
|
481
|
+
*/
|
|
482
|
+
// An accessor rather than a plain field: the app-global UniqueSelectionDispatcher isolates its
|
|
483
|
+
// listeners by name alone, so a button that resolved to `undefined` would share one selection
|
|
484
|
+
// group with every other unnamed radio button in the application. Resolving the group's name here
|
|
485
|
+
// rather than copying it in `ngOnInit` is also what keeps an explicitly bound `[name]` alive.
|
|
486
|
+
get name() {
|
|
487
|
+
return this._name() ?? this.radioGroup?.name() ?? this.uniqueId;
|
|
488
|
+
}
|
|
489
|
+
set name(value) {
|
|
490
|
+
this._name.set(value);
|
|
332
491
|
}
|
|
333
|
-
/**
|
|
334
|
-
|
|
335
|
-
|
|
492
|
+
/**
|
|
493
|
+
* The `value` attribute of the native input. An `<input type="radio">` with no `value` submits the
|
|
494
|
+
* literal string `"on"`, so only string-like values round-trip through native form submission.
|
|
495
|
+
*/
|
|
496
|
+
get nativeValue() {
|
|
497
|
+
const value = this._value();
|
|
498
|
+
return value == null ? null : String(value);
|
|
499
|
+
}
|
|
500
|
+
ngOnChanges(changes) {
|
|
501
|
+
// A bound input is handed to its member, a bound `undefined` included;
|
|
502
|
+
// unbound, it leaves what code wrote.
|
|
503
|
+
if (changes['valueInput']) {
|
|
504
|
+
this.value = this.valueInput();
|
|
505
|
+
}
|
|
506
|
+
if (changes['checkedInput']) {
|
|
507
|
+
const checked = this.checkedInput();
|
|
508
|
+
if (checked !== undefined)
|
|
509
|
+
this.checked = checked;
|
|
510
|
+
}
|
|
511
|
+
if (changes['disabledInput']) {
|
|
512
|
+
const disabled = this.disabledInput();
|
|
513
|
+
if (disabled !== undefined)
|
|
514
|
+
this.disabled = disabled;
|
|
515
|
+
}
|
|
516
|
+
if (changes['tabIndexInput'])
|
|
517
|
+
this.tabIndex = this.tabIndexInput() ?? 0;
|
|
518
|
+
if (changes['requiredInput']) {
|
|
519
|
+
const required = this.requiredInput();
|
|
520
|
+
if (required !== undefined)
|
|
521
|
+
this.required = required;
|
|
522
|
+
}
|
|
523
|
+
if (changes['labelPositionInput']) {
|
|
524
|
+
this.labelPosition = this.labelPositionInput();
|
|
525
|
+
}
|
|
526
|
+
if (changes['nameInput']) {
|
|
527
|
+
this.name = this.nameInput();
|
|
528
|
+
}
|
|
336
529
|
}
|
|
337
530
|
constructor() {
|
|
338
|
-
const radioGroup = inject(KbqRadioGroup, { optional: true });
|
|
339
531
|
super();
|
|
340
532
|
this.changeDetector = inject(ChangeDetectorRef);
|
|
341
533
|
this.focusMonitor = inject(FocusMonitor);
|
|
342
534
|
this.radioDispatcher = inject(UniqueSelectionDispatcher);
|
|
343
|
-
this.
|
|
535
|
+
this._disabled = signal(false, ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
|
|
536
|
+
this._tabIndex = signal(0, ...(ngDevMode ? [{ debugName: "_tabIndex" }] : /* istanbul ignore next */ []));
|
|
537
|
+
/** Whether this radio is required. */
|
|
538
|
+
this._required = signal(false, ...(ngDevMode ? [{ debugName: "_required" }] : /* istanbul ignore next */ []));
|
|
344
539
|
/** The native `<input type=radio>` element */
|
|
345
540
|
this.inputElement = viewChild.required('input');
|
|
346
541
|
/**
|
|
@@ -349,19 +544,58 @@ class KbqRadioButton extends KbqColorDirective {
|
|
|
349
544
|
* the radio button (the same behavior as `<input type-"radio">`).
|
|
350
545
|
*/
|
|
351
546
|
this.change = output();
|
|
352
|
-
|
|
353
|
-
this.
|
|
547
|
+
/** The parent radio group. `null` when the button is used outside one. */
|
|
548
|
+
this.radioGroup = inject(KbqRadioGroup, { optional: true });
|
|
549
|
+
/**
|
|
550
|
+
* Whether the button takes the big size of its group.
|
|
551
|
+
*
|
|
552
|
+
* @internal
|
|
553
|
+
*/
|
|
554
|
+
this.big = computed(() => !!this.radioGroup?.big(), ...(ngDevMode ? [{ debugName: "big" }] : /* istanbul ignore next */ []));
|
|
555
|
+
this.uniqueId = inject(_IdGenerator).getId('kbq-radio-');
|
|
556
|
+
/**
|
|
557
|
+
* A unique id for the radio button. If none is supplied — or `null` is bound explicitly — it is
|
|
558
|
+
* auto-generated, so a read always yields the id the element actually carries.
|
|
559
|
+
*/
|
|
560
|
+
this.id = input(this.uniqueId, { ...(ngDevMode ? { debugName: "id" } : /* istanbul ignore next */ {}), transform: (value) => value || this.uniqueId });
|
|
561
|
+
/** ID of the native input element inside `<kbq-radio-button>` */
|
|
562
|
+
this.inputId = computed(() => `${this.id()}-input`, ...(ngDevMode ? [{ debugName: "inputId" }] : /* istanbul ignore next */ []));
|
|
563
|
+
/**
|
|
564
|
+
* ID of the element holding the option text. The native input points its `aria-labelledby` at it,
|
|
565
|
+
* so the accessible name is the option text alone rather than everything the wrapping `<label>`
|
|
566
|
+
* contains — the projected hint included.
|
|
567
|
+
*/
|
|
568
|
+
this.labelId = computed(() => `${this.id()}-label`, ...(ngDevMode ? [{ debugName: "labelId" }] : /* istanbul ignore next */ []));
|
|
569
|
+
/** Hint projected into the button, referenced by the native input's `aria-describedby`. */
|
|
570
|
+
this.hint = contentChild(KbqHint, ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
|
|
571
|
+
this._labelPosition = signal(undefined, ...(ngDevMode ? [{ debugName: "_labelPosition" }] : /* istanbul ignore next */ []));
|
|
572
|
+
this._name = signal(undefined, ...(ngDevMode ? [{ debugName: "_name" }] : /* istanbul ignore next */ []));
|
|
573
|
+
/** @docs-private */
|
|
574
|
+
this.valueInput = input(undefined, { ...(ngDevMode ? { debugName: "valueInput" } : /* istanbul ignore next */ {}), alias: 'value' });
|
|
575
|
+
/** @docs-private */
|
|
576
|
+
this.checkedInput = input(undefined, { ...(ngDevMode ? { debugName: "checkedInput" } : /* istanbul ignore next */ {}), alias: 'checked',
|
|
577
|
+
transform: booleanAttribute });
|
|
578
|
+
/** @docs-private */
|
|
579
|
+
this.disabledInput = input(undefined, { ...(ngDevMode ? { debugName: "disabledInput" } : /* istanbul ignore next */ {}), alias: 'disabled',
|
|
580
|
+
transform: booleanAttribute });
|
|
581
|
+
/** @docs-private */
|
|
582
|
+
this.tabIndexInput = input(undefined, { ...(ngDevMode ? { debugName: "tabIndexInput" } : /* istanbul ignore next */ {}), alias: 'tabIndex',
|
|
583
|
+
transform: kbqOptionalNumberAttribute });
|
|
584
|
+
/** @docs-private */
|
|
585
|
+
this.requiredInput = input(undefined, { ...(ngDevMode ? { debugName: "requiredInput" } : /* istanbul ignore next */ {}), alias: 'required',
|
|
586
|
+
transform: booleanAttribute });
|
|
587
|
+
/** @docs-private */
|
|
588
|
+
this.labelPositionInput = input(undefined, { ...(ngDevMode ? { debugName: "labelPositionInput" } : /* istanbul ignore next */ {}), alias: 'labelPosition' });
|
|
589
|
+
/** @docs-private */
|
|
590
|
+
this.nameInput = input(undefined, { ...(ngDevMode ? { debugName: "nameInput" } : /* istanbul ignore next */ {}), alias: 'name' });
|
|
354
591
|
/** Whether this radio is checked. */
|
|
355
|
-
this._checked = false;
|
|
592
|
+
this._checked = signal(false, ...(ngDevMode ? [{ debugName: "_checked" }] : /* istanbul ignore next */ []));
|
|
356
593
|
/** Value assigned to this radio. */
|
|
357
|
-
this._value = null;
|
|
594
|
+
this._value = signal(null, ...(ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []));
|
|
358
595
|
/** Unregister function for _radioDispatcher */
|
|
359
596
|
this.removeUniqueSelectionListener = () => { };
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
this.radioGroup = radioGroup;
|
|
363
|
-
this.removeUniqueSelectionListener = radioDispatcher.listen((id, name) => {
|
|
364
|
-
if (id !== this.id && name === this.name) {
|
|
597
|
+
this.removeUniqueSelectionListener = this.radioDispatcher.listen((id, name) => {
|
|
598
|
+
if (id !== this.id() && name === this.name) {
|
|
365
599
|
this.checked = false;
|
|
366
600
|
}
|
|
367
601
|
});
|
|
@@ -369,9 +603,7 @@ class KbqRadioButton extends KbqColorDirective {
|
|
|
369
603
|
ngOnInit() {
|
|
370
604
|
if (this.radioGroup) {
|
|
371
605
|
// If the radio is inside a radio group, determine if it should be checked
|
|
372
|
-
this.checked = this.radioGroup.value === this._value;
|
|
373
|
-
// Copy name from parent radio group
|
|
374
|
-
this.name = this.radioGroup.name;
|
|
606
|
+
this.checked = this.radioGroup.value === this._value();
|
|
375
607
|
}
|
|
376
608
|
}
|
|
377
609
|
ngAfterViewInit() {
|
|
@@ -385,18 +617,23 @@ class KbqRadioButton extends KbqColorDirective {
|
|
|
385
617
|
this.focusMonitor.stopMonitoring(this.elementRef);
|
|
386
618
|
this.removeUniqueSelectionListener();
|
|
387
619
|
}
|
|
388
|
-
/**
|
|
389
|
-
|
|
390
|
-
|
|
620
|
+
/**
|
|
621
|
+
* Focuses the radio button.
|
|
622
|
+
*
|
|
623
|
+
* Routed through the `FocusMonitor` so the origin is recorded: the focus ring is keyed off
|
|
624
|
+
* `.cdk-keyboard-focused`, which a bare `element.focus()` never produces.
|
|
625
|
+
*/
|
|
626
|
+
focus(origin = 'program') {
|
|
627
|
+
this.focusMonitor.focusVia(this.inputElement(), origin);
|
|
391
628
|
}
|
|
392
629
|
/**
|
|
393
630
|
* Marks the radio button as needing checking for change detection.
|
|
394
|
-
*
|
|
395
|
-
*
|
|
631
|
+
*
|
|
632
|
+
* Kept for back-compatibility. A button derives its state from signals, its own and its group's, so it
|
|
633
|
+
* re-renders on its own and nothing in the library calls this any more.
|
|
396
634
|
*/
|
|
397
635
|
markForCheck() {
|
|
398
|
-
//
|
|
399
|
-
// update radio button's status
|
|
636
|
+
// Kept at the DS-2196 review, like `KbqButtonToggle.markForCheck()`, which the migration guide promises stays.
|
|
400
637
|
this.changeDetector.markForCheck();
|
|
401
638
|
}
|
|
402
639
|
onInputClick(event) {
|
|
@@ -428,48 +665,30 @@ class KbqRadioButton extends KbqColorDirective {
|
|
|
428
665
|
}
|
|
429
666
|
/** Dispatch change event with current value. */
|
|
430
667
|
emitChangeEvent() {
|
|
431
|
-
this.change.emit(new KbqRadioChange(this, this._value));
|
|
668
|
+
this.change.emit(new KbqRadioChange(this, this._value()));
|
|
432
669
|
}
|
|
433
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
434
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.30", type: KbqRadioButton, isStandalone: true, selector: "kbq-radio-button", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, isFocused: { classPropertyName: "isFocused", publicName: "isFocused", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.kbq-radio-button_big": "radioGroup?.big()", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
670
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
671
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.25", type: KbqRadioButton, isStandalone: true, selector: "kbq-radio-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checkedInput: { classPropertyName: "checkedInput", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabIndexInput: { classPropertyName: "tabIndexInput", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: "requiredInput", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, labelPositionInput: { classPropertyName: "labelPositionInput", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, nameInput: { classPropertyName: "nameInput", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "attr.id": "id()", "class.kbq-radio-button_big": "big()", "class.kbq-selected": "checked", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-radio-button" }, queries: [{ propertyName: "hint", first: true, predicate: KbqHint, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["kbqRadioButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId()\">\n <!--\n The wrapping label would fold everything it contains \u2014 the projected hint included \u2014 into the\n accessible name, so the name is overridden with an explicit `aria-labelledby` pointing at the\n option text alone, and the hint arrives as a description instead.\n -->\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.aria-describedby]=\"hint()?.id() ?? null\"\n [attr.aria-labelledby]=\"labelId()\"\n [attr.name]=\"name\"\n [attr.value]=\"nativeValue\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId()\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\" [id]=\"labelId()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-group__subscript{display:flex;flex-direction:column;gap:var(--kbq-radio-size-normal-vertical-content-padding);margin-top:calc(var(--kbq-radio-size-normal-vertical-content-padding) - var(--kbq-radio-size-normal-vertical-gap));padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-group_label-before .kbq-radio-group__subscript{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-group_big .kbq-radio-group__subscript{margin-top:calc(var(--kbq-radio-size-big-vertical-content-padding) - var(--kbq-radio-size-big-vertical-gap));padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-group_big.kbq-radio-group_label-before .kbq-radio-group__subscript{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button{display:inline-block}.kbq-radio-label{position:relative;display:inline-flex;align-items:center;vertical-align:top;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-style:solid;border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-hint .kbq-hint__text,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-group.kbq-error .kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-error .kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-error .kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-label,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-group__subscript .kbq-hint:where(:not(.kbq-error)) .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-group_normal .kbq-radio-group__subscript .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-group_big .kbq-radio-group__subscript .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button,.kbq-radio-group__subscript{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
435
672
|
}
|
|
436
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
673
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioButton, decorators: [{
|
|
437
674
|
type: Component,
|
|
438
675
|
args: [{ selector: 'kbq-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
439
676
|
class: 'kbq-radio-button',
|
|
440
|
-
'[attr.id]': 'id',
|
|
441
|
-
'
|
|
677
|
+
'[attr.id]': 'id()',
|
|
678
|
+
// The group's `big` through a signal of the button's own: the group's host bindings read `big`, and they run in
|
|
679
|
+
// the same reactive consumer, where a signal read again after others costs a scan of all it has read so far.
|
|
680
|
+
'[class.kbq-radio-button_big]': 'big()',
|
|
442
681
|
'[class.kbq-selected]': 'checked',
|
|
443
682
|
'[class.kbq-disabled]': 'disabled'
|
|
444
|
-
}, exportAs: 'kbqRadioButton', template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId\">\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-button{display:inline-flex}.kbq-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;content:\"\";border-style:solid;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__inner-circle{border-width:0!important}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-size-big-top: var(--kbq-size-3xs);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-normal-top: 0;--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"] }]
|
|
445
|
-
}], ctorParameters: () => [], propDecorators: { checked: [{
|
|
446
|
-
type: Input,
|
|
447
|
-
args: [{ transform: booleanAttribute }]
|
|
448
|
-
}], value: [{
|
|
449
|
-
type: Input
|
|
450
|
-
}], disabled: [{
|
|
451
|
-
type: Input,
|
|
452
|
-
args: [{ transform: booleanAttribute }]
|
|
453
|
-
}], tabIndex: [{
|
|
454
|
-
type: Input,
|
|
455
|
-
args: [{ transform: numberAttribute }]
|
|
456
|
-
}], required: [{
|
|
457
|
-
type: Input,
|
|
458
|
-
args: [{ transform: booleanAttribute }]
|
|
459
|
-
}], labelPosition: [{
|
|
460
|
-
type: Input
|
|
461
|
-
}], name: [{
|
|
462
|
-
type: Input
|
|
463
|
-
}], inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], change: [{ type: i0.Output, args: ["change"] }], isFocused: [{ type: i0.Input, args: [{ isSignal: true, alias: "isFocused", required: false }] }], id: [{
|
|
464
|
-
type: Input
|
|
465
|
-
}] } });
|
|
683
|
+
}, exportAs: 'kbqRadioButton', template: "<label #label class=\"kbq-radio-label\" [attr.for]=\"inputId()\">\n <!--\n The wrapping label would fold everything it contains \u2014 the projected hint included \u2014 into the\n accessible name, so the name is overridden with an explicit `aria-labelledby` pointing at the\n option text alone, and the hint arrives as a description instead.\n -->\n <input\n #input\n type=\"radio\"\n class=\"kbq-radio-input cdk-visually-hidden\"\n [attr.aria-describedby]=\"hint()?.id() ?? null\"\n [attr.aria-labelledby]=\"labelId()\"\n [attr.name]=\"name\"\n [attr.value]=\"nativeValue\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId()\"\n [required]=\"required\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\"\n />\n\n <div class=\"kbq-radio-label-content\" [class.kbq-radio-label-before]=\"labelPosition === 'before'\">\n <div class=\"kbq-radio-button__outer-circle\">\n <div class=\"kbq-radio-button__inner-circle\"></div>\n </div>\n\n <div class=\"kbq-radio__text-container\">\n <span class=\"kbq-radio__text\" [id]=\"labelId()\">\n <ng-content />\n </span>\n\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: [".kbq-radio-group{display:inline-flex;flex-direction:column}.kbq-radio-group.kbq-radio-group_normal{gap:var(--kbq-radio-size-normal-vertical-gap)}.kbq-radio-group.kbq-radio-group_big{gap:var(--kbq-radio-size-big-vertical-gap)}.kbq-radio-group__subscript{display:flex;flex-direction:column;gap:var(--kbq-radio-size-normal-vertical-content-padding);margin-top:calc(var(--kbq-radio-size-normal-vertical-content-padding) - var(--kbq-radio-size-normal-vertical-gap));padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-group_label-before .kbq-radio-group__subscript{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-group_big .kbq-radio-group__subscript{margin-top:calc(var(--kbq-radio-size-big-vertical-content-padding) - var(--kbq-radio-size-big-vertical-gap));padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-group_big.kbq-radio-group_label-before .kbq-radio-group__subscript{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button{display:inline-block}.kbq-radio-label{position:relative;display:inline-flex;align-items:center;vertical-align:top;cursor:pointer;width:100%}.kbq-radio-label-content{display:inline-flex;position:relative;order:0;line-height:inherit;padding-left:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2);padding-right:0}.kbq-radio-label-content .kbq-radio-button__outer-circle,.kbq-radio-label-content .kbq-radio-button__inner-circle{box-sizing:content-box;position:absolute;display:flex;border-radius:50%}.kbq-radio-label-content .kbq-radio-button__outer-circle{border-style:solid;border-width:var(--kbq-radio-size-normal-outer-circle-border-width);left:0;top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-radio-size-normal-outer-size) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-normal-outer-size);height:var(--kbq-radio-size-normal-outer-size)}.kbq-radio-label-content .kbq-radio-button__inner-circle{position:relative;margin:auto;width:var(--kbq-radio-size-normal-inner-size);height:var(--kbq-radio-size-normal-inner-size)}.kbq-radio-label-content .kbq-radio__text-container{display:flex;flex-direction:column}.kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-normal-vertical-content-padding)}.kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-normal-outer-size) + var(--kbq-radio-size-normal-horizontal-content-padding) + var(--kbq-radio-size-normal-outer-circle-border-width) * 2)}.kbq-radio-label-content.kbq-radio-label-before .kbq-radio-button__outer-circle{left:unset;right:0}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content{padding-left:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__outer-circle{border-width:var(--kbq-radio-size-big-outer-circle-border-width);top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-radio-size-big-outer-size) - var(--kbq-radio-size-big-outer-circle-border-width) * 2) / 2);width:var(--kbq-radio-size-big-outer-size);height:var(--kbq-radio-size-big-outer-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-radio-button__inner-circle{width:var(--kbq-radio-size-big-inner-size);height:var(--kbq-radio-size-big-inner-size)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content .kbq-hint{margin-top:var(--kbq-radio-size-big-vertical-content-padding)}.kbq-radio-button.kbq-radio-button_big .kbq-radio-label-content.kbq-radio-label-before{padding-left:0;padding-right:calc(var(--kbq-radio-size-big-outer-size) + var(--kbq-radio-size-big-horizontal-content-padding) + var(--kbq-radio-size-big-outer-circle-border-width) * 2)}.kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-default-outer-circle-border);background:var(--kbq-radio-theme-default-outer-circle-background)}.kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-default-inner-circle-background)}.kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-hover-outer-circle-border);background:var(--kbq-radio-theme-states-hover-outer-circle-background)}.kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-hover-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-focused-outer-circle-border);background:var(--kbq-radio-theme-states-focused-outer-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-focused-inner-circle-background)}.kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-outer-circle-border);background:var(--kbq-radio-theme-states-checked-outer-circle-background)}.kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-focused-outer-circle-border);background:var(--kbq-radio-theme-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-theme-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-theme-states-disabled-outer-circle-border);background:var(--kbq-radio-theme-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-theme-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-theme-states-disabled-caption)}.kbq-radio-button{color:var(--kbq-foreground-contrast)}.kbq-radio-button.kbq-error .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-button.kbq-error .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-button.kbq-error .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__outer-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-button.kbq-error:hover .kbq-radio-button__inner-circle,.kbq-radio-button.kbq-error.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-button.kbq-error.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-button.kbq-error{color:var(--kbq-foreground-contrast)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-default-outer-circle-border);background:var(--kbq-radio-error-default-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-default-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button .kbq-hint .kbq-hint__text,.kbq-radio-group.kbq-invalid .kbq-radio-button .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-default-caption)}.kbq-radio-group.kbq-error .kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-error .kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button:hover .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-hovered .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-hover-outer-circle-border);background:var(--kbq-radio-error-states-hover-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-error .kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button:hover .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-hovered .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-hover-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-focused-outer-circle-border);background:var(--kbq-radio-error-states-focused-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-focused-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.cdk-keyboard-focused .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-focused-outer-circle-shadow)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-outer-circle-border);background:var(--kbq-radio-error-states-checked-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-focused-outer-circle-border);background:var(--kbq-radio-error-states-checked-focused-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-focused-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.cdk-keyboard-focused:not(.kbq-disabled) .kbq-radio-button__outer-circle{box-shadow:var(--kbq-radio-error-states-checked-focused-outer-circle-shadow)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-checked-disabled-outer-circle-border);background:var(--kbq-radio-error-states-checked-disabled-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-selected.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-checked-disabled-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-button__outer-circle{border-color:var(--kbq-radio-error-states-disabled-outer-circle-border);background:var(--kbq-radio-error-states-disabled-outer-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-button__inner-circle{background:var(--kbq-radio-error-states-disabled-inner-circle-background)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-radio-label,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-radio-label{cursor:default;color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-group.kbq-error .kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text,.kbq-radio-group.kbq-invalid .kbq-radio-button.kbq-disabled .kbq-hint .kbq-hint__text{color:var(--kbq-radio-error-states-disabled-caption)}.kbq-radio-group__subscript .kbq-hint:where(:not(.kbq-error)) .kbq-hint__text{color:var(--kbq-radio-theme-default-caption)}.kbq-radio-button{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-button .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-button.kbq-radio-button_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-radio-button.kbq-radio-button_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-radio-group_normal .kbq-radio-group__subscript .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-radio-group_big .kbq-radio-group__subscript .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}\n", ".kbq-radio-group{--kbq-radio-size-big-vertical-gap: var(--kbq-size-m);--kbq-radio-size-normal-vertical-gap: var(--kbq-size-s);--kbq-radio-theme-default-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-default-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-default-inner-circle-background: transparent;--kbq-radio-theme-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-theme-states-hover-outer-circle-border: var(--kbq-line-contrast-fade);--kbq-radio-theme-states-hover-outer-circle-background: var(--kbq-states-background-transparent-hover);--kbq-radio-theme-states-hover-inner-circle-background: transparent;--kbq-radio-theme-states-checked-outer-circle-border: transparent;--kbq-radio-theme-states-checked-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-hover-outer-circle-border: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-outer-circle-background: var(--kbq-states-background-theme-hover);--kbq-radio-theme-states-checked-hover-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-theme-states-focused-outer-circle-border: transparent;--kbq-radio-theme-states-focused-outer-circle-background: var(--kbq-background-bg);--kbq-radio-theme-states-focused-inner-circle-background: transparent;--kbq-radio-theme-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-checked-focused-outer-circle-border: transparent;--kbq-radio-theme-states-checked-focused-outer-circle-background: var(--kbq-background-theme);--kbq-radio-theme-states-checked-focused-inner-circle-background: var(--kbq-foreground-white);--kbq-radio-theme-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-theme);--kbq-radio-theme-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-theme-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-theme-states-disabled-inner-circle-background: transparent;--kbq-radio-theme-states-disabled-caption: var(--kbq-states-foreground-disabled);--kbq-radio-error-default-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-default-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-default-inner-circle-background: transparent;--kbq-radio-error-default-caption: var(--kbq-foreground-contrast-secondary);--kbq-radio-error-states-hover-outer-circle-border: var(--kbq-line-error);--kbq-radio-error-states-hover-outer-circle-background: var(--kbq-states-background-error-fade-hover);--kbq-radio-error-states-hover-inner-circle-background: transparent;--kbq-radio-error-states-checked-outer-circle-border: transparent;--kbq-radio-error-states-checked-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-hover-outer-circle-border: transparent;--kbq-radio-error-states-checked-hover-outer-circle-background: var(--kbq-states-background-error-hover);--kbq-radio-error-states-checked-hover-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-checked-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-checked-disabled-inner-circle-background: var(--kbq-states-icon-disabled);--kbq-radio-error-states-focused-outer-circle-border: transparent;--kbq-radio-error-states-focused-outer-circle-background: var(--kbq-background-error-less);--kbq-radio-error-states-focused-inner-circle-background: transparent;--kbq-radio-error-states-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-checked-focused-outer-circle-border: transparent;--kbq-radio-error-states-checked-focused-outer-circle-background: var(--kbq-background-error);--kbq-radio-error-states-checked-focused-inner-circle-background: var(--kbq-icon-white);--kbq-radio-error-states-checked-focused-outer-circle-shadow: 0 0 .1px 2px var(--kbq-states-line-focus-error);--kbq-radio-error-states-disabled-outer-circle-border: var(--kbq-states-line-disabled);--kbq-radio-error-states-disabled-outer-circle-background: var(--kbq-states-background-disabled);--kbq-radio-error-states-disabled-inner-circle-background: transparent;--kbq-radio-error-states-disabled-caption: var(--kbq-states-foreground-disabled)}.kbq-radio-button,.kbq-radio-group__subscript{--kbq-radio-size-normal-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-normal-outer-size: calc( var(--kbq-size-l) - var(--kbq-radio-size-normal-outer-circle-border-width) * 2 );--kbq-radio-size-normal-inner-size: var(--kbq-size-xs);--kbq-radio-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-normal-vertical-content-padding: var(--kbq-size-3xs);--kbq-radio-size-big-outer-circle-border-width: var(--kbq-size-border-width);--kbq-radio-size-big-outer-size: calc(var(--kbq-size-l) - var(--kbq-radio-size-big-outer-circle-border-width) * 2);--kbq-radio-size-big-inner-size: var(--kbq-size-xs);--kbq-radio-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-radio-size-big-vertical-content-padding: var(--kbq-size-3xs)}\n"] }]
|
|
684
|
+
}], ctorParameters: () => [], propDecorators: { inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], change: [{ type: i0.Output, args: ["change"] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], hint: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqHint), { isSignal: true }] }], valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], checkedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabIndexInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], requiredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], labelPositionInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], nameInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }] } });
|
|
466
685
|
|
|
467
686
|
class KbqRadioModule {
|
|
468
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
469
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
470
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
687
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
688
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioModule, imports: [A11yModule, KbqRadioGroup, KbqRadioButton], exports: [KbqRadioGroup, KbqRadioButton] }); }
|
|
689
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioModule, imports: [A11yModule] }); }
|
|
471
690
|
}
|
|
472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
691
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqRadioModule, decorators: [{
|
|
473
692
|
type: NgModule,
|
|
474
693
|
args: [{
|
|
475
694
|
imports: [A11yModule, KbqRadioGroup, KbqRadioButton],
|