@tedi-design-system/angular 7.1.0-rc.5 → 7.1.0-rc.6

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.
@@ -1378,6 +1378,7 @@ class DropdownComponent {
1378
1378
  document = inject(DOCUMENT);
1379
1379
  renderer = inject(Renderer2);
1380
1380
  scrollListener;
1381
+ skipNextGestureOutsideClick = false;
1381
1382
  constructor() {
1382
1383
  if (isPlatformBrowser(this.platformId)) {
1383
1384
  document.addEventListener("focusin", this.handleFocusOut, true);
@@ -1397,6 +1398,7 @@ class DropdownComponent {
1397
1398
  this.triggerWidth.set(width);
1398
1399
  }
1399
1400
  this.isOpen.set(true);
1401
+ this.skipNextGestureOutsideClick = true;
1400
1402
  this.setActiveToSelectedOrFirst();
1401
1403
  if (this.hideOnScroll()) {
1402
1404
  this.setupScrollListener();
@@ -1418,6 +1420,7 @@ class DropdownComponent {
1418
1420
  if (this.isOpen()) {
1419
1421
  this.cleanupScrollListener();
1420
1422
  this.isOpen.set(false);
1423
+ this.skipNextGestureOutsideClick = false;
1421
1424
  this.activeIndex.set(null);
1422
1425
  this.updateTabindexes();
1423
1426
  }
@@ -1430,7 +1433,13 @@ class DropdownComponent {
1430
1433
  this.showDropdown();
1431
1434
  }
1432
1435
  }
1433
- onOutsideClick() {
1436
+ onOutsideClick(event) {
1437
+ const isGestureEnd = !!event && (event.type !== "click" || event.ctrlKey);
1438
+ if (this.skipNextGestureOutsideClick) {
1439
+ this.skipNextGestureOutsideClick = false;
1440
+ if (isGestureEnd)
1441
+ return;
1442
+ }
1434
1443
  this.hideDropdown();
1435
1444
  }
1436
1445
  handleFocusOut = (event) => {
@@ -1589,7 +1598,7 @@ class DropdownComponent {
1589
1598
  provide: DROPDOWN_API,
1590
1599
  useExisting: forwardRef(() => DropdownComponent),
1591
1600
  },
1592
- ], queries: [{ propertyName: "dropdownTrigger", first: true, predicate: DropdownTriggerDirective, descendants: true, isSignal: true }, { propertyName: "dropdownContent", first: true, predicate: DropdownContentComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"[tedi-dropdown-trigger]\" />\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions()\"\n (overlayOutsideClick)=\"onOutsideClick()\"\n>\n <div\n class=\"tedi-dropdown__panel\"\n [style.--_tedi-dropdown-trigger-width]=\"triggerWidthVar()\"\n >\n <ng-content select=\"tedi-dropdown-content\" />\n </div>\n</ng-template>\n", styles: ["tedi-dropdown{display:inline-flex}.tedi-dropdown__panel{z-index:var(--z-index-dropdown)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1601
+ ], queries: [{ propertyName: "dropdownTrigger", first: true, predicate: DropdownTriggerDirective, descendants: true, isSignal: true }, { propertyName: "dropdownContent", first: true, predicate: DropdownContentComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content select=\"[tedi-dropdown-trigger]\" />\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n>\n <div\n class=\"tedi-dropdown__panel\"\n [style.--_tedi-dropdown-trigger-width]=\"triggerWidthVar()\"\n >\n <ng-content select=\"tedi-dropdown-content\" />\n </div>\n</ng-template>\n", styles: ["tedi-dropdown{display:inline-flex}.tedi-dropdown__panel{z-index:var(--z-index-dropdown)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1593
1602
  }
1594
1603
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DropdownComponent, decorators: [{
1595
1604
  type: Component,
@@ -1598,7 +1607,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImpo
1598
1607
  provide: DROPDOWN_API,
1599
1608
  useExisting: forwardRef(() => DropdownComponent),
1600
1609
  },
1601
- ], template: "<ng-content select=\"[tedi-dropdown-trigger]\" />\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions()\"\n (overlayOutsideClick)=\"onOutsideClick()\"\n>\n <div\n class=\"tedi-dropdown__panel\"\n [style.--_tedi-dropdown-trigger-width]=\"triggerWidthVar()\"\n >\n <ng-content select=\"tedi-dropdown-content\" />\n </div>\n</ng-template>\n", styles: ["tedi-dropdown{display:inline-flex}.tedi-dropdown__panel{z-index:var(--z-index-dropdown)}\n"] }]
1610
+ ], template: "<ng-content select=\"[tedi-dropdown-trigger]\" />\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin()\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"overlayPositions()\"\n (overlayOutsideClick)=\"onOutsideClick($event)\"\n>\n <div\n class=\"tedi-dropdown__panel\"\n [style.--_tedi-dropdown-trigger-width]=\"triggerWidthVar()\"\n >\n <ng-content select=\"tedi-dropdown-content\" />\n </div>\n</ng-template>\n", styles: ["tedi-dropdown{display:inline-flex}.tedi-dropdown__panel{z-index:var(--z-index-dropdown)}\n"] }]
1602
1611
  }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], preventOverflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventOverflow", required: false }] }], offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], hideOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideOnScroll", required: false }] }], dropdownTrigger: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownTriggerDirective), { isSignal: true }] }], dropdownContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DropdownContentComponent), { isSignal: true }] }] } });
1603
1612
 
1604
1613
  const translationsMap = {