Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@
"projects/igniteui-angular/test.css"
],
"assets": [
"projects/igniteui-angular/src/assets"
"projects/igniteui-angular/test-utils/assets"
],
"stylePreprocessorOptions": {
"includePaths": [
Expand Down
664 changes: 401 additions & 263 deletions package-lock.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export * from './accordion.component';
/* Imports that cannot be resolved from IGX_EXPANSION_PANEL_DIRECTIVES spread
NOTE: Do not remove! Issue: https://github.com/IgniteUI/igniteui-angular/issues/13310
*/
import {
import {
IgxExpansionPanelComponent,
IgxExpansionPanelHeaderComponent,
IgxExpansionPanelBodyComponent,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import { merge, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CarouselResourceStringsEN, ICarouselResourceStrings } from 'igniteui-angular/core';
import { CarouselResourceStringsEN, ICarouselResourceStrings, ɵIgxDirectionality } from 'igniteui-angular/core';
import { first, IBaseEventArgs, last, PlatformUtil } from 'igniteui-angular/core';
import { IgxAngularAnimationService } from 'igniteui-angular/core';
import { AnimationService } from 'igniteui-angular/core';
Expand All @@ -39,7 +39,6 @@ import { IgxButtonDirective } from 'igniteui-angular/directives';
import { getCurrentResourceStrings } from 'igniteui-angular/core';
import { HammerGesturesManager } from 'igniteui-angular/core';
import { CarouselAnimationType, CarouselIndicatorsOrientation } from './enums';
import { ɵIgxDirectionality } from 'igniteui-angular/core';

let NEXT_ID = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,9 @@ import {
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { first } from 'rxjs/operators';
import { IgxAvatarComponent } from '../../../../avatar/src/avatar/avatar.component';
import { IgxCalendarComponent } from '../../../../calendar/src/public_api';
import { IgxCalendarContainerComponent } from '../../../../date-picker/src/date-picker/calendar-container/calendar-container.component';
import { UIInteractions } from '../../../../test-utils/ui-interactions.spec';
import { IgxAngularAnimationService } from '../animation/angular-animation-service';
import { AnimationService } from '../animation/animation';
import { IgxOverlayOutletDirective, IgxToggleDirective } from '../../../../directives/src/directives/toggle/toggle.directive';
import { IgxOverlayService } from './overlay';
import { ContainerPositionStrategy } from './position';
import { AutoPositionStrategy } from './position/auto-position-strategy';
Expand All @@ -33,6 +29,7 @@ import { CloseScrollStrategy } from './scroll/close-scroll-strategy';
import { NoOpScrollStrategy } from './scroll/NoOpScrollStrategy';
import {
HorizontalAlignment,
IgxOverlayOutletDirective,
OffsetMode,
OverlayCancelableEventArgs,
OverlayEventArgs,
Expand All @@ -42,6 +39,10 @@ import {
VerticalAlignment
} from './utilities';
import { scaleInVerTop, scaleOutVerTop } from 'igniteui-angular/animations';
import { IgxCalendarContainerComponent } from 'igniteui-angular/date-picker';
import { IgxAvatarComponent } from 'igniteui-angular/avatar';
import { IgxCalendarComponent } from 'igniteui-angular/calendar';
import { IgxToggleDirective } from 'igniteui-angular/directives';

const CLASS_OVERLAY_CONTENT = 'igx-overlay__content';
const CLASS_OVERLAY_CONTENT_MODAL = 'igx-overlay__content--modal';
Expand Down
24 changes: 18 additions & 6 deletions projects/igniteui-angular/core/src/services/overlay/utilities.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,29 @@
import { AnimationReferenceMetadata } from '@angular/animations';
import { ComponentRef, ElementRef, Injector, NgZone } from '@angular/core';
import { ComponentRef, Directive, ElementRef, Injector, NgZone } from '@angular/core';
import { CancelableBrowserEventArgs, CancelableEventArgs, cloneValue, IBaseEventArgs } from '../../core/utils';
import { AnimationPlayer } from '../animation/animation';
import { IPositionStrategy } from './position/IPositionStrategy';
import { IScrollStrategy } from './scroll';

/**
* Interface representing an overlay outlet directive.
* The actual implementation is in igniteui-angular/directives.
* Mark an element as an igxOverlay outlet container.
* Directive instance is exported as `overlay-outlet` to be assigned to templates variables:
* ```html
* <div igxOverlayOutlet #outlet="overlay-outlet"></div>
* ```
*/
export interface IgxOverlayOutletDirective {
element: ElementRef;
readonly nativeElement: HTMLElement;
@Directive({
exportAs: 'overlay-outlet',
selector: '[igxOverlayOutlet]',
standalone: true
})
export class IgxOverlayOutletDirective {
constructor(public element: ElementRef<HTMLElement>) { }

/** @hidden */
public get nativeElement() {
return this.element.nativeElement;
}
}

/* blazorAlternateName: GridHorizontalAlignment */
Expand Down
3 changes: 2 additions & 1 deletion projects/igniteui-angular/core/src/services/public_api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ export * from './overlay/position';
export * from './overlay/scroll';
export {
AbsolutePosition, ConnectedFit, HorizontalAlignment, OffsetMode, OverlayAnimationEventArgs, OverlayCancelableEventArgs, OverlayClosingEventArgs,
OverlayCreateSettings, OverlayEventArgs, OverlaySettings, Point, PositionSettings, RelativePosition, RelativePositionStrategy, Size, VerticalAlignment, Util
OverlayCreateSettings, OverlayEventArgs, OverlaySettings, Point, PositionSettings, RelativePosition, RelativePositionStrategy, Size, VerticalAlignment, Util,
IgxOverlayOutletDirective
} from './overlay/utilities';
export * from './transaction/base-transaction';
export * from './transaction/hierarchical-transaction';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { IFormattingViews, IgxCalendarComponent, IgxCalendarHeaderTemplateDirect
import { IgxCalendarContainerComponent } from './calendar-container/calendar-container.component';
import { IgxDatePickerComponent } from './date-picker.component';
import {
IgxOverlayOutletDirective,
IgxOverlayService,
OverlayCancelableEventArgs, OverlayClosingEventArgs, OverlayEventArgs, OverlaySettings,
WEEKDAYS
Expand All @@ -18,7 +19,6 @@ import { By } from '@angular/platform-browser';
import { PickerCalendarOrientation, PickerHeaderOrientation, PickerInteractionMode } from '../../../core/src/date-common/types';
import { DatePart } from '../../../core/src/date-common/public_api';
import { DateRangeDescriptor, DateRangeType } from 'igniteui-angular/core';
import { IgxOverlayOutletDirective } from '../../../directives/src/directives/toggle/toggle.directive';
import { IgxPickerClearComponent, IgxPickerToggleComponent } from '../../../core/src/date-common/public_api';
import { DateTimeUtil } from '../../../core/src/date-common/util/date-time.util';
import { registerLocaleData } from "@angular/common";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ import {
import { fromEvent, Subscription, noop, MonoTypeOperatorFunction } from 'rxjs';
import { filter, takeUntil } from 'rxjs/operators';

import { IgxDateTimeEditorDirective, IgxOverlayOutletDirective, IgxTextSelectionDirective } from 'igniteui-angular/directives';
import { IgxDateTimeEditorDirective, IgxTextSelectionDirective } from 'igniteui-angular/directives';
import {
AbsoluteScrollStrategy,
AutoPositionStrategy,
Expand All @@ -64,7 +64,8 @@ import {
DateTimeUtil,
DatePartDeltas,
DatePart,
isDateInRanges
isDateInRanges,
IgxOverlayOutletDirective
} from 'igniteui-angular/core';
import { IDatePickerValidationFailedEventArgs } from './date-picker.common';
import { IgxIconComponent } from 'igniteui-angular/icon';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ import { getLocaleFirstDayOfWeek } from "@angular/common";
import { merge, Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { IGX_INPUT_GROUP_TYPE, IgxInputGroupComponent, IgxInputGroupType, IgxPrefixDirective, IgxSuffixDirective } from 'igniteui-angular/input-group';
import { DateRange, EditorProvider, IBaseCancelableBrowserEventArgs, IBaseEventArgs, IgxPickerClearComponent, IgxPickerToggleComponent, IToggleView, OverlaySettings, PickerHeaderOrientation, PickerInteractionMode, WEEKDAYS } from 'igniteui-angular/core';
import { IgxOverlayOutletDirective } from 'igniteui-angular/directives';
import { DateRange, EditorProvider, IBaseCancelableBrowserEventArgs, IBaseEventArgs, IgxOverlayOutletDirective, IgxPickerClearComponent, IgxPickerToggleComponent, IToggleView, OverlaySettings, PickerHeaderOrientation, PickerInteractionMode, WEEKDAYS } from 'igniteui-angular/core';

@Directive()
export abstract class PickerBaseDirective implements IToggleView, EditorProvider, AfterViewInit, AfterContentChecked, OnDestroy {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ import {
DateTimeUtil,
IgxPickerActionsDirective,
isDateInRanges,
PickerCalendarOrientation
PickerCalendarOrientation,
IgxOverlayOutletDirective
} from 'igniteui-angular/core';
import { IgxCalendarContainerComponent } from '../date-picker/calendar-container/calendar-container.component';
import { PickerBaseDirective } from '../date-picker/picker-base.directive';
import { IgxOverlayOutletDirective } from 'igniteui-angular/directives';
import {
IgxInputDirective,
IgxInputGroupComponent,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Directive, ElementRef, HostBinding, Input, OnDestroy, booleanAttribute } from '@angular/core';
import { IToggleView } from 'igniteui-angular/core';
import { IgxOverlayOutletDirective, IToggleView } from 'igniteui-angular/core';
import { IPositionStrategy, OverlaySettings } from 'igniteui-angular/core';
import { IgxOverlayOutletDirective, IgxToggleDirective } from '../toggle/toggle.directive';
import { IgxToggleDirective } from '../toggle/toggle.directive';

@Directive()
export abstract class IgxNotificationsDirective extends IgxToggleDirective
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,10 @@ import { ChangeDetectionStrategy, Component, DebugElement, ViewChild, ElementRef
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { IgxToggleActionDirective, IgxToggleDirective, IgxOverlayOutletDirective } from './toggle.directive';
import {
IgxOverlayService, OverlaySettings, ConnectedPositioningStrategy,
AbsoluteScrollStrategy, AutoPositionStrategy, HorizontalAlignment
} from '../../../../core/src/services/public_api';
import { CancelableEventArgs } from '../../../../core/src/core/utils';
import { IgxToggleActionDirective, IgxToggleDirective } from './toggle.directive';

import { first } from 'rxjs/operators';
import { OffsetMode } from '../../../../core/src/services/overlay/utilities';
import { AbsoluteScrollStrategy, AutoPositionStrategy, CancelableEventArgs, ConnectedPositioningStrategy, HorizontalAlignment, IgxOverlayOutletDirective, IgxOverlayService, OffsetMode, OverlaySettings } from 'igniteui-angular/core';

describe('IgxToggle', () => {
const HIDDEN_TOGGLER_CLASS = 'igx-toggle--hidden';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
Optional,
Output,
} from '@angular/core';
import { AbsoluteScrollStrategy } from 'igniteui-angular/core';
import { AbsoluteScrollStrategy, IgxOverlayOutletDirective } from 'igniteui-angular/core';
import { CancelableBrowserEventArgs, IBaseEventArgs, PlatformUtil } from 'igniteui-angular/core';
import { ConnectedPositioningStrategy } from 'igniteui-angular/core';
import { filter, first, takeUntil } from 'rxjs/operators';
Expand Down Expand Up @@ -526,24 +526,3 @@ export class IgxToggleActionDirective implements OnInit {
return settings;
}
}

/**
* Mark an element as an igxOverlay outlet container.
* Directive instance is exported as `overlay-outlet` to be assigned to templates variables:
* ```html
* <div igxOverlayOutlet #outlet="overlay-outlet"></div>
* ```
*/
@Directive({
exportAs: 'overlay-outlet',
selector: '[igxOverlayOutlet]',
standalone: true
})
export class IgxOverlayOutletDirective {
constructor(public element: ElementRef<HTMLElement>) { }

/** @hidden */
public get nativeElement() {
return this.element.nativeElement;
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { NgModule } from '@angular/core';
import { IgxOverlayOutletDirective, IgxToggleActionDirective, IgxToggleDirective } from './toggle.directive';
import { IgxToggleActionDirective, IgxToggleDirective } from './toggle.directive';

/**
* @hidden
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
*/
@NgModule({
imports: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective],
exports: [IgxToggleDirective, IgxToggleActionDirective, IgxOverlayOutletDirective]
imports: [IgxToggleDirective, IgxToggleActionDirective],
exports: [IgxToggleDirective, IgxToggleActionDirective]
})
export class IgxToggleModule { }
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
import { NgModel, FormControlName } from '@angular/forms';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';
import { CancelableEventArgs, IBaseEventArgs, IgxOverlayOutletDirective } from 'igniteui-angular/core';
import {
AbsoluteScrollStrategy,
AutoPositionStrategy,
Expand All @@ -28,7 +28,6 @@ import {
} from 'igniteui-angular/core';
import { IgxDropDownComponent } from '../drop-down.component';
import { IgxDropDownItemNavigationDirective } from '../drop-down-navigation.directive';
import { IgxOverlayOutletDirective } from 'igniteui-angular/directives';
import { ISelectionEventArgs } from '../drop-down.common';
import { IgxInputGroupComponent } from 'igniteui-angular/input-group';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export { ISelectionEventArgs, IDropDownNavigationDirective } from './drop-down.c
export * from './drop-down-navigation.directive';
export * from './drop-down-group.component';
export * from './autocomplete/autocomplete.directive';
export * from './autocomplete/autocomplete.module';

/* NOTE: Drop down directives collection for ease-of-use import in standalone components scenario */
export const IGX_DROP_DOWN_DIRECTIVES = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
IgxColumnMinLengthValidatorDirective,
IgxColumnMinValidatorDirective,
IgxColumnRequiredValidatorDirective,
IgxColumPatternValidatorDirective
IgxColumnPatternValidatorDirective
} from './validators.directive';

export * from './column.component';
Expand All @@ -35,7 +35,7 @@ export const IGX_GRID_VALIDATION_DIRECTIVES = [
IgxColumnEmailValidatorDirective,
IgxColumnMinLengthValidatorDirective,
IgxColumnMaxLengthValidatorDirective,
IgxColumPatternValidatorDirective
IgxColumnPatternValidatorDirective
] as const;

/* NOTE: Grid column validation directives collection for ease-of-use import in standalone components scenario */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Directive } from '@angular/core';
import { RequiredValidator, NG_VALIDATORS, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator } from '@angular/forms';

@Directive({

selector: 'igx-column[required]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -15,7 +15,7 @@ export class IgxColumnRequiredValidatorDirective extends RequiredValidator {
}

@Directive({

selector: 'igx-column[min]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -28,7 +28,7 @@ export class IgxColumnMinValidatorDirective extends MinValidator { }


@Directive({

selector: 'igx-column[max]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -41,7 +41,7 @@ export class IgxColumnMaxValidatorDirective extends MaxValidator { }


@Directive({

selector: 'igx-column[email]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -54,7 +54,7 @@ export class IgxColumnEmailValidatorDirective extends EmailValidator { }


@Directive({

selector: 'igx-column[minlength]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -66,7 +66,7 @@ export class IgxColumnEmailValidatorDirective extends EmailValidator { }
export class IgxColumnMinLengthValidatorDirective extends MinLengthValidator { }

@Directive({

selector: 'igx-column[maxlength]',
providers: [{
provide: NG_VALIDATORS,
Expand All @@ -79,14 +79,14 @@ export class IgxColumnMaxLengthValidatorDirective extends MaxLengthValidator {
}

@Directive({

selector: 'igx-column[pattern]',
providers: [{
provide: NG_VALIDATORS,
useExisting: IgxColumPatternValidatorDirective,
useExisting: IgxColumnPatternValidatorDirective,
multi: true
}],
standalone: true
})
export class IgxColumPatternValidatorDirective extends PatternValidator {
export class IgxColumnPatternValidatorDirective extends PatternValidator {
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ import { IgxCell, IgxEditRow } from './crud.service';
import { GridSelectionRange } from './types';
import { DropPosition, IgxColumnMovingService } from '../moving/moving.service';
import { Observable, Subject } from 'rxjs';
import { ColumnPinningPosition, ColumnType, FilteringExpressionsTree, FilteringLogic, GridColumnDataType, GridSummaryCalculationMode, GridTypeBase, IDataCloneStrategy, IFilteringExpressionsTree, IFilteringStrategy, IGridGroupingStrategy, IGridMergeStrategy, IGridResourceStrings, IGridSortingStrategy, IGroupByExpandState, IGroupByRecord, IGroupingExpression, IgxSummaryResult, IPathSegment, ISortingExpression, ISortingOptions, ITreeGridRecord, OverlaySettings, ɵSize, SortingDirection, State, Transaction, TransactionService } from 'igniteui-angular/core';
import { ColumnPinningPosition, ColumnType, FilteringExpressionsTree, FilteringLogic, GridColumnDataType, GridSummaryCalculationMode, GridTypeBase, IDataCloneStrategy, IFilteringExpressionsTree, IFilteringStrategy, IGridGroupingStrategy, IGridMergeStrategy, IGridResourceStrings, IGridSortingStrategy, IGroupByExpandState, IGroupByRecord, IGroupingExpression, IgxSummaryResult, IPathSegment, ISortingExpression, ISortingOptions, ITreeGridRecord, OverlaySettings, ɵSize, SortingDirection, State, Transaction, TransactionService, type IgxOverlayOutletDirective } from 'igniteui-angular/core';
import { FormControl, FormGroup, ValidationErrors } from '@angular/forms';
import type { IForOfState, IgxGridForOfDirective, IgxOverlayOutletDirective, IgxToggleDirective } from 'igniteui-angular/directives';
import type { IForOfState, IgxGridForOfDirective, IgxToggleDirective } from 'igniteui-angular/directives';
import type { IgxPaginatorComponent } from 'igniteui-angular/paginator';
import { IgxGridValidationService } from '../grid-validation.service';
import { IDimensionsChange, IPivotConfiguration, IPivotDimension, IPivotKeys, IPivotUISettings, IPivotValue, IValuesChange, PivotDimensionType } from '../pivot-grid.interface';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/sel
import { IgxInputDirective, IgxInputGroupComponent, IgxPrefixDirective } from 'igniteui-angular/input-group';
import { IgxIconComponent } from 'igniteui-angular/icon';
import { IgxDatePickerComponent } from 'igniteui-angular/date-picker';
import { IgxPickerClearComponent, IgxPickerToggleComponent } from 'igniteui-angular/core';
import { IgxOverlayOutletDirective, IgxPickerClearComponent, IgxPickerToggleComponent } from 'igniteui-angular/core';
import { IgxTimePickerComponent } from 'igniteui-angular/time-picker';
import { IgxButtonDirective, IgxDateTimeEditorDirective, IgxIconButtonDirective, IgxOverlayOutletDirective } from 'igniteui-angular/directives';
import { IgxButtonDirective, IgxDateTimeEditorDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';
import { IgxButtonGroupComponent } from 'igniteui-angular/button-group';

/**
Expand Down
Loading
Loading