@koobiq/components 21.0.1 → 21.1.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/badge/_badge-theme.scss +31 -0
- package/breadcrumbs/breadcrumbs.scss +5 -1
- package/checkbox/_checkbox-theme.scss +0 -17
- package/checkbox/checkbox-tokens.scss +0 -4
- package/code-block/_code-block-theme.scss +7 -6
- package/code-block/code-block-tokens.scss +8 -4
- package/code-block/code-block.scss +54 -32
- package/content-panel/content-panel-header.scss +2 -3
- package/content-panel/content-panel.scss +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox-tokens.scss +0 -2
- package/fesm2022/koobiq-components-accordion.mjs +4 -4
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +10 -2
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +2 -2
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -8
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +78 -10
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +63 -379
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +4 -4
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +300 -37
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +151 -60
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +3 -3
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +3 -3
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +17 -8
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +115 -36
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +3 -3
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +90 -27
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -2
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +19 -2
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +76 -17
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +1 -1
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +3 -3
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +86 -25
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +4 -4
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +116 -38
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +86 -7
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +41 -19
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +29 -17
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +49 -12
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +198 -186
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +49 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +30 -11
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +1 -1
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +28 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +2 -2
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +71 -16
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +2 -2
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +2 -2
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +25 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +90 -17
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +27 -7
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +4 -4
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +71 -27
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +0 -12
- package/file-upload/file-upload-tokens.scss +0 -1
- package/file-upload/file-upload.scss +0 -1
- package/filter-bar/_filter-bar-theme.scss +7 -8
- package/filter-bar/filter-bar.scss +0 -1
- package/filter-bar/pipes/base-pipe.scss +36 -2
- package/filter-bar/pipes/pipe-multi-tree-select.scss +27 -0
- package/form-field/_fieldset-theme.scss +2 -7
- package/form-field/_form-field-theme.scss +9 -22
- package/form-field/_hint-theme.scss +20 -0
- package/form-field/fieldset-tokens.scss +0 -1
- package/form-field/fieldset.scss +0 -3
- package/form-field/form-field-tokens.scss +1 -1
- package/form-field/form-field.scss +9 -0
- package/form-field/hint-tokens.scss +3 -0
- package/modal/modal.scss +2 -0
- package/navbar/_navbar-item_vertical.scss +48 -2
- package/navbar/_navbar-theme.scss +11 -3
- package/navbar/navbar-item.scss +17 -0
- package/navbar/navbar-tokens.scss +3 -0
- package/package.json +4 -4
- package/popover/popover.scss +1 -1
- package/radio/_radio-theme.scss +0 -30
- package/radio/radio-tokens.scss +0 -2
- package/schematics/migrations/deprecated-icons/README.md +21 -5
- package/schematics/migrations/deprecated-icons/index.cjs +8 -22
- package/schematics/migrations/deprecated-icons/schema.json +1 -1
- package/schematics/migrations/icons-replacement/README.md +16 -2
- package/schematics/migrations/icons-replacement/index.cjs +18 -16
- package/schematics/migrations/icons-replacement/schema.json +12 -3
- package/schematics/migrations/new-icons-pack/README.md +37 -25
- package/schematics/migrations/new-icons-pack/index.cjs +22 -32
- package/schematics/migrations/new-icons-pack/replacement.json +2 -14
- package/schematics/migrations/new-icons-pack/schema.json +3 -3
- package/schematics/ng-add/index.cjs +4 -4
- package/schematics/utils/custom-data.cjs +64 -0
- package/schematics/utils/icon-migration.cjs +9 -3
- package/schematics/utils/messages.cjs +4 -0
- package/schematics/utils/package-config.cjs +19 -0
- package/select/select.scss +7 -0
- package/tabs/_tabs-common.scss +23 -0
- package/textarea/textarea-tokens.scss +4 -1
- package/toast/toast.component.scss +1 -0
- package/toggle/_toggle-theme.scss +0 -17
- package/tooltip/tooltip.scss +1 -1
- package/top-bar/top-bar-tokens.scss +1 -0
- package/top-bar/top-bar.scss +10 -0
- package/types/koobiq-components-accordion.d.ts +25 -0
- package/types/koobiq-components-button-toggle.d.ts +6 -0
- package/types/koobiq-components-checkbox.d.ts +30 -0
- package/types/koobiq-components-clamped-text.d.ts +16 -3
- package/types/koobiq-components-code-block.d.ts +17 -3
- package/types/koobiq-components-core.d.ts +226 -13
- package/types/koobiq-components-datepicker.d.ts +28 -1
- package/types/koobiq-components-divider.d.ts +28 -10
- package/types/koobiq-components-dropdown.d.ts +19 -0
- package/types/koobiq-components-filter-bar.d.ts +77 -4
- package/types/koobiq-components-flag.d.ts +18 -0
- package/types/koobiq-components-form-field.d.ts +87 -6
- package/types/koobiq-components-icon.d.ts +15 -0
- package/types/koobiq-components-inline-edit.d.ts +8 -1
- package/types/koobiq-components-input.d.ts +22 -3
- package/types/koobiq-components-list.d.ts +6 -0
- package/types/koobiq-components-modal.d.ts +7 -0
- package/types/koobiq-components-navbar.d.ts +71 -7
- package/types/koobiq-components-notification-center.d.ts +13 -0
- package/types/koobiq-components-overflow-items.d.ts +26 -2
- package/types/koobiq-components-popover.d.ts +38 -3
- package/types/koobiq-components-radio.d.ts +30 -0
- package/types/koobiq-components-search-expandable.d.ts +10 -0
- package/types/koobiq-components-select.d.ts +36 -4
- package/types/koobiq-components-sidepanel.d.ts +52 -1
- package/types/koobiq-components-splitter.d.ts +13 -4
- package/types/koobiq-components-tabs.d.ts +4 -0
- package/types/koobiq-components-tags.d.ts +6 -0
- package/types/koobiq-components-textarea.d.ts +9 -2
- package/types/koobiq-components-timepicker.d.ts +15 -0
- package/types/koobiq-components-toggle.d.ts +30 -0
- package/types/koobiq-components-tooltip.d.ts +55 -10
- package/types/koobiq-components-top-bar.d.ts +11 -3
- package/types/koobiq-components-tree-select.d.ts +12 -0
- package/types/koobiq-components-tree.d.ts +37 -2
|
@@ -6,7 +6,7 @@ import { NgControl, FormGroupDirective, NgForm } from '@angular/forms';
|
|
|
6
6
|
import { KBQ_CHECKBOX_CLICK_ACTION } from '@koobiq/components/checkbox';
|
|
7
7
|
import * as i1 from '@koobiq/components/core';
|
|
8
8
|
import { KbqColorDirective, KbqCheckable, KbqErrorStateTracker, ErrorStateMatcher, kbqAnimationsDisabled, KBQ_CHECKABLE_CLICK_ACTION, kbqOptionalNumberAttribute, TransitionCheckState } from '@koobiq/components/core';
|
|
9
|
-
import { KbqError } from '@koobiq/components/form-field';
|
|
9
|
+
import { KbqError, kbqHintParentFactoryProvider } from '@koobiq/components/form-field';
|
|
10
10
|
|
|
11
11
|
/** Change event object emitted by `KbqToggleComponent`. */
|
|
12
12
|
class KbqToggleChange {
|
|
@@ -107,13 +107,13 @@ class KbqToggleComponent extends KbqColorDirective {
|
|
|
107
107
|
/**
|
|
108
108
|
* Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the label.
|
|
109
109
|
*
|
|
110
|
-
* @
|
|
110
|
+
* @docs-private
|
|
111
111
|
*/
|
|
112
112
|
this.showError = computed(() => this.errorState() && !!this.error(), ...(ngDevMode ? [{ debugName: "showError" }] : /* istanbul ignore next */ []));
|
|
113
113
|
/**
|
|
114
114
|
* Value of `aria-invalid` of the native input: set whenever the toggle is painted as invalid.
|
|
115
115
|
*
|
|
116
|
-
* @
|
|
116
|
+
* @docs-private
|
|
117
117
|
*/
|
|
118
118
|
this.ariaInvalid = computed(() => (this.errorState() || this.color() === 'error' ? 'true' : null), ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
|
|
119
119
|
this.big = input(false, ...(ngDevMode ? [{ debugName: "big" }] : /* istanbul ignore next */ []));
|
|
@@ -243,7 +243,7 @@ class KbqToggleComponent extends KbqColorDirective {
|
|
|
243
243
|
/**
|
|
244
244
|
* Id of the element wrapping the projected `kbq-error`.
|
|
245
245
|
*
|
|
246
|
-
* @
|
|
246
|
+
* @docs-private
|
|
247
247
|
*/
|
|
248
248
|
get errorId() {
|
|
249
249
|
return `${this.id || this.uniqueId}-error`;
|
|
@@ -251,7 +251,7 @@ class KbqToggleComponent extends KbqColorDirective {
|
|
|
251
251
|
/**
|
|
252
252
|
* Id of the label text, which names the native input unless `aria-label` or `aria-labelledby` is given.
|
|
253
253
|
*
|
|
254
|
-
* @
|
|
254
|
+
* @docs-private
|
|
255
255
|
*/
|
|
256
256
|
get labelId() {
|
|
257
257
|
return `${this.id || this.uniqueId}-label`;
|
|
@@ -259,7 +259,7 @@ class KbqToggleComponent extends KbqColorDirective {
|
|
|
259
259
|
/**
|
|
260
260
|
* The error, while it is shown, and the hint, in the order a form field gives them.
|
|
261
261
|
*
|
|
262
|
-
* @
|
|
262
|
+
* @docs-private
|
|
263
263
|
*/
|
|
264
264
|
get ariaDescribedBy() {
|
|
265
265
|
return this.showError() ? `${this.errorId} ${this.hintId}` : this.hintId;
|
|
@@ -286,11 +286,27 @@ class KbqToggleComponent extends KbqColorDirective {
|
|
|
286
286
|
this.change.emit(event);
|
|
287
287
|
}
|
|
288
288
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
289
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqToggleComponent, isStandalone: true, selector: "kbq-toggle", inputs: { errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, big: { classPropertyName: "big", publicName: "big", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", 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 }, checkedInput: { classPropertyName: "checkedInput", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminateInput: { classPropertyName: "indeterminateInput", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, clickActionInput: { classPropertyName: "clickActionInput", publicName: "clickAction", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.kbq-toggle_big": "big()", "attr.id": "id || uniqueId", "class.kbq-disabled": "disabled || loading()", "class.kbq-toggle_loading": "loading()", "class.kbq-active": "checked", "class.kbq-indeterminate": "indeterminate", "class.kbq-invalid": "errorState()" }, classAttribute: "kbq-toggle" }, queries: [{ propertyName: "error", first: true, predicate: KbqError, isSignal: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["kbqToggle"], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.KbqCheckable }], ngImport: i0, template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <div\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></div>\n <div class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <div class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </div>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <div class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;left:3px;border-radius:50%;transform:translate(-1px);height:10px;width:10px;transition:left .1s}.kbq-toggle .kbq-toggle__circle.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle__circle{animation:none;transition:none}}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_checked{left:calc(100% - 11px)}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_indeterminate{left:10px;visibility:hidden}.kbq-toggle .kbq-toggle-layout{display:inline-flex;box-sizing:border-box;width:100%;flex-direction:row;align-items:flex-start;vertical-align:top;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center;min-height:var(--kbq-typography-text-normal-line-height)}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar{animation:none;transition:none}}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{animation:none;transition:none}}.kbq-toggle .kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__hint{display:flex;flex-direction:column}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{min-height:var(--kbq-typography-text-big-line-height)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar,.kbq-toggle.kbq-invalid .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle,.kbq-toggle.kbq-invalid .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint:where(:not(.kbq-error)) .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle.kbq-toggle_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-toggle.kbq-toggle_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-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
289
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqToggleComponent, isStandalone: true, selector: "kbq-toggle", inputs: { errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: true, isRequired: false, transformFunction: null }, big: { classPropertyName: "big", publicName: "big", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", 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 }, checkedInput: { classPropertyName: "checkedInput", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, indeterminateInput: { classPropertyName: "indeterminateInput", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, clickActionInput: { classPropertyName: "clickActionInput", publicName: "clickAction", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.kbq-toggle_big": "big()", "attr.id": "id || uniqueId", "class.kbq-disabled": "disabled || loading()", "class.kbq-toggle_loading": "loading()", "class.kbq-active": "checked", "class.kbq-indeterminate": "indeterminate", "class.kbq-invalid": "errorState()" }, classAttribute: "kbq-toggle" }, providers: [
|
|
290
|
+
kbqHintParentFactoryProvider((() => {
|
|
291
|
+
const toggle = inject(KbqToggleComponent);
|
|
292
|
+
return {
|
|
293
|
+
compact: computed((() => !toggle.big())),
|
|
294
|
+
disabled: computed((() => toggle.disabled || toggle.loading()))
|
|
295
|
+
};
|
|
296
|
+
}))
|
|
297
|
+
], queries: [{ propertyName: "error", first: true, predicate: KbqError, isSignal: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["kbqToggle"], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.KbqCheckable }], ngImport: i0, template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <span class=\"kbq-toggle-bar-container\">\n <span\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <span\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></span>\n <span class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></span>\n </span>\n </span>\n\n <span\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <span class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </span>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <span class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </span>\n </span>\n</label>\n", styles: ["@charset \"UTF-8\";.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;left:3px;border-radius:50%;transform:translate(-1px);height:10px;width:10px;transition:left .1s}.kbq-toggle .kbq-toggle__circle.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle__circle{animation:none;transition:none}}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_checked{left:calc(100% - 11px)}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_indeterminate{left:10px;visibility:hidden}.kbq-toggle .kbq-toggle-layout{display:inline-flex;box-sizing:border-box;width:100%;flex-direction:row;align-items:flex-start;vertical-align:top;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center;min-height:var(--kbq-typography-text-normal-line-height)}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar{animation:none;transition:none}}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{animation:none;transition:none}}.kbq-toggle .kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__hint{display:flex;flex-direction:column}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{min-height:var(--kbq-typography-text-big-line-height)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar,.kbq-toggle.kbq-invalid .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle,.kbq-toggle.kbq-invalid .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle:not(.kbq-toggle_big){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-toggle.kbq-toggle_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)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
290
298
|
}
|
|
291
299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqToggleComponent, decorators: [{
|
|
292
300
|
type: Component,
|
|
293
|
-
args: [{ selector: 'kbq-toggle',
|
|
301
|
+
args: [{ selector: 'kbq-toggle', providers: [
|
|
302
|
+
kbqHintParentFactoryProvider((() => {
|
|
303
|
+
const toggle = inject(KbqToggleComponent);
|
|
304
|
+
return {
|
|
305
|
+
compact: computed((() => !toggle.big())),
|
|
306
|
+
disabled: computed((() => toggle.disabled || toggle.loading()))
|
|
307
|
+
};
|
|
308
|
+
}))
|
|
309
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
294
310
|
class: 'kbq-toggle',
|
|
295
311
|
'[class.kbq-toggle_big]': 'big()',
|
|
296
312
|
'[attr.id]': 'id || uniqueId',
|
|
@@ -299,7 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImpo
|
|
|
299
315
|
'[class.kbq-active]': 'checked',
|
|
300
316
|
'[class.kbq-indeterminate]': 'indeterminate',
|
|
301
317
|
'[class.kbq-invalid]': 'errorState()'
|
|
302
|
-
}, hostDirectives: [KbqCheckable], exportAs: 'kbqToggle', template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <div\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></div>\n <div class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <div class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </div>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <div class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n", styles: ["@charset \"UTF-8\";.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;left:3px;border-radius:50%;transform:translate(-1px);height:10px;width:10px;transition:left .1s}.kbq-toggle .kbq-toggle__circle.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle__circle{animation:none;transition:none}}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_checked{left:calc(100% - 11px)}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_indeterminate{left:10px;visibility:hidden}.kbq-toggle .kbq-toggle-layout{display:inline-flex;box-sizing:border-box;width:100%;flex-direction:row;align-items:flex-start;vertical-align:top;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center;min-height:var(--kbq-typography-text-normal-line-height)}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar{animation:none;transition:none}}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{animation:none;transition:none}}.kbq-toggle .kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__hint{display:flex;flex-direction:column}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{min-height:var(--kbq-typography-text-big-line-height)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar,.kbq-toggle.kbq-invalid .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle,.kbq-toggle.kbq-invalid .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint:where(:not(.kbq-error)) .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){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-toggle:not(.kbq-toggle_big) .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-toggle.kbq-toggle_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-toggle.kbq-toggle_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-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"] }]
|
|
318
|
+
}, hostDirectives: [KbqCheckable], exportAs: 'kbqToggle', template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <span class=\"kbq-toggle-bar-container\">\n <span\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <span\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></span>\n <span class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></span>\n </span>\n </span>\n\n <span\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <span class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </span>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <span class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </span>\n </span>\n</label>\n", styles: ["@charset \"UTF-8\";.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;left:3px;border-radius:50%;transform:translate(-1px);height:10px;width:10px;transition:left .1s}.kbq-toggle .kbq-toggle__circle.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle__circle{animation:none;transition:none}}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_checked{left:calc(100% - 11px)}.kbq-toggle .kbq-toggle__circle.kbq-toggle__circle_indeterminate{left:10px;visibility:hidden}.kbq-toggle .kbq-toggle-layout{display:inline-flex;box-sizing:border-box;width:100%;flex-direction:row;align-items:flex-start;vertical-align:top;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center;min-height:var(--kbq-typography-text-normal-line-height)}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar{animation:none;transition:none}}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{animation:none;transition:none}}.kbq-toggle .kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle .kbq-toggle__hint{display:flex;flex-direction:column}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{min-height:var(--kbq-typography-text-big-line-height)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-big-horizontal-content-padding)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar,.kbq-toggle.kbq-invalid .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle,.kbq-toggle.kbq-invalid .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-invalid.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle:not(.kbq-toggle_big){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-toggle.kbq-toggle_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)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"] }]
|
|
303
319
|
}], ctorParameters: () => [], propDecorators: { errorStateMatcher: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorStateMatcher", required: false }] }], error: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqError), { ...{ descendants: false }, isSignal: true }] }], big: [{ type: i0.Input, args: [{ isSignal: true, alias: "big", required: false }] }], inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], labelPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPosition", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], change: [{ type: i0.Output, args: ["change"] }], indeterminateChange: [{ type: i0.Output, args: ["indeterminateChange"] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], tabIndexInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], checkedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], indeterminateInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], clickActionInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickAction", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
|
|
304
320
|
|
|
305
321
|
class KbqToggleModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-toggle.mjs","sources":["../../../packages/components/toggle/toggle.component.ts","../../../packages/components/toggle/toggle.component.html","../../../packages/components/toggle/toggle.module.ts","../../../packages/components/toggle/koobiq-components-toggle.ts"],"sourcesContent":["import { _IdGenerator, FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n DoCheck,\n effect,\n ElementRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n output,\n Signal,\n SimpleChanges,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { KBQ_CHECKBOX_CLICK_ACTION } from '@koobiq/components/checkbox';\nimport {\n CanUpdateErrorState,\n ErrorStateMatcher,\n KBQ_CHECKABLE_CLICK_ACTION,\n kbqAnimationsDisabled,\n KbqCheckable,\n KbqCheckableClickAction,\n KbqCheckedState,\n KbqColorDirective,\n KbqErrorStateTracker,\n kbqOptionalNumberAttribute,\n TransitionCheckState\n} from '@koobiq/components/core';\nimport { KbqError } from '@koobiq/components/form-field';\n\n/** Position of the label relative to the switch. */\nexport type ToggleLabelPositionType = 'left' | 'right';\n\n/** Change event object emitted by `KbqToggleComponent`. */\nexport class KbqToggleChange {\n /** The source toggle of the event. */\n source: KbqToggleComponent;\n /** The new `checked` value of the toggle. */\n checked: boolean;\n}\n\n/**\n * Toggle click action when user click on input element. Alias of `KbqCheckableClickAction`.\n */\nexport type KbqToggleClickAction = KbqCheckableClickAction;\n\n/**\n * A switch for turning an option on or off.\n *\n * To show a validation error, put its text in a `kbq-error` inside the toggle bound to a form control.\n */\n@Component({\n selector: 'kbq-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.scss', './toggle-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-toggle',\n '[class.kbq-toggle_big]': 'big()',\n '[attr.id]': 'id || uniqueId',\n '[class.kbq-disabled]': 'disabled || loading()',\n '[class.kbq-toggle_loading]': 'loading()',\n '[class.kbq-active]': 'checked',\n '[class.kbq-indeterminate]': 'indeterminate',\n '[class.kbq-invalid]': 'errorState()'\n },\n hostDirectives: [KbqCheckable],\n exportAs: 'kbqToggle'\n})\nexport class KbqToggleComponent\n extends KbqColorDirective\n implements OnChanges, DoCheck, AfterViewInit, OnDestroy, CanUpdateErrorState\n{\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly checkable = inject(KbqCheckable, { self: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n private readonly errorStateTracker = new KbqErrorStateTracker(\n inject(ErrorStateMatcher),\n this.ngControl,\n inject(FormGroupDirective, { optional: true }),\n inject(NgForm, { optional: true })\n );\n\n /** Whether the toggle is in an error state. */\n readonly errorState = this.errorStateTracker.errorState;\n\n /** An object used to control when the error state is shown. */\n readonly errorStateMatcher = input<ErrorStateMatcher>();\n\n /** Error text projected into the toggle. */\n private readonly error = contentChild(KbqError, { descendants: false });\n\n /**\n * Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the label.\n *\n * @internal\n */\n protected readonly showError = computed(() => this.errorState() && !!this.error());\n\n /**\n * Value of `aria-invalid` of the native input: set whenever the toggle is painted as invalid.\n *\n * @internal\n */\n protected readonly ariaInvalid = computed(() => (this.errorState() || this.color() === 'error' ? 'true' : null));\n\n readonly big = input<boolean>(false);\n\n readonly inputElement = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n readonly labelPosition = input<ToggleLabelPositionType>('right');\n\n readonly ariaLabel = input<string>('', { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n id: string;\n\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n readonly name = input<string | null>(null);\n\n readonly value = input<string | undefined>(undefined);\n\n get disabled(): boolean {\n return this.checkable.disabled();\n }\n\n set disabled(value: boolean) {\n this.checkable.disabled.set(value);\n }\n\n get tabIndex(): number {\n return this.checkable.effectiveTabIndex();\n }\n\n set tabIndex(value: number) {\n this.checkable.tabIndex.set(value);\n }\n\n get checked(): boolean {\n return this.checkable.checked();\n }\n\n set checked(value: boolean) {\n // Untracked, as the `indeterminate` setter: an `effect()` that assigns it must not come to depend on `checked`\n // and `indeterminate`, read on the way.\n untracked(() => {\n if (value !== this.checkable.checked()) {\n this.checkable.checked.set(value);\n this.setTransitionCheckState();\n }\n });\n }\n\n /**\n * Whether the toggle is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n get indeterminate(): boolean {\n return this.checkable.indeterminate();\n }\n\n set indeterminate(value: boolean) {\n untracked(() => {\n const changed = value !== this.checkable.indeterminate();\n\n this.checkable.indeterminate.set(value);\n\n if (changed) {\n this.setTransitionCheckState();\n this.indeterminateChange.emit(value);\n }\n });\n }\n\n /**\n * Property for manually set loading state.\n */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly change = output<KbqToggleChange>();\n\n /** Event emitted when the toggle's `indeterminate` value changes. */\n readonly indeterminateChange = output<boolean>();\n\n /** @docs-private */\n protected readonly currentCheckState: Signal<TransitionCheckState> = this.checkable.currentCheckState;\n\n /** @docs-private */\n protected readonly animationsDisabled = kbqAnimationsDisabled();\n\n /** Defines the behavior when a user clicks on the toggle. */\n // `KBQ_CHECKBOX_CLICK_ACTION` is the legacy fallback, kept for apps that already configure it globally\n // to control click behavior for both checkbox and toggle.\n clickAction: KbqToggleClickAction =\n inject(KBQ_CHECKABLE_CLICK_ACTION, { optional: true }) ??\n inject(KBQ_CHECKBOX_CLICK_ACTION, { optional: true }) ??\n undefined;\n\n /** @docs-private */\n protected readonly uniqueId: string = inject(_IdGenerator).getId('kbq-toggle-');\n\n /** @docs-private */\n readonly disabledInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'disabled',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly tabIndexInput = input<number | undefined, number | string | null | undefined>(undefined, {\n alias: 'tabIndex',\n transform: kbqOptionalNumberAttribute\n });\n\n /** @docs-private */\n readonly checkedInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'checked',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly indeterminateInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'indeterminate',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly clickActionInput = input<KbqToggleClickAction | undefined>(undefined, { alias: 'clickAction' });\n\n /** @docs-private */\n readonly idInput = input<string | undefined>(undefined, { alias: 'id' });\n\n ngOnChanges(changes: SimpleChanges): void {\n // A bound input is handed to its member, except that `undefined` resets a member\n // typed without it to its default; unbound, it leaves what code wrote.\n if (changes['disabledInput']) {\n const disabled = this.disabledInput();\n\n if (disabled !== undefined) this.disabled = disabled;\n }\n\n if (changes['tabIndexInput']) this.tabIndex = this.tabIndexInput() ?? 0;\n\n if (changes['checkedInput']) {\n const checked = this.checkedInput();\n\n if (checked !== undefined) this.checked = checked;\n }\n\n if (changes['indeterminateInput']) {\n const indeterminate = this.indeterminateInput();\n\n if (indeterminate !== undefined) this.indeterminate = indeterminate;\n }\n\n if (changes['clickActionInput']) {\n this.clickAction = this.clickActionInput();\n }\n\n if (changes['idInput']) {\n this.id = this.idInput() ?? this.uniqueId;\n }\n }\n\n constructor() {\n super();\n\n this.id = this.uniqueId;\n\n // `writeValue` (ngModel/formControl) runs on `KbqCheckable`, bypassing the `checked`/`indeterminate`\n // setters, so this keeps the switch position in sync for form-driven value changes too.\n effect(() => this.setTransitionCheckState());\n }\n\n ngDoCheck(): void {\n // Re-evaluated on every check: a submit of the parent form notifies nothing a signal could follow.\n if (this.ngControl) this.updateErrorState();\n }\n\n /** Updates the error state based on the error state matcher. */\n updateErrorState(): void {\n this.errorStateTracker.errorStateMatcher = this.errorStateMatcher();\n this.errorStateTracker.updateErrorState();\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor\n .monitor(this.elementRef.nativeElement, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n // `FocusMonitor` emits the origin on focus and `null` on blur, so the control becomes touched when\n // focus leaves it, as a checkbox does: marking it on the way in shows a `required` error before any\n // interaction.\n .subscribe((origin) => !origin && this.checkable.onTouched());\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement().nativeElement, 'keyboard');\n }\n\n getAriaChecked(): KbqCheckedState {\n return this.checkable.getAriaChecked();\n }\n\n onChangeEvent(event: Event) {\n event.stopPropagation();\n }\n\n /**\n * Does nothing: the view reads nothing from the label, so a change of it needs no re-check.\n *\n * @deprecated Kept for back-compatibility. Will be removed in 22.0.0.\n */\n onLabelTextChange(): void {\n // Intentionally empty.\n }\n\n onInputClick(event: MouseEvent) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // While loading the toggle declines the click, but the native input still has to be reset,\n // so the state is resolved as `noop` instead of returning early.\n const { shouldToggle, shouldClearIndeterminate } = this.checkable.resolveClick(\n this.loading() ? 'noop' : this.clickAction\n );\n\n if (shouldToggle) {\n // When user manually click on the toggle, `indeterminate` is set to false.\n if (shouldClearIndeterminate) {\n Promise.resolve().then(() => {\n this.checkable.indeterminate.set(false);\n this.indeterminateChange.emit(false);\n });\n }\n\n this.checkable.toggle();\n this.checkable.onTouched();\n this.checkable.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked\n );\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled) {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `kbq-toggle`.\n this.checkable.resetNativeInput(this.inputElement().nativeElement);\n }\n }\n\n /** Id of the element wrapping the projected hint, referenced by the input's `aria-describedby`. */\n protected get hintId(): string {\n return `${this.id || this.uniqueId}-hint`;\n }\n\n /**\n * Id of the element wrapping the projected `kbq-error`.\n *\n * @internal\n */\n protected get errorId(): string {\n return `${this.id || this.uniqueId}-error`;\n }\n\n /**\n * Id of the label text, which names the native input unless `aria-label` or `aria-labelledby` is given.\n *\n * @internal\n */\n protected get labelId(): string {\n return `${this.id || this.uniqueId}-label`;\n }\n\n /**\n * The error, while it is shown, and the hint, in the order a form field gives them.\n *\n * @internal\n */\n protected get ariaDescribedBy(): string {\n return this.showError() ? `${this.errorId} ${this.hintId}` : this.hintId;\n }\n\n /** A native checkbox only reacts to Space, so Enter is forwarded to it manually. */\n protected onEnterKeydown(event: Event): void {\n // Without this the same keystroke also submits the enclosing form.\n event.preventDefault();\n\n this.inputElement().nativeElement.click();\n }\n\n private setTransitionCheckState() {\n if (this.indeterminate) {\n this.checkable.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.checkable.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked\n );\n }\n }\n\n private emitChangeEvent() {\n // Note: `toggle()` already notifies the ControlValueAccessor change handler via `KbqCheckable.toggle()`.\n const event = new KbqToggleChange();\n\n event.source = this;\n event.checked = this.checked;\n\n this.change.emit(event);\n }\n}\n","<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <div class=\"kbq-toggle-bar-container\">\n <div\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <div\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></div>\n <div class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></div>\n </div>\n </div>\n\n <div\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <div class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </div>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <div class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </div>\n </div>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [A11yModule, KbqToggleComponent],\n exports: [KbqToggleComponent]\n})\nexport class KbqToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-toggle.mjs","sources":["../../../packages/components/toggle/toggle.component.ts","../../../packages/components/toggle/toggle.component.html","../../../packages/components/toggle/toggle.module.ts","../../../packages/components/toggle/koobiq-components-toggle.ts"],"sourcesContent":["import { _IdGenerator, FocusMonitor } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n DoCheck,\n effect,\n ElementRef,\n inject,\n input,\n OnChanges,\n OnDestroy,\n output,\n Signal,\n SimpleChanges,\n untracked,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { KBQ_CHECKBOX_CLICK_ACTION } from '@koobiq/components/checkbox';\nimport {\n CanUpdateErrorState,\n ErrorStateMatcher,\n KBQ_CHECKABLE_CLICK_ACTION,\n kbqAnimationsDisabled,\n KbqCheckable,\n KbqCheckableClickAction,\n KbqCheckedState,\n KbqColorDirective,\n KbqErrorStateTracker,\n kbqOptionalNumberAttribute,\n TransitionCheckState\n} from '@koobiq/components/core';\nimport { KbqError, kbqHintParentFactoryProvider } from '@koobiq/components/form-field';\n\n/** Position of the label relative to the switch. */\nexport type ToggleLabelPositionType = 'left' | 'right';\n\n/** Change event object emitted by `KbqToggleComponent`. */\nexport class KbqToggleChange {\n /** The source toggle of the event. */\n source: KbqToggleComponent;\n /** The new `checked` value of the toggle. */\n checked: boolean;\n}\n\n/**\n * Toggle click action when user click on input element. Alias of `KbqCheckableClickAction`.\n */\nexport type KbqToggleClickAction = KbqCheckableClickAction;\n\n/**\n * A switch for turning an option on or off.\n *\n * To show a validation error, put its text in a `kbq-error` inside the toggle bound to a form control.\n */\n@Component({\n selector: 'kbq-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.scss', './toggle-tokens.scss'],\n providers: [\n kbqHintParentFactoryProvider(() => {\n const toggle = inject(KbqToggleComponent);\n\n return {\n compact: computed(() => !toggle.big()),\n disabled: computed(() => toggle.disabled || toggle.loading())\n };\n })\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-toggle',\n '[class.kbq-toggle_big]': 'big()',\n '[attr.id]': 'id || uniqueId',\n '[class.kbq-disabled]': 'disabled || loading()',\n '[class.kbq-toggle_loading]': 'loading()',\n '[class.kbq-active]': 'checked',\n '[class.kbq-indeterminate]': 'indeterminate',\n '[class.kbq-invalid]': 'errorState()'\n },\n hostDirectives: [KbqCheckable],\n exportAs: 'kbqToggle'\n})\nexport class KbqToggleComponent\n extends KbqColorDirective\n implements OnChanges, DoCheck, AfterViewInit, OnDestroy, CanUpdateErrorState\n{\n private readonly focusMonitor = inject(FocusMonitor);\n private readonly checkable = inject(KbqCheckable, { self: true });\n private readonly destroyRef = inject(DestroyRef);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n private readonly errorStateTracker = new KbqErrorStateTracker(\n inject(ErrorStateMatcher),\n this.ngControl,\n inject(FormGroupDirective, { optional: true }),\n inject(NgForm, { optional: true })\n );\n\n /** Whether the toggle is in an error state. */\n readonly errorState = this.errorStateTracker.errorState;\n\n /** An object used to control when the error state is shown. */\n readonly errorStateMatcher = input<ErrorStateMatcher>();\n\n /** Error text projected into the toggle. */\n private readonly error = contentChild(KbqError, { descendants: false });\n\n /**\n * Whether the projected `kbq-error` is shown. Without one, nothing is rendered under the label.\n *\n * @docs-private\n */\n protected readonly showError = computed(() => this.errorState() && !!this.error());\n\n /**\n * Value of `aria-invalid` of the native input: set whenever the toggle is painted as invalid.\n *\n * @docs-private\n */\n protected readonly ariaInvalid = computed(() => (this.errorState() || this.color() === 'error' ? 'true' : null));\n\n readonly big = input<boolean>(false);\n\n readonly inputElement = viewChild.required<ElementRef<HTMLInputElement>>('input');\n\n readonly labelPosition = input<ToggleLabelPositionType>('right');\n\n readonly ariaLabel = input<string>('', { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n id: string;\n\n get inputId(): string {\n return `${this.id || this.uniqueId}-input`;\n }\n\n readonly name = input<string | null>(null);\n\n readonly value = input<string | undefined>(undefined);\n\n get disabled(): boolean {\n return this.checkable.disabled();\n }\n\n set disabled(value: boolean) {\n this.checkable.disabled.set(value);\n }\n\n get tabIndex(): number {\n return this.checkable.effectiveTabIndex();\n }\n\n set tabIndex(value: number) {\n this.checkable.tabIndex.set(value);\n }\n\n get checked(): boolean {\n return this.checkable.checked();\n }\n\n set checked(value: boolean) {\n // Untracked, as the `indeterminate` setter: an `effect()` that assigns it must not come to depend on `checked`\n // and `indeterminate`, read on the way.\n untracked(() => {\n if (value !== this.checkable.checked()) {\n this.checkable.checked.set(value);\n this.setTransitionCheckState();\n }\n });\n }\n\n /**\n * Whether the toggle is indeterminate. This is also known as \"mixed\" mode and can be used to\n * represent a checkbox with three states, e.g. a checkbox that represents a nested list of\n * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately\n * set to false.\n */\n get indeterminate(): boolean {\n return this.checkable.indeterminate();\n }\n\n set indeterminate(value: boolean) {\n untracked(() => {\n const changed = value !== this.checkable.indeterminate();\n\n this.checkable.indeterminate.set(value);\n\n if (changed) {\n this.setTransitionCheckState();\n this.indeterminateChange.emit(value);\n }\n });\n }\n\n /**\n * Property for manually set loading state.\n */\n readonly loading = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n readonly change = output<KbqToggleChange>();\n\n /** Event emitted when the toggle's `indeterminate` value changes. */\n readonly indeterminateChange = output<boolean>();\n\n /** @docs-private */\n protected readonly currentCheckState: Signal<TransitionCheckState> = this.checkable.currentCheckState;\n\n /** @docs-private */\n protected readonly animationsDisabled = kbqAnimationsDisabled();\n\n /** Defines the behavior when a user clicks on the toggle. */\n // `KBQ_CHECKBOX_CLICK_ACTION` is the legacy fallback, kept for apps that already configure it globally\n // to control click behavior for both checkbox and toggle.\n clickAction: KbqToggleClickAction =\n inject(KBQ_CHECKABLE_CLICK_ACTION, { optional: true }) ??\n inject(KBQ_CHECKBOX_CLICK_ACTION, { optional: true }) ??\n undefined;\n\n /** @docs-private */\n protected readonly uniqueId: string = inject(_IdGenerator).getId('kbq-toggle-');\n\n /** @docs-private */\n readonly disabledInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'disabled',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly tabIndexInput = input<number | undefined, number | string | null | undefined>(undefined, {\n alias: 'tabIndex',\n transform: kbqOptionalNumberAttribute\n });\n\n /** @docs-private */\n readonly checkedInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'checked',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly indeterminateInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'indeterminate',\n transform: booleanAttribute\n });\n\n /** @docs-private */\n readonly clickActionInput = input<KbqToggleClickAction | undefined>(undefined, { alias: 'clickAction' });\n\n /** @docs-private */\n readonly idInput = input<string | undefined>(undefined, { alias: 'id' });\n\n ngOnChanges(changes: SimpleChanges): void {\n // A bound input is handed to its member, except that `undefined` resets a member\n // typed without it to its default; unbound, it leaves what code wrote.\n if (changes['disabledInput']) {\n const disabled = this.disabledInput();\n\n if (disabled !== undefined) this.disabled = disabled;\n }\n\n if (changes['tabIndexInput']) this.tabIndex = this.tabIndexInput() ?? 0;\n\n if (changes['checkedInput']) {\n const checked = this.checkedInput();\n\n if (checked !== undefined) this.checked = checked;\n }\n\n if (changes['indeterminateInput']) {\n const indeterminate = this.indeterminateInput();\n\n if (indeterminate !== undefined) this.indeterminate = indeterminate;\n }\n\n if (changes['clickActionInput']) {\n this.clickAction = this.clickActionInput();\n }\n\n if (changes['idInput']) {\n this.id = this.idInput() ?? this.uniqueId;\n }\n }\n\n constructor() {\n super();\n\n this.id = this.uniqueId;\n\n // `writeValue` (ngModel/formControl) runs on `KbqCheckable`, bypassing the `checked`/`indeterminate`\n // setters, so this keeps the switch position in sync for form-driven value changes too.\n effect(() => this.setTransitionCheckState());\n }\n\n ngDoCheck(): void {\n // Re-evaluated on every check: a submit of the parent form notifies nothing a signal could follow.\n if (this.ngControl) this.updateErrorState();\n }\n\n /** Updates the error state based on the error state matcher. */\n updateErrorState(): void {\n this.errorStateTracker.errorStateMatcher = this.errorStateMatcher();\n this.errorStateTracker.updateErrorState();\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor\n .monitor(this.elementRef.nativeElement, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n // `FocusMonitor` emits the origin on focus and `null` on blur, so the control becomes touched when\n // focus leaves it, as a checkbox does: marking it on the way in shows a `required` error before any\n // interaction.\n .subscribe((origin) => !origin && this.checkable.onTouched());\n }\n\n ngOnDestroy() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement().nativeElement, 'keyboard');\n }\n\n getAriaChecked(): KbqCheckedState {\n return this.checkable.getAriaChecked();\n }\n\n onChangeEvent(event: Event) {\n event.stopPropagation();\n }\n\n /**\n * Does nothing: the view reads nothing from the label, so a change of it needs no re-check.\n *\n * @deprecated Kept for back-compatibility. Will be removed in 22.0.0.\n */\n onLabelTextChange(): void {\n // Intentionally empty.\n }\n\n onInputClick(event: MouseEvent) {\n // We have to stop propagation for click events on the visual hidden input element.\n // By default, when a user clicks on a label element, a generated click event will be\n // dispatched on the associated input element. Since we are using a label element as our\n // root container, the click event on the `toggle` will be executed twice.\n // The real click event will bubble up, and the generated click event also tries to bubble up.\n // This will lead to multiple click events.\n // Preventing bubbling for the second event will solve that issue.\n event.stopPropagation();\n\n // While loading the toggle declines the click, but the native input still has to be reset,\n // so the state is resolved as `noop` instead of returning early.\n const { shouldToggle, shouldClearIndeterminate } = this.checkable.resolveClick(\n this.loading() ? 'noop' : this.clickAction\n );\n\n if (shouldToggle) {\n // When user manually click on the toggle, `indeterminate` is set to false.\n if (shouldClearIndeterminate) {\n Promise.resolve().then(() => {\n this.checkable.indeterminate.set(false);\n this.indeterminateChange.emit(false);\n });\n }\n\n this.checkable.toggle();\n this.checkable.onTouched();\n this.checkable.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked\n );\n // Emit our custom change event if the native input emitted one.\n // It is important to only emit it, if the native input triggered one, because\n // we don't want to trigger a change event, when the `checked` variable changes for example.\n this.emitChangeEvent();\n } else if (!this.disabled) {\n // Reset native input when clicked with noop. The native checkbox becomes checked after\n // click, reset it to be align with `checked` value of `kbq-toggle`.\n this.checkable.resetNativeInput(this.inputElement().nativeElement);\n }\n }\n\n /** Id of the element wrapping the projected hint, referenced by the input's `aria-describedby`. */\n protected get hintId(): string {\n return `${this.id || this.uniqueId}-hint`;\n }\n\n /**\n * Id of the element wrapping the projected `kbq-error`.\n *\n * @docs-private\n */\n protected get errorId(): string {\n return `${this.id || this.uniqueId}-error`;\n }\n\n /**\n * Id of the label text, which names the native input unless `aria-label` or `aria-labelledby` is given.\n *\n * @docs-private\n */\n protected get labelId(): string {\n return `${this.id || this.uniqueId}-label`;\n }\n\n /**\n * The error, while it is shown, and the hint, in the order a form field gives them.\n *\n * @docs-private\n */\n protected get ariaDescribedBy(): string {\n return this.showError() ? `${this.errorId} ${this.hintId}` : this.hintId;\n }\n\n /** A native checkbox only reacts to Space, so Enter is forwarded to it manually. */\n protected onEnterKeydown(event: Event): void {\n // Without this the same keystroke also submits the enclosing form.\n event.preventDefault();\n\n this.inputElement().nativeElement.click();\n }\n\n private setTransitionCheckState() {\n if (this.indeterminate) {\n this.checkable.transitionCheckState(TransitionCheckState.Indeterminate);\n } else {\n this.checkable.transitionCheckState(\n this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked\n );\n }\n }\n\n private emitChangeEvent() {\n // Note: `toggle()` already notifies the ControlValueAccessor change handler via `KbqCheckable.toggle()`.\n const event = new KbqToggleChange();\n\n event.source = this;\n event.checked = this.checked;\n\n this.change.emit(event);\n }\n}\n","<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition() === 'left'\">\n <input\n #input\n type=\"checkbox\"\n class=\"kbq-toggle-input cdk-visually-hidden\"\n [attr.aria-busy]=\"loading() ? 'true' : null\"\n [attr.aria-checked]=\"getAriaChecked()\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.aria-disabled]=\"disabled || loading() ? 'true' : null\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby() || (ariaLabel() ? null : labelId)\"\n [attr.name]=\"name()\"\n [attr.role]=\"indeterminate ? null : 'switch'\"\n [attr.value]=\"value()\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [id]=\"inputId\"\n [indeterminate]=\"indeterminate\"\n [tabIndex]=\"tabIndex\"\n (change)=\"onChangeEvent($event)\"\n (click)=\"onInputClick($event)\"\n (keydown.enter)=\"onEnterKeydown($event)\"\n />\n <span class=\"kbq-toggle-bar-container\">\n <span\n class=\"kbq-toggle-bar\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n [class.kbq-progress]=\"loading()\"\n >\n <span\n class=\"kbq-toggle__circle\"\n [class]=\"`kbq-toggle__circle_${currentCheckState()}`\"\n [class.kbq-animations-disabled]=\"animationsDisabled\"\n ></span>\n <span class=\"kbq-toggle__thumb\" [class.kbq-animations-disabled]=\"animationsDisabled\"></span>\n </span>\n </span>\n\n <span\n class=\"kbq-toggle__content\"\n [class.kbq-toggle__content_left]=\"labelPosition() === 'left'\"\n [class.kbq-toggle__content_right]=\"labelPosition() === 'right'\"\n >\n <span class=\"kbq-toggle-label\" [id]=\"labelId\">\n <ng-content />\n </span>\n\n <!--\n The error comes before the hint, as in a form field. The input is named by the label text alone, so the\n error stays out of its name and is announced as it appears.\n -->\n @if (showError()) {\n <span class=\"kbq-toggle__error\" [id]=\"errorId\">\n <ng-content select=\"kbq-error\" />\n </span>\n }\n\n <!-- Hidden from the accessible name computation of the enclosing label; exposed as the input's description. -->\n <span class=\"kbq-toggle__hint\" aria-hidden=\"true\" [id]=\"hintId\">\n <ng-content select=\"kbq-hint\" />\n </span>\n </span>\n</label>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { NgModule } from '@angular/core';\nimport { KbqToggleComponent } from './toggle.component';\n\n@NgModule({\n imports: [A11yModule, KbqToggleComponent],\n exports: [KbqToggleComponent]\n})\nexport class KbqToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|