igniteui-angular 17.1.0-beta.3 → 17.1.0-rc.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.
@@ -11,7 +11,7 @@ import * as i1 from '@angular/animations';
11
11
  import { style, animate, useAnimation, trigger, transition } from '@angular/animations';
12
12
  import { scaleInVerTop, scaleOutVerTop, AnimationUtil, fadeIn, fadeOut, slideInTop, slideOutTop, slideInBottom, slideOutBottom, scaleInHorRight, scaleOutHorRight, scaleInHorLeft, scaleOutHorLeft, scaleInVerBottom, scaleOutVerBottom, scaleInCenter, growVerIn, growVerOut, slideInRight, slideInLeft } from 'igniteui-angular/animations';
13
13
  import * as i1$1 from '@angular/platform-browser';
14
- import { HammerGestureConfig, HAMMER_GESTURE_CONFIG, ɵgetDOM as _getDOM } from '@angular/platform-browser';
14
+ import { ɵgetDOM as _getDOM, HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
15
15
  import * as i2 from '@angular/common/http';
16
16
  import { addRow, addChild, pinLeft, unpinLeft, jumpDown, jumpUp, caseSensitive, editor } from '@igniteui/material-icons-extended';
17
17
  import { __decorate, __param } from 'tslib';
@@ -7073,6 +7073,12 @@ class IgxTextHighlightService {
7073
7073
  });
7074
7074
  this.onActiveElementChanged.emit(groupName);
7075
7075
  }
7076
+ /**
7077
+ * Destroys a highlight group.
7078
+ */
7079
+ destroyGroup(groupName) {
7080
+ this.highlightGroupsMap.delete(groupName);
7081
+ }
7076
7082
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxTextHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7077
7083
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgxTextHighlightService, providedIn: 'root' }); }
7078
7084
  }
@@ -29645,11 +29651,163 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
29645
29651
  args: ['focusout']
29646
29652
  }] } });
29647
29653
 
