igniteui-angular 22.2.0 → 22.2.2
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/checkbox/README.md +4 -0
- package/fesm2022/igniteui-angular-checkbox.mjs +18 -13
- package/fesm2022/igniteui-angular-checkbox.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +19 -0
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +4 -0
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +18 -41
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +13 -15
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +43 -34
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +4 -4
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +32 -14
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-switch.mjs +18 -13
- package/fesm2022/igniteui-angular-switch.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tabs.mjs +39 -9
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +2 -2
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/fesm2022/igniteui-angular-virtual-scroll.mjs +17 -0
- package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -1
- package/package.json +2 -2
- package/radio/README.md +4 -0
- package/skills/igniteui-angular-components/references/form-controls.md +1 -1
- package/skills/igniteui-angular-grids/references/types.md +1 -1
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/switch/README.md +4 -0
- package/types/igniteui-angular-checkbox.d.ts +2 -1
- package/types/igniteui-angular-directives.d.ts +7 -1
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +7 -6
- package/types/igniteui-angular-grids-pivot-grid.d.ts +2 -4
- package/types/igniteui-angular-grids-tree-grid.d.ts +32 -14
- package/types/igniteui-angular-radio.d.ts +8 -1
- package/types/igniteui-angular-switch.d.ts +2 -1
- package/types/igniteui-angular-virtual-scroll.d.ts +5 -0
- package/virtual-scroll/README.md +1 -1
package/checkbox/README.md
CHANGED
|
@@ -61,6 +61,10 @@ To disable the ripple effect, do:
|
|
|
61
61
|
<igx-checkbox [disableRipple]="'true'"></igx-checkbox>
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
### Invalid State in Forms
|
|
65
|
+
|
|
66
|
+
With a reactive, template-driven or Signal Forms (`[formField]`) binding, the invalid state is shown only once the control is touched or dirty, so a pristine control stays in its initial state, e.g. right after `reset()`.
|
|
67
|
+
|
|
64
68
|
## API
|
|
65
69
|
|
|
66
70
|
# API Summary
|
|
@@ -77,19 +77,6 @@ class IgxCheckboxComponent extends CheckboxBaseDirective {
|
|
|
77
77
|
* ```
|
|
78
78
|
*/
|
|
79
79
|
this.disabled = false;
|
|
80
|
-
/**
|
|
81
|
-
* Sets/gets whether the checkbox is invalid.
|
|
82
|
-
* Default value is `false`.
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```html
|
|
86
|
-
* <igx-checkbox invalid></igx-checkbox>
|
|
87
|
-
* ```
|
|
88
|
-
* ```typescript
|
|
89
|
-
* let isInvalid = this.checkbox.invalid;
|
|
90
|
-
* ```
|
|
91
|
-
*/
|
|
92
|
-
this.invalid = false;
|
|
93
80
|
/**
|
|
94
81
|
* Sets/gets whether the checkbox is readonly.
|
|
95
82
|
* Default value is `false`.
|
|
@@ -135,6 +122,24 @@ class IgxCheckboxComponent extends CheckboxBaseDirective {
|
|
|
135
122
|
get checked() {
|
|
136
123
|
return super.checked;
|
|
137
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Sets/gets whether the checkbox is invalid.
|
|
127
|
+
* Default value is `false`.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```html
|
|
131
|
+
* <igx-checkbox invalid></igx-checkbox>
|
|
132
|
+
* ```
|
|
133
|
+
* ```typescript
|
|
134
|
+
* let isInvalid = this.checkbox.invalid;
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
get invalid() {
|
|
138
|
+
return super.invalid;
|
|
139
|
+
}
|
|
140
|
+
set invalid(value) {
|
|
141
|
+
super.invalid = value;
|
|
142
|
+
}
|
|
138
143
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.0", ngImport: i0, type: IgxCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
144
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.2.0", type: IgxCheckboxComponent, isStandalone: true, selector: "igx-checkbox", inputs: { indeterminate: ["indeterminate", "indeterminate", booleanAttribute], checked: ["checked", "checked", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], invalid: ["invalid", "invalid", booleanAttribute], readonly: ["readonly", "readonly", booleanAttribute], disableTransitions: ["disableTransitions", "disableTransitions", booleanAttribute] }, host: { properties: { "class.igx-checkbox": "this.cssClass", "class.igx-checkbox--focused": "this.focused", "class.igx-checkbox--indeterminate": "this.indeterminate", "class.igx-checkbox--checked": "this.checked", "class.igx-checkbox--disabled": "this.disabled", "class.igx-checkbox--invalid": "this.invalid", "class.igx-checkbox--plain": "this.disableTransitions" } }, providers: [
|
|
140
145
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-checkbox.mjs","sources":["../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.ts","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.html","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.module.ts","../../../projects/igniteui-angular/checkbox/src/igniteui-angular-checkbox.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n Input,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { CheckboxBaseDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { EditorProvider, EDITOR_PROVIDER } from 'igniteui-angular/core';\n\n/**\n * Allows users to make a binary choice for a certain condition.\n *\n * @igxModule IgxCheckboxModule\n *\n * @igxTheme igx-checkbox-theme\n *\n * @igxKeywords checkbox, label\n *\n * @igxGroup Data entry and display\n *\n * @remarks\n * The Ignite UI Checkbox is a selection control that allows users to make a binary choice for a certain condition.It behaves similarly\n * to the native browser checkbox.\n *\n * @example\n * ```html\n * <igx-checkbox [checked]=\"true\">\n * simple checkbox\n * </igx-checkbox>\n * ```\n */\n@Component({\n selector: 'igx-checkbox',\n providers: [\n {\n provide: EDITOR_PROVIDER,\n useExisting: IgxCheckboxComponent,\n multi: true,\n },\n ],\n preserveWhitespaces: false,\n templateUrl: 'checkbox.component.html',\n styleUrl: 'checkbox.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxRippleDirective],\n})\nexport class IgxCheckboxComponent\n extends CheckboxBaseDirective\n implements AfterViewInit, ControlValueAccessor, EditorProvider {\n /**\n * Returns the class of the checkbox component.\n *\n * @example\n * ```typescript\n * let class = this.checkbox.cssClass;\n * ```\n */\n @HostBinding('class.igx-checkbox')\n public override cssClass = 'igx-checkbox';\n\n /**\n * Sets/gets whether the checkbox component is on focus.\n * Default value is `false`.\n *\n * @example\n * ```typescript\n * this.checkbox.focused = true;\n * ```\n * ```typescript\n * let isFocused = this.checkbox.focused;\n * ```\n */\n @HostBinding('class.igx-checkbox--focused')\n public override focused = false;\n\n /**\n * Sets/gets the checkbox indeterminate visual state.\n * Default value is `false`;\n *\n * @example\n * ```html\n * <igx-checkbox [indeterminate]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let isIndeterminate = this.checkbox.indeterminate;\n * ```\n */\n @HostBinding('class.igx-checkbox--indeterminate')\n @Input({ transform: booleanAttribute })\n public override indeterminate = false;\n\n /**\n * Sets/gets whether the checkbox is checked.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [checked]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let isChecked = this.checkbox.checked;\n * ```\n */\n @HostBinding('class.igx-checkbox--checked')\n @Input({ transform: booleanAttribute })\n public override set checked(value: boolean) {\n super.checked = value;\n }\n public override get checked() {\n return super.checked;\n }\n\n /**\n * Sets/gets whether the checkbox is disabled.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox disabled></igx-checkbox>\n * ```\n * ```typescript\n * let isDisabled = this.checkbox.disabled;\n * ```\n */\n @HostBinding('class.igx-checkbox--disabled')\n @Input({ transform: booleanAttribute })\n public override disabled = false;\n\n /**\n * Sets/gets whether the checkbox is invalid.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox invalid></igx-checkbox>\n * ```\n * ```typescript\n * let isInvalid = this.checkbox.invalid;\n * ```\n */\n @HostBinding('class.igx-checkbox--invalid')\n @Input({ transform: booleanAttribute })\n public override invalid = false;\n\n /**\n * Sets/gets whether the checkbox is readonly.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [readonly]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let readonly = this.checkbox.readonly;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override readonly = false;\n\n /**\n * Sets/gets whether the checkbox should disable all css transitions.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [disableTransitions]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let disableTransitions = this.checkbox.disableTransitions;\n * ```\n */\n @HostBinding('class.igx-checkbox--plain')\n @Input({ transform: booleanAttribute })\n public disableTransitions = false;\n}\n","<input #checkbox class=\"igx-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [value]=\"value\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-labelledby]=\"ariaLabel ? null : ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n (change)=\"_onCheckboxChange($event)\"\n (blur)=\"onBlur()\" />\n\n<div\n igxRipple\n igxRippleTarget=\".igx-checkbox__ripple\"\n [igxRippleDisabled]=\"disableRipple\"\n [igxRippleCentered]=\"true\"\n [igxRippleDuration]=\"300\"\n class=\"igx-checkbox__composite-wrapper\"\n>\n <span #label class=\"igx-checkbox__composite\">\n <svg class=\"igx-checkbox__composite-mark igx-checkbox__composite-mark--indigo\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <rect width=\"18\" height=\"4\" x=\"2\" y=\"9\" rx=\"1.85\"/>\n <path d=\"M19.033 5a1.966 1.966 0 0 0-1.418.586l-8.479 8.577-2.753-2.77a1.971 1.971 0 0 0-2.8 0 1.998 1.998 0 0 0 0 2.822l4.155 4.196a1.955 1.955 0 0 0 2.8 0l9.879-9.99a1.998 1.998 0 0 0 0-2.821 1.966 1.966 0 0 0-1.384-.6Z\"/>\n </svg>\n <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4.1,12.7 9,17.6 20.3,6.3\"/>\n </svg>\n </span>\n\n <div class=\"igx-checkbox__ripple\"></div>\n</div>\n\n<span #placeholderLabel\n [class]=\"labelClass\"\n [id]=\"labelId\">\n <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { IgxCheckboxComponent } from './checkbox.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [IgxCheckboxComponent],\n exports: [IgxCheckboxComponent]\n})\nexport class IgxCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-checkbox.mjs","sources":["../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.ts","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.component.html","../../../projects/igniteui-angular/checkbox/src/checkbox/checkbox.module.ts","../../../projects/igniteui-angular/checkbox/src/igniteui-angular-checkbox.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n Input,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\nimport { CheckboxBaseDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { EditorProvider, EDITOR_PROVIDER } from 'igniteui-angular/core';\n\n/**\n * Allows users to make a binary choice for a certain condition.\n *\n * @igxModule IgxCheckboxModule\n *\n * @igxTheme igx-checkbox-theme\n *\n * @igxKeywords checkbox, label\n *\n * @igxGroup Data entry and display\n *\n * @remarks\n * The Ignite UI Checkbox is a selection control that allows users to make a binary choice for a certain condition.It behaves similarly\n * to the native browser checkbox.\n *\n * @example\n * ```html\n * <igx-checkbox [checked]=\"true\">\n * simple checkbox\n * </igx-checkbox>\n * ```\n */\n@Component({\n selector: 'igx-checkbox',\n providers: [\n {\n provide: EDITOR_PROVIDER,\n useExisting: IgxCheckboxComponent,\n multi: true,\n },\n ],\n preserveWhitespaces: false,\n templateUrl: 'checkbox.component.html',\n styleUrl: 'checkbox.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxRippleDirective],\n})\nexport class IgxCheckboxComponent\n extends CheckboxBaseDirective\n implements AfterViewInit, ControlValueAccessor, EditorProvider {\n /**\n * Returns the class of the checkbox component.\n *\n * @example\n * ```typescript\n * let class = this.checkbox.cssClass;\n * ```\n */\n @HostBinding('class.igx-checkbox')\n public override cssClass = 'igx-checkbox';\n\n /**\n * Sets/gets whether the checkbox component is on focus.\n * Default value is `false`.\n *\n * @example\n * ```typescript\n * this.checkbox.focused = true;\n * ```\n * ```typescript\n * let isFocused = this.checkbox.focused;\n * ```\n */\n @HostBinding('class.igx-checkbox--focused')\n public override focused = false;\n\n /**\n * Sets/gets the checkbox indeterminate visual state.\n * Default value is `false`;\n *\n * @example\n * ```html\n * <igx-checkbox [indeterminate]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let isIndeterminate = this.checkbox.indeterminate;\n * ```\n */\n @HostBinding('class.igx-checkbox--indeterminate')\n @Input({ transform: booleanAttribute })\n public override indeterminate = false;\n\n /**\n * Sets/gets whether the checkbox is checked.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [checked]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let isChecked = this.checkbox.checked;\n * ```\n */\n @HostBinding('class.igx-checkbox--checked')\n @Input({ transform: booleanAttribute })\n public override set checked(value: boolean) {\n super.checked = value;\n }\n public override get checked() {\n return super.checked;\n }\n\n /**\n * Sets/gets whether the checkbox is disabled.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox disabled></igx-checkbox>\n * ```\n * ```typescript\n * let isDisabled = this.checkbox.disabled;\n * ```\n */\n @HostBinding('class.igx-checkbox--disabled')\n @Input({ transform: booleanAttribute })\n public override disabled = false;\n\n /**\n * Sets/gets whether the checkbox is invalid.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox invalid></igx-checkbox>\n * ```\n * ```typescript\n * let isInvalid = this.checkbox.invalid;\n * ```\n */\n @HostBinding('class.igx-checkbox--invalid')\n @Input({ transform: booleanAttribute })\n public override get invalid(): boolean {\n return super.invalid;\n }\n public override set invalid(value: boolean) {\n super.invalid = value;\n }\n\n /**\n * Sets/gets whether the checkbox is readonly.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [readonly]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let readonly = this.checkbox.readonly;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override readonly = false;\n\n /**\n * Sets/gets whether the checkbox should disable all css transitions.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-checkbox [disableTransitions]=\"true\"></igx-checkbox>\n * ```\n * ```typescript\n * let disableTransitions = this.checkbox.disableTransitions;\n * ```\n */\n @HostBinding('class.igx-checkbox--plain')\n @Input({ transform: booleanAttribute })\n public disableTransitions = false;\n}\n","<input #checkbox class=\"igx-checkbox__input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [name]=\"name\"\n [value]=\"value\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [required]=\"required\"\n [attr.aria-required]=\"required\"\n [attr.aria-invalid]=\"invalid\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-labelledby]=\"ariaLabel ? null : ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n (change)=\"_onCheckboxChange($event)\"\n (blur)=\"onBlur()\" />\n\n<div\n igxRipple\n igxRippleTarget=\".igx-checkbox__ripple\"\n [igxRippleDisabled]=\"disableRipple\"\n [igxRippleCentered]=\"true\"\n [igxRippleDuration]=\"300\"\n class=\"igx-checkbox__composite-wrapper\"\n>\n <span #label class=\"igx-checkbox__composite\">\n <svg class=\"igx-checkbox__composite-mark igx-checkbox__composite-mark--indigo\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <rect width=\"18\" height=\"4\" x=\"2\" y=\"9\" rx=\"1.85\"/>\n <path d=\"M19.033 5a1.966 1.966 0 0 0-1.418.586l-8.479 8.577-2.753-2.77a1.971 1.971 0 0 0-2.8 0 1.998 1.998 0 0 0 0 2.822l4.155 4.196a1.955 1.955 0 0 0 2.8 0l9.879-9.99a1.998 1.998 0 0 0 0-2.821 1.966 1.966 0 0 0-1.384-.6Z\"/>\n </svg>\n <svg class=\"igx-checkbox__composite-mark\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path d=\"M4.1,12.7 9,17.6 20.3,6.3\"/>\n </svg>\n </span>\n\n <div class=\"igx-checkbox__ripple\"></div>\n</div>\n\n<span #placeholderLabel\n [class]=\"labelClass\"\n [id]=\"labelId\">\n <ng-content></ng-content>\n</span>\n","import { NgModule } from '@angular/core';\nimport { IgxCheckboxComponent } from './checkbox.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [IgxCheckboxComponent],\n exports: [IgxCheckboxComponent]\n})\nexport class IgxCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -209,6 +209,16 @@ const LabelPosition = {
|
|
|
209
209
|
};
|
|
210
210
|
let nextId = 0;
|
|
211
211
|
class CheckboxBaseDirective {
|
|
212
|
+
get invalid() {
|
|
213
|
+
return this._invalid;
|
|
214
|
+
}
|
|
215
|
+
set invalid(value) {
|
|
216
|
+
// Signal Forms writes the field's raw validity here; show it only once touched or dirty.
|
|
217
|
+
if (this.control?.backend === 'signal' && !this.control.touchedOrDirty) {
|
|
218
|
+
value = false;
|
|
219
|
+
}
|
|
220
|
+
this._invalid = value;
|
|
221
|
+
}
|
|
212
222
|
get checked() {
|
|
213
223
|
return this._checked;
|
|
214
224
|
}
|
|
@@ -351,6 +361,11 @@ class CheckboxBaseDirective {
|
|
|
351
361
|
* @internal
|
|
352
362
|
*/
|
|
353
363
|
this._checked = false;
|
|
364
|
+
/**
|
|
365
|
+
* @hidden
|
|
366
|
+
* @internal
|
|
367
|
+
*/
|
|
368
|
+
this._invalid = false;
|
|
354
369
|
/**
|
|
355
370
|
* @hidden
|
|
356
371
|
* @internal
|
|
@@ -1401,6 +1416,10 @@ class IgxDragDirective {
|
|
|
1401
1416
|
* @param event PointerDown event captured
|
|
1402
1417
|
*/
|
|
1403
1418
|
onPointerDown(event) {
|
|
1419
|
+
// Start drag only with the primary pointer button.
|
|
1420
|
+
if ((this.pointerEventsEnabled || !this.touchEventsEnabled) && 'button' in event && event.button !== 0) {
|
|
1421
|
+
return;
|
|
1422
|
+
}
|
|
1404
1423
|
const ignoredElement = this.dragIgnoredElems.find(elem => elem.element.nativeElement === event.target);
|
|
1405
1424
|
if (ignoredElement) {
|
|
1406
1425
|
return;
|