igniteui-angular 17.2.25 → 17.2.26

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.
@@ -713,6 +713,13 @@ function* intoChunks(arr, size) {
713
713
  yield arr.slice(i, i + size);
714
714
  }
715
715
  }
716
+ /**
717
+ * @param path - The URI path to be normalized.
718
+ * @returns string encoded using the encodeURI function.
719
+ */
720
+ function normalizeURI(path) {
721
+ return path.split('/').map(encodeURI).join('/');
722
+ }
716
723
 
717
724
  var PagingError;
718
725
  (function (PagingError) {
@@ -26823,6 +26830,21 @@ class IgxAvatarComponent {
26823
26830
  get isCircle() {
26824
26831
  return this.shape === 'circle';
26825
26832
  }
26833
+ /**
26834
+ * Sets the image source of the avatar.
26835
+ *
26836
+ * @example
26837
+ * ```html
26838
+ * <igx-avatar src="images/picture.jpg"></igx-avatar>
26839
+ * ```
26840
+ * @igxFriendlyName Image URL
26841
+ */
26842
+ set src(value) {
26843
+ this._src = normalizeURI(value);
26844
+ }
26845
+ get src() {
26846
+ return this._src;
26847
+ }
26826
26848
  /**
26827
26849
  * Returns the size of the avatar.
26828
26850
  *
@@ -39188,6 +39210,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
39188
39210
  this._calendar.locale = this.locale;
39189
39211
  this._calendar.weekStart = this.weekStart;
39190
39212
  this._calendar.specialDates = this.specialDates;
39213
+ this._calendar.headerTitleTemplate = this.headerTitleTemplate;
39191
39214
  this._calendar.headerTemplate = this.headerTemplate;
39192
39215
  this._calendar.subheaderTemplate = this.subheaderTemplate;
39193
39216
  this._calendar.headerOrientation = this.headerOrientation;
@@ -39226,7 +39249,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
39226
39249
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.4", type: IgxDatePickerComponent, isStandalone: true, selector: "igx-date-picker", inputs: { hideOutsideDays: ["hideOutsideDays", "hideOutsideDays", booleanAttribute], displayMonthsCount: "displayMonthsCount", showWeekNumbers: ["showWeekNumbers", "showWeekNumbers", booleanAttribute], formatter: "formatter", headerOrientation: "headerOrientation", todayButtonLabel: "todayButtonLabel", cancelButtonLabel: "cancelButtonLabel", spinLoop: ["spinLoop", "spinLoop", booleanAttribute], spinDelta: "spinDelta", outlet: "outlet", id: "id", formatViews: "formatViews", disabledDates: "disabledDates", specialDates: "specialDates", calendarFormat: "calendarFormat", value: "value", minValue: "minValue", maxValue: "maxValue", resourceStrings: "resourceStrings", readOnly: ["readOnly", "readOnly", booleanAttribute] }, outputs: { valueChange: "valueChange", validationFailed: "validationFailed" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.id": "this.id" } }, providers: [
39227
39250
  { provide: NG_VALUE_ACCESSOR, useExisting: IgxDatePickerComponent, multi: true },
39228
39251
  { provide: NG_VALIDATORS, useExisting: IgxDatePickerComponent, multi: true }
39229
- ], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: IgxCalendarHeaderTemplateDirective, descendants: true }, { propertyName: "subheaderTemplate", first: true, predicate: IgxCalendarSubheaderTemplateDirective, descendants: true }, { propertyName: "pickerActions", first: true, predicate: IgxPickerActionsDirective, descendants: true }, { propertyName: "clearComponents", predicate: IgxPickerClearComponent }], viewQueries: [{ propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "viewContainerRef", first: true, predicate: IgxInputGroupComponent, descendants: true, read: ViewContainerRef }, { propertyName: "labelDirective", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group [displayDensity]=\"displayDensity\" [type]=\"type\">\n <igx-prefix *ngIf=\"!toggleComponents.length\" (click)=\"toggle()\">\n <igx-icon [title]=\"value\n ? pickerResourceStrings.igx_date_picker_change_date\n : pickerResourceStrings.igx_date_picker_choose_date\">calendar_today</igx-icon>\n </igx-prefix>\n\n <input class=\"igx-date-picker__input-date\" [displayValuePipe]=\"formatter ? displayValue : null\" igxInput\n [igxDateTimeEditor]=\"inputFormat\" [displayFormat]=\"displayFormat\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [spinDelta]=\"spinDelta\" [spinLoop]=\"spinLoop\"\n [disabled]=\"disabled\" [placeholder]=\"placeholder\" [readonly]=\"!isDropdown || readOnly\"\n [igxTextSelection]=\"isDropdown && !readOnly\" [locale]=\"locale\" [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-labelledby]=\"label?.id\" aria-haspopup=\"dialog\" aria-autocomplete=\"none\" role=\"combobox\">\n\n <igx-suffix *ngIf=\"!clearComponents.length && value\" (click)=\"clear()\">\n <igx-icon>clear</igx-icon>\n </igx-suffix>\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }] }); }
39252
+ ], queries: [{ propertyName: "label", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: IgxCalendarHeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: IgxCalendarHeaderTemplateDirective, descendants: true }, { propertyName: "subheaderTemplate", first: true, predicate: IgxCalendarSubheaderTemplateDirective, descendants: true }, { propertyName: "pickerActions", first: true, predicate: IgxPickerActionsDirective, descendants: true }, { propertyName: "clearComponents", predicate: IgxPickerClearComponent }], viewQueries: [{ propertyName: "dateTimeEditor", first: true, predicate: IgxDateTimeEditorDirective, descendants: true, static: true }, { propertyName: "viewContainerRef", first: true, predicate: IgxInputGroupComponent, descendants: true, read: ViewContainerRef }, { propertyName: "labelDirective", first: true, predicate: IgxLabelDirective, descendants: true }, { propertyName: "inputDirective", first: true, predicate: IgxInputDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<igx-input-group [displayDensity]=\"displayDensity\" [type]=\"type\">\n <igx-prefix *ngIf=\"!toggleComponents.length\" (click)=\"toggle()\">\n <igx-icon [title]=\"value\n ? pickerResourceStrings.igx_date_picker_change_date\n : pickerResourceStrings.igx_date_picker_choose_date\">calendar_today</igx-icon>\n </igx-prefix>\n\n <input class=\"igx-date-picker__input-date\" [displayValuePipe]=\"formatter ? displayValue : null\" igxInput\n [igxDateTimeEditor]=\"inputFormat\" [displayFormat]=\"displayFormat\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [spinDelta]=\"spinDelta\" [spinLoop]=\"spinLoop\"\n [disabled]=\"disabled\" [placeholder]=\"placeholder\" [readonly]=\"!isDropdown || readOnly\"\n [igxTextSelection]=\"isDropdown && !readOnly\" [locale]=\"locale\" [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-labelledby]=\"label?.id\" aria-haspopup=\"dialog\" aria-autocomplete=\"none\" role=\"combobox\">\n\n <igx-suffix *ngIf=\"!clearComponents.length && value\" (click)=\"clear()\">\n <igx-icon>clear</igx-icon>\n </igx-suffix>\n\n <ng-container ngProjectAs=\"[igxLabel]\">\n <ng-content select=\"[igxLabel]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-prefix\">\n <ng-content select=\"igx-prefix,[igxPrefix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-suffix\">\n <ng-content select=\"igx-suffix,[igxSuffix]\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"igx-hint\">\n <ng-content select=\"igx-hint,[igxHint]\"></ng-content>\n </ng-container>\n</igx-input-group>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IgxInputGroupComponent, selector: "igx-input-group", inputs: ["resourceStrings", "suppressInputAutofocus", "type", "theme"] }, { kind: "directive", type: IgxPrefixDirective, selector: "igx-prefix,[igxPrefix],[igxStart]" }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }, { kind: "directive", type: IgxInputDirective, selector: "[igxInput]", inputs: ["value", "disabled", "required"], exportAs: ["igxInput"] }, { kind: "directive", type: IgxDateTimeEditorDirective, selector: "[igxDateTimeEditor]", inputs: ["locale", "minValue", "maxValue", "spinLoop", "displayFormat", "igxDateTimeEditor", "value", "spinDelta"], outputs: ["valueChange", "validationFailed"], exportAs: ["igxDateTimeEditor"] }, { kind: "directive", type: IgxTextSelectionDirective, selector: "[igxTextSelection]", inputs: ["igxTextSelection"], exportAs: ["igxTextSelection"] }, { kind: "directive", type: IgxSuffixDirective, selector: "igx-suffix,[igxSuffix],[igxEnd]" }] }); }
39230
39253
  }
39231
39254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgxDatePickerComponent, decorators: [{
39232
39255
  type: Component,
@@ -39316,6 +39339,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
39316
39339
  }], label: [{
39317
39340
  type: ContentChild,
39318
39341
  args: [IgxLabelDirective]
39342
+ }], headerTitleTemplate: [{
39343
+ type: ContentChild,
39344
+ args: [IgxCalendarHeaderTitleTemplateDirective]
39319
39345
  }], headerTemplate: [{
39320
39346
  type: ContentChild,
39321
39347
  args: [IgxCalendarHeaderTemplateDirective]
@@ -47228,28 +47254,18 @@ class IgxQueryBuilderComponent extends DisplayDensityBase {
47228
47254
  * @hidden @internal
47229
47255
  */
47230
47256
  deleteGroup() {
47231
- const selectedGroup = this.contextualGroup;
47257
+ let selectedGroup = this.contextualGroup;
47232
47258
  let parent = selectedGroup.parent;
47233
- if (parent) {
47259
+ if (!parent) {
47260
+ this.rootGroup = null;
47261
+ }
47262
+ while (parent) {
47234
47263
  let index = parent.children.indexOf(selectedGroup);
47235
47264
  parent.children.splice(index, 1);
47236
- if (parent.children.length === 0) {
47237
- let childGroup = parent;
47238
- parent = parent.parent;
47239
- while (parent && parent.children.length === 1) {
47240
- childGroup = parent;
47241
- parent = parent.parent;
47242
- }
47243
- if (parent) {
47244
- index = parent.children.indexOf(childGroup);
47245
- parent.children.splice(index, 1);
47246
- }
47247
- else {
47248
- this.rootGroup = null;
47249
- }
47250
- }
47265
+ selectedGroup = parent;
47266
+ parent = parent.children.length === 0 ? parent.parent : null;
47251
47267
  }
47252
- else {
47268
+ if (this.rootGroup?.children.length === 0) {
47253
47269
  this.rootGroup = null;
47254
47270
  }
47255
47271
  this.clearSelection();
@@ -89670,7 +89686,6 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
89670
89686
  // input click
89671
89687
  if (this.hasProjectedInputs && this._focusedInput) {
89672
89688
  this._focusedInput.setFocus();
89673
- this._focusedInput = null;
89674
89689
  }
89675
89690
  if (this.inputDirective) {
89676
89691
  this.inputDirective.focus();
@@ -89714,6 +89729,7 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
89714
89729
  this.updateCalendar();
89715
89730
  }
89716
89731
  updateValidityOnBlur() {
89732
+ this._focusedInput = null;
89717
89733
  this.onTouchCallback();
89718
89734
  if (this._ngControl) {
89719
89735
  if (this.hasProjectedInputs) {