29654
+ const EVENT_SUFFIX = 'precise';
29655
+ /**
29656
+ * Touch gestures manager based on Hammer.js
29657
+ * Use with caution, this will track references for single manager per element. Very TBD. Much TODO.
29658
+ *
29659
+ * @hidden
29660
+ */
29661
+ class HammerGesturesManager {
29662
+ static { this.Hammer = typeof window !== 'undefined' ? window.Hammer : null; }
29663
+ constructor(_zone, doc, platformUtil) {
29664
+ this._zone = _zone;
29665
+ this.doc = doc;
29666
+ this.platformUtil = platformUtil;
29667
+ /**
29668
+ * Event option defaults for each recognizer, see http://hammerjs.github.io/api/ for API listing.
29669
+ */
29670
+ this.hammerOptions = {};
29671
+ this._hammerManagers = [];
29672
+ this.platformBrowser = this.platformUtil.isBrowser;
29673
+ if (this.platformBrowser && HammerGesturesManager.Hammer) {
29674
+ this.hammerOptions = {
29675
+ // D.P. #447 Force TouchInput due to PointerEventInput bug (https://github.com/hammerjs/hammer.js/issues/1065)
29676
+ // see https://github.com/IgniteUI/igniteui-angular/issues/447#issuecomment-324601803
29677
+ inputClass: HammerGesturesManager.Hammer.TouchInput,
29678
+ recognizers: [
29679
+ [HammerGesturesManager.Hammer.Pan, { threshold: 0 }],
29680
+ [HammerGesturesManager.Hammer.Swipe, { direction: HammerGesturesManager.Hammer.DIRECTION_HORIZONTAL }],
29681
+ [HammerGesturesManager.Hammer.Tap],
29682
+ [HammerGesturesManager.Hammer.Tap, { event: 'doubletap', taps: 2 }, ['tap']]
29683
+ ]
29684
+ };
29685
+ }
29686
+ }
29687
+ supports(eventName) {
29688
+ return eventName.toLowerCase().endsWith('.' + EVENT_SUFFIX);
29689
+ }
29690
+ /**
29691
+ * Add listener extended with options for Hammer.js. Will use defaults if none are provided.
29692
+ * Modeling after other event plugins for easy future modifications.
29693
+ */
29694
+ addEventListener(element, eventName, eventHandler, options = null) {
29695
+ if (!this.platformBrowser) {
29696
+ return;
29697
+ }
29698
+ // Creating the manager bind events, must be done outside of angular
29699
+ return this._zone.runOutsideAngular(() => {
29700
+ if (!HammerGesturesManager.Hammer) {
29701
+ //no hammer
29702
+ return;
29703
+ }
29704
+ let mc = this.getManagerForElement(element);
29705
+ if (mc === null) {
29706
+ // new Hammer is a shortcut for Manager with defaults
29707
+ mc = new HammerGesturesManager.Hammer(element, Object.assign(this.hammerOptions, options));
29708
+ this.addManagerForElement(element, mc);
29709
+ }
29710
+ const handler = (eventObj) => this._zone.run(() => eventHandler(eventObj));
29711
+ mc.on(eventName, handler);
29712
+ return () => mc.off(eventName, handler);
29713
+ });
29714
+ }
29715
+ /**
29716
+ * Add listener extended with options for Hammer.js. Will use defaults if none are provided.
29717
+ * Modeling after other event plugins for easy future modifications.
29718
+ *
29719
+ * @param target Can be one of either window, body or document(fallback default).
29720
+ */
29721
+ addGlobalEventListener(target, eventName, eventHandler) {
29722
+ if (!this.platformBrowser || !HammerGesturesManager.Hammer) {
29723
+ return;
29724
+ }
29725
+ const element = this.getGlobalEventTarget(target);
29726
+ // Creating the manager bind events, must be done outside of angular
29727
+ return this.addEventListener(element, eventName, eventHandler);
29728
+ }
29729
+ /**
29730
+ * Exposes [Dom]Adapter.getGlobalEventTarget to get global event targets.
29731
+ * Supported: window, document, body. Defaults to document for invalid args.
29732
+ *
29733
+ * @param target Target name
29734
+ */
29735
+ getGlobalEventTarget(target) {
29736
+ return _getDOM().getGlobalEventTarget(this.doc, target);
29737
+ }
29738
+ /**
29739
+ * Set HammerManager options.
29740
+ *
29741
+ * @param element The DOM element used to create the manager on.
29742
+ *
29743
+ * ### Example
29744
+ *
29745
+ * ```ts
29746
+ * manager.setManagerOption(myElem, "pan", { pointers: 1 });
29747
+ * ```
29748
+ */
29749
+ setManagerOption(element, event, options) {
29750
+ const manager = this.getManagerForElement(element);
29751
+ manager.get(event).set(options);
29752
+ }
29753
+ /**
29754
+ * Add an element and manager map to the internal collection.
29755
+ *
29756
+ * @param element The DOM element used to create the manager on.
29757
+ */
29758
+ addManagerForElement(element, manager) {
29759
+ this._hammerManagers.push({ element, manager });
29760
+ }
29761
+ /**
29762
+ * Get HammerManager for the element or null
29763
+ *
29764
+ * @param element The DOM element used to create the manager on.
29765
+ */
29766
+ getManagerForElement(element) {
29767
+ const result = this._hammerManagers.filter(value => value.element === element);
29768
+ return result.length ? result[0].manager : null;
29769
+ }
29770
+ /**
29771
+ * Destroys the HammerManager for the element, removing event listeners in the process.
29772
+ *
29773
+ * @param element The DOM element used to create the manager on.
29774
+ */
29775
+ removeManagerForElement(element) {
29776
+ let index = null;
29777
+ for (let i = 0; i < this._hammerManagers.length; i++) {
29778
+ if (element === this._hammerManagers[i].element) {
29779
+ index = i;
29780
+ break;
29781
+ }
29782
+ }
29783
+ if (index !== null) {
29784
+ const item = this._hammerManagers.splice(index, 1)[0];
29785
+ // destroy also
29786
+ item.manager.destroy();
29787
+ }
29788
+ }
29789
+ /** Destroys all internally tracked HammerManagers, removing event listeners in the process. */
29790
+ destroy() {
29791
+ for (const item of this._hammerManagers) {
29792
+ item.manager.destroy();
29793
+ }
29794
+ this._hammerManagers = [];
29795
+ }
29796
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager, deps: [{ token: i0.NgZone }, { token: DOCUMENT }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Injectable }); }
29797
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager }); }
29798
+ }
29799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager, decorators: [{
29800
+ type: Injectable
29801
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
29802
+ type: Inject,
29803
+ args: [DOCUMENT]
29804
+ }] }, { type: PlatformUtil }] });
29805
+
29648
29806
  class CalendarHammerConfig extends HammerGestureConfig {
29649
29807
  constructor() {
29650
29808
  super(...arguments);
29651
29809
  this.overrides = {
29652
- pan: { direction: Hammer.DIRECTION_VERTICAL, threshold: 1 }
29810
+ pan: { direction: HammerGesturesManager.Hammer?.DIRECTION_VERTICAL, threshold: 1 }
29653
29811
  };
29654
29812
  }
29655
29813
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CalendarHammerConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -32789,7 +32947,7 @@ class CarouselHammerConfig extends HammerGestureConfig {
32789
32947
  constructor() {
32790
32948
  super(...arguments);
32791
32949
  this.overrides = {
32792
- pan: { direction: Hammer.DIRECTION_HORIZONTAL }
32950
+ pan: { direction: HammerGesturesManager.Hammer?.DIRECTION_HORIZONTAL }
32793
32951
  };
32794
32952
  }
32795
32953
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CarouselHammerConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -41609,7 +41767,7 @@ class IgxColumnComponent {
41609
41767
  this._visibleWhenCollapsed = value;
41610
41768
  this.visibleWhenCollapsedChange.emit(this._visibleWhenCollapsed);
41611
41769
  if (this.parent) {
41612
- this.parent.setExpandCollapseState();
41770
+ this.parent?.setExpandCollapseState?.();
41613
41771
  }
41614
41772
  }
41615
41773
  get visibleWhenCollapsed() {
@@ -44558,153 +44716,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
44558
44716
  type: Input
44559
44717
  }] } });
