igniteui-angular 15.0.0-rc.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15164,6 +15164,16 @@ class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective {
15164
15164
  onInput() {
15165
15165
  this.open();
15166
15166
  }
15167
+ /** @hidden @internal */
15168
+ onCompositionStart() {
15169
+ if (!this._composing) {
15170
+ this._composing = true;
15171
+ }
15172
+ }
15173
+ /** @hidden @internal */
15174
+ onCompositionEnd() {
15175
+ this._composing = false;
15176
+ }
15167
15177
  /** @hidden @internal */
15168
15178
  onArrowDown(event) {
15169
15179
  event.preventDefault();
@@ -15175,7 +15185,7 @@ class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective {
15175
15185
  }
15176
15186
  /** @hidden @internal */
15177
15187
  handleKeyDown(event) {
15178
- if (!this.collapsed) {
15188
+ if (!this.collapsed && !this._composing) {
15179
15189
  switch (event.key.toLowerCase()) {
15180
15190
  case 'space':
15181
15191
  case 'spacebar':
@@ -15297,7 +15307,7 @@ class IgxAutocompleteDirective extends IgxDropDownItemNavigationDirective {
15297
15307
  ;
15298
15308
  }
15299
15309
  IgxAutocompleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IgxAutocompleteDirective, deps: [{ token: NgModel, optional: true, self: true }, { token: FormControlName, optional: true, self: true }, { token: IgxInputGroupComponent, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
15300
- IgxAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: IgxAutocompleteDirective, selector: "[igxAutocomplete]", inputs: { target: ["igxAutocomplete", "target"], autocompleteSettings: ["igxAutocompleteSettings", "autocompleteSettings"], disabled: ["igxAutocompleteDisabled", "disabled"] }, outputs: { selectionChanging: "selectionChanging" }, host: { listeners: { "input": "onInput()", "keydown.ArrowDown": "onArrowDown($event)", "keydown.Alt.ArrowDown": "onArrowDown($event)", "keydown.ArrowUp": "onArrowDown($event)", "keydown.Alt.ArrowUp": "onArrowDown($event)", "keydown.Tab": "onTab()", "keydown.Shift.Tab": "onTab()" }, properties: { "attr.autocomplete": "this.autofill", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-haspopup": "this.hasPopUp", "attr.aria-owns": "this.ariaOwns", "attr.aria-activedescendant": "this.ariaActiveDescendant", "attr.aria-autocomplete": "this.ariaAutocomplete" } }, exportAs: ["igxAutocomplete"], usesInheritance: true, ngImport: i0 });
15310
+ IgxAutocompleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: IgxAutocompleteDirective, selector: "[igxAutocomplete]", inputs: { target: ["igxAutocomplete", "target"], autocompleteSettings: ["igxAutocompleteSettings", "autocompleteSettings"], disabled: ["igxAutocompleteDisabled", "disabled"] }, outputs: { selectionChanging: "selectionChanging" }, host: { listeners: { "input": "onInput()", "compositionstart": "onCompositionStart()", "compositionend": "onCompositionEnd()", "keydown.ArrowDown": "onArrowDown($event)", "keydown.Alt.ArrowDown": "onArrowDown($event)", "keydown.ArrowUp": "onArrowDown($event)", "keydown.Alt.ArrowUp": "onArrowDown($event)", "keydown.Tab": "onTab()", "keydown.Shift.Tab": "onTab()" }, properties: { "attr.autocomplete": "this.autofill", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-haspopup": "this.hasPopUp", "attr.aria-owns": "this.ariaOwns", "attr.aria-activedescendant": "this.ariaActiveDescendant", "attr.aria-autocomplete": "this.ariaAutocomplete" } }, exportAs: ["igxAutocomplete"], usesInheritance: true, ngImport: i0 });
15301
15311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IgxAutocompleteDirective, decorators: [{
15302
15312
  type: Directive,
15303
15313
  args: [{
@@ -15355,6 +15365,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
15355
15365
  }], onInput: [{
15356
15366
  type: HostListener,
15357
15367
  args: ['input']
15368
+ }], onCompositionStart: [{
15369
+ type: HostListener,
15370
+ args: ['compositionstart']
15371
+ }], onCompositionEnd: [{
15372
+ type: HostListener,
15373
+ args: ['compositionend']
15358
15374
  }], onArrowDown: [{
15359
15375
  type: HostListener,
15360
15376
  args: ['keydown.ArrowDown', ['$event']]
@@ -17871,7 +17887,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
17871
17887
  const MASK_FLAGS = ['C', '&', 'a', 'A', '?', 'L', '9', '0', '#'];
17872
17888
  /** @hidden */
17873
17889
  class MaskParsingService {
17874
- applyMask(inputVal, maskOptions) {
17890
+ applyMask(inputVal, maskOptions, pos = 0) {
17875
17891
  let outputVal = '';
17876
17892
  let value = '';
17877
17893
  const mask = maskOptions.format;
@@ -17902,7 +17918,6 @@ class MaskParsingService {
17902
17918
  if (nonLiteralValues.length > nonLiteralIndices.length) {
17903
17919
  nonLiteralValues.splice(nonLiteralIndices.length);
17904
17920
  }
17905
- let pos = 0;
17906
17921
  for (const nonLiteralValue of nonLiteralValues) {
17907
17922
  const char = nonLiteralValue;
17908
17923
  outputVal = this.replaceCharAt(outputVal, nonLiteralIndices[pos++], char);
@@ -17949,6 +17964,11 @@ class MaskParsingService {
17949
17964
  }
17950
17965
  maskedValue = this.replaceCharAt(maskedValue, i, char);
17951
17966
  }
17967
+ if (Math.abs(end - start) >= 1) {
17968
+ // set cursor to be max between last cursor pos and the calculated `end`
17969
+ // since on `delete` the cursor should move forward
17970
+ cursor = Math.max(cursor, end);
17971
+ }
17952
17972
  return { value: maskedValue, end: cursor };
17953
17973
  }
17954
17974
  replaceCharAt(strValue, index, char) {
@@ -18198,14 +18218,16 @@ class IgxMaskDirective {
18198
18218
  }
18199
18219
  this.inputValue = isInputComplete ?
18200
18220
  this.inputValue.substring(0, this.selectionEnd - numberOfMaskLiterals) + this.inputValue.substring(this.selectionEnd)
18201
- : this._compositionValue.substring(0, this._compositionStartIndex);
18202
- this._start = this.selectionStart;
18203
- this._end = this.selectionEnd;
18204
- this.nativeElement.selectionStart = isInputComplete ? this._start - numberOfMaskLiterals : this._compositionStartIndex;
18205
- this.nativeElement.selectionEnd = this._end - numberOfMaskLiterals;
18206
- this.nativeElement.selectionEnd = this._end;
18207
- this._start = this.selectionStart;
18208
- this._end = this.selectionEnd;
18221
+ : this._compositionValue?.substring(0, this._compositionStartIndex) || this.inputValue;
18222
+ if (this._compositionValue) {
18223
+ this._start = this.selectionStart;
18224
+ this._end = this.selectionEnd;
18225
+ this.nativeElement.selectionStart = isInputComplete ? this._start - numberOfMaskLiterals : this._compositionStartIndex;
18226
+ this.nativeElement.selectionEnd = this._end - numberOfMaskLiterals;
18227
+ this.nativeElement.selectionEnd = this._end;
18228
+ this._start = this.selectionStart;
18229
+ this._end = this.selectionEnd;
18230
+ }
18209
18231
  }
18210
18232
  if (this._hasDropAction) {
18211
18233
  this._start = this.selectionStart;
@@ -18245,7 +18267,7 @@ class IgxMaskDirective {
18245
18267
  }
18246
18268
  /** @hidden */
18247
18269
  onDragEnter() {
18248
- if (!this._focused) {
18270
+ if (!this._focused && !this._dataValue) {
18249
18271
  this.showMask(this._dataValue);
18250
18272
  }
18251
18273
  }
@@ -25906,6 +25928,15 @@ class IgxRowDirective {
25906
25928
  this.grid.actionStrip.show(this);
25907
25929
  }
25908
25930
  }
25931
+ /**
25932
+ * @hidden
25933
+ * @internal
25934
+ */
25935
+ hideActionStrip() {
25936
+ if (this.grid.actionStrip && this.grid.actionStrip.hideOnRowLeave) {
25937
+ this.grid.actionStrip.hide();
25938
+ }
25939
+ }
25909
25940
  /**
25910
25941
  * @hidden
25911
25942
  * @internal
@@ -26051,7 +26082,7 @@ class IgxRowDirective {
26051
26082
  }
26052
26083
  }
26053
26084
  IgxRowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IgxRowDirective, deps: [{ token: IGX_GRID_BASE }, { token: IgxGridSelectionService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
26054
- IgxRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: IgxRowDirective, selector: "[igxRowBaseComponent]", inputs: { data: "data", index: "index", disabled: "disabled", gridID: "gridID", selected: "selected" }, outputs: { addAnimationEnd: "addAnimationEnd" }, host: { listeners: { "click": "onClick($event)", "mouseenter": "showActionStrip()" }, properties: { "attr.role": "this.role", "attr.aria-disabled": "this.disabled", "class.igx-grid__tr--disabled": "this.disabled", "style.min-height.px": "this.rowHeight", "attr.data-rowIndex": "this.dataRowIndex", "attr.aria-selected": "this.selected" } }, viewQueries: [{ propertyName: "checkboxElement", first: true, predicate: i0.forwardRef(function () { return IgxCheckboxComponent; }), descendants: true, read: IgxCheckboxComponent }, { propertyName: "_virtDirRow", predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_cells", predicate: ["cell"], descendants: true }], ngImport: i0 });
26085
+ IgxRowDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: IgxRowDirective, selector: "[igxRowBaseComponent]", inputs: { data: "data", index: "index", disabled: "disabled", gridID: "gridID", selected: "selected" }, outputs: { addAnimationEnd: "addAnimationEnd" }, host: { listeners: { "click": "onClick($event)", "mouseenter": "showActionStrip()", "mouseleave": "hideActionStrip()" }, properties: { "attr.role": "this.role", "attr.aria-disabled": "this.disabled", "class.igx-grid__tr--disabled": "this.disabled", "style.min-height.px": "this.rowHeight", "attr.data-rowIndex": "this.dataRowIndex", "attr.aria-selected": "this.selected" } }, viewQueries: [{ propertyName: "checkboxElement", first: true, predicate: i0.forwardRef(function () { return IgxCheckboxComponent; }), descendants: true, read: IgxCheckboxComponent }, { propertyName: "_virtDirRow", predicate: ["igxDirRef"], descendants: true, read: IgxGridForOfDirective }, { propertyName: "_cells", predicate: ["cell"], descendants: true }], ngImport: i0 });
26055
26086
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IgxRowDirective, decorators: [{
26056
26087
  type: Directive,
26057
26088
  args: [{ selector: '[igxRowBaseComponent]' }]
@@ -26103,6 +26134,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
26103
26134
  }], showActionStrip: [{
26104
26135
  type: HostListener,
26105
26136
  args: ['mouseenter']
26137
+ }], hideActionStrip: [{
26138
+ type: HostListener,
26139
+ args: ['mouseleave']
26106
26140
  }] } });
26107
26141
 
26108
26142
  class IgxGridActionsBaseDirective {
@@ -26540,6 +26574,25 @@ class IgxActionStripComponent extends DisplayDensityBase {
26540
26574
  }
26541
26575
  return this._resourceStrings;
26542
26576
  }
26577
+ /**
26578
+ * Hide or not the Action Strip based on if it is a menu.
26579
+ *
26580
+ * @hidden
26581
+ * @internal
26582
+ */
26583
+ get hideOnRowLeave() {
26584
+ if (this.menu.items.length === 0) {
26585
+ return true;
26586
+ }
26587
+ else if (this.menu.items.length > 0) {
26588
+ if (this.menu.collapsed) {
26589
+ return true;
26590
+ }
26591
+ else {
26592
+ return false;
26593
+ }
26594
+ }
26595
+ }
26543
26596
  /**
26544
26597
  * Getter for the 'display' property of the current `IgxActionStrip`
26545
26598
  *
@@ -78833,7 +78886,7 @@ class IgxTreeGridRowComponent extends IgxRowDirective {
78833
78886
  if (isPinnedArea) {
78834
78887
  treeRec = this.grid.unpinnedRecords.find(x => x.data === this.data);
78835
78888
  }
78836
- return treeRec.level === 0;
78889
+ return treeRec?.level === 0;
78837
78890
  }
78838
78891
  /**
78839
78892
  * @hidden