44560
44718
 
44561
- const EVENT_SUFFIX = 'precise';
44562
- /**
44563
- * Touch gestures manager based on Hammer.js
44564
- * Use with caution, this will track references for single manager per element. Very TBD. Much TODO.
44565
- *
44566
- * @hidden
44567
- */
44568
- class HammerGesturesManager {
44569
- constructor(_zone, doc, platformUtil) {
44570
- this._zone = _zone;
44571
- this.doc = doc;
44572
- this.platformUtil = platformUtil;
44573
- /**
44574
- * Event option defaults for each recognizer, see http://hammerjs.github.io/api/ for API listing.
44575
- */
44576
- this.hammerOptions = {};
44577
- this._hammerManagers = [];
44578
- this.platformBrowser = this.platformUtil.isBrowser;
44579
- if (this.platformBrowser) {
44580
- this.hammerOptions = {
44581
- // D.P. #447 Force TouchInput due to PointerEventInput bug (https://github.com/hammerjs/hammer.js/issues/1065)
44582
- // see https://github.com/IgniteUI/igniteui-angular/issues/447#issuecomment-324601803
44583
- inputClass: Hammer.TouchInput,
44584
- recognizers: [
44585
- [Hammer.Pan, { threshold: 0 }],
44586
- [Hammer.Swipe, { direction: Hammer.DIRECTION_HORIZONTAL }],
44587
- [Hammer.Tap],
44588
- [Hammer.Tap, { event: 'doubletap', taps: 2 }, ['tap']]
44589
- ]
44590
- };
44591
- }
44592
- }
44593
- supports(eventName) {
44594
- return eventName.toLowerCase().endsWith('.' + EVENT_SUFFIX);
44595
- }
44596
- /**
44597
- * Add listener extended with options for Hammer.js. Will use defaults if none are provided.
44598
- * Modeling after other event plugins for easy future modifications.
44599
- */
44600
- addEventListener(element, eventName, eventHandler, options = null) {
44601
- if (!this.platformBrowser) {
44602
- return;
44603
- }
44604
- // Creating the manager bind events, must be done outside of angular
44605
- return this._zone.runOutsideAngular(() => {
44606
- let mc = this.getManagerForElement(element);
44607
- if (mc === null) {
44608
- // new Hammer is a shortcut for Manager with defaults
44609
- mc = new Hammer(element, Object.assign(this.hammerOptions, options));
44610
- this.addManagerForElement(element, mc);
44611
- }
44612
- const handler = (eventObj) => this._zone.run(() => eventHandler(eventObj));
44613
- mc.on(eventName, handler);
44614
- return () => mc.off(eventName, handler);
44615
- });
44616
- }
44617
- /**
44618
- * Add listener extended with options for Hammer.js. Will use defaults if none are provided.
44619
- * Modeling after other event plugins for easy future modifications.
44620
- *
44621
- * @param target Can be one of either window, body or document(fallback default).
44622
- */
44623
- addGlobalEventListener(target, eventName, eventHandler) {
44624
- if (!this.platformBrowser) {
44625
- return;
44626
- }
44627
- const element = this.getGlobalEventTarget(target);
44628
- // Creating the manager bind events, must be done outside of angular
44629
- return this.addEventListener(element, eventName, eventHandler);
44630
- }
44631
- /**
44632
- * Exposes [Dom]Adapter.getGlobalEventTarget to get global event targets.
44633
- * Supported: window, document, body. Defaults to document for invalid args.
44634
- *
44635
- * @param target Target name
44636
- */
44637
- getGlobalEventTarget(target) {
44638
- return _getDOM().getGlobalEventTarget(this.doc, target);
44639
- }
44640
- /**
44641
- * Set HammerManager options.
44642
- *
44643
- * @param element The DOM element used to create the manager on.
44644
- *
44645
- * ### Example
44646
- *
44647
- * ```ts
44648
- * manager.setManagerOption(myElem, "pan", { pointers: 1 });
44649
- * ```
44650
- */
44651
- setManagerOption(element, event, options) {
44652
- const manager = this.getManagerForElement(element);
44653
- manager.get(event).set(options);
44654
- }
44655
- /**
44656
- * Add an element and manager map to the internal collection.
44657
- *
44658
- * @param element The DOM element used to create the manager on.
44659
- */
44660
- addManagerForElement(element, manager) {
44661
- this._hammerManagers.push({ element, manager });
44662
- }
44663
- /**
44664
- * Get HammerManager for the element or null
44665
- *
44666
- * @param element The DOM element used to create the manager on.
44667
- */
44668
- getManagerForElement(element) {
44669
- const result = this._hammerManagers.filter(value => value.element === element);
44670
- return result.length ? result[0].manager : null;
44671
- }
44672
- /**
44673
- * Destroys the HammerManager for the element, removing event listeners in the process.
44674
- *
44675
- * @param element The DOM element used to create the manager on.
44676
- */
44677
- removeManagerForElement(element) {
44678
- let index = null;
44679
- for (let i = 0; i < this._hammerManagers.length; i++) {
44680
- if (element === this._hammerManagers[i].element) {
44681
- index = i;
44682
- break;
44683
- }
44684
- }
44685
- if (index !== null) {
44686
- const item = this._hammerManagers.splice(index, 1)[0];
44687
- // destroy also
44688
- item.manager.destroy();
44689
- }
44690
- }
44691
- /** Destroys all internally tracked HammerManagers, removing event listeners in the process. */
44692
- destroy() {
44693
- for (const item of this._hammerManagers) {
44694
- item.manager.destroy();
44695
- }
44696
- this._hammerManagers = [];
44697
- }
44698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager, deps: [{ token: i0.NgZone }, { token: DOCUMENT }, { token: PlatformUtil }], target: i0.ɵɵFactoryTarget.Injectable }); }
44699
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager }); }
44700
- }
44701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HammerGesturesManager, decorators: [{
44702
- type: Injectable
44703
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
44704
- type: Inject,
44705
- args: [DOCUMENT]
44706
- }] }, { type: PlatformUtil }] });
44707
-
44708
44719
  /** @hidden */
44709
44720
  const IGX_TIME_PICKER_COMPONENT = 'IgxTimePickerComponentToken';
44710
44721
 
@@ -44836,7 +44847,7 @@ class IgxItemListDirective {
44836
44847
  * @hidden @internal
44837
44848
  */
44838
44849
  ngOnInit() {
44839
- const hammerOptions = { recognizers: [[Hammer.Pan, { direction: Hammer.DIRECTION_VERTICAL, threshold: 10 }]] };
44850
+ const hammerOptions = { recognizers: [[HammerGesturesManager.Hammer?.Pan, { direction: HammerGesturesManager.Hammer?.DIRECTION_VERTICAL, threshold: 10 }]] };
44840
44851
  this.touchManager.addEventListener(this.elementRef.nativeElement, 'pan', this.onPanMove, hammerOptions);
44841
44852
  }
44842
44853
  /**
@@ -62962,6 +62973,7 @@ class IgxGridBaseDirective extends DisplayDensityBase {
62962
62973
  this.transactionChange$.next();
62963
62974
  this.transactionChange$.complete();
62964
62975
  this._destroyed = true;
62976
+ this.textHighlightService.destroyGroup(this.id);
62965
62977
  if (this._advancedFilteringOverlayId) {
62966
62978
  this.overlayService.detach(this._advancedFilteringOverlayId);
62967
62979
  delete this._advancedFilteringOverlayId;
@@ -74842,7 +74854,10 @@ class IgxGridStateDirective {
74842
74854
  parent: c.parent ? c.parent.header : null,
74843
74855
  columnGroup: c.columnGroup,
74844
74856
  disableHiding: c.disableHiding,
74845
- disablePinning: c.disablePinning
74857
+ disablePinning: c.disablePinning,
74858
+ collapsible: c.columnGroup ? c.collapsible : undefined,
74859
+ expanded: c.columnGroup ? c.expanded : undefined,
74860
+ visibleWhenCollapsed: c.parent?.columnGroup ? c.visibleWhenCollapsed : undefined
74846
74861
  }));
74847
74862
  return { columns: gridColumns };
74848
74863
  },
@@ -80523,7 +80538,7 @@ class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective {
80523
80538
  * @hidden
80524
80539
  */
80525
80540
  ngOnDestroy() {
80526
- // Override the base destroy because we don't have rendered anything to use removeEventListener on
80541
+ // Override the base destroy because we have not rendered anything to use removeEventListener on
80527
80542
  this.destroy$.next(true);
80528
80543
  this.destroy$.complete();
80529
80544
  this._destroyed = true;