@indigina/ui-kit 1.1.240 → 1.1.241

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.
@@ -8590,17 +8590,16 @@ class KitFilterDateComponent {
8590
8590
  const endDate = this.endDate();
8591
8591
  return (!endDate || this.useLocalTimeZone()) ? endDate : convertDateToLocal(endDate);
8592
8592
  }, ...(ngDevMode ? [{ debugName: "localEndDate" }] : []));
8593
+ this.pointerDownStartedInsideArea = false;
8594
+ this.onDocumentMouseDown = (event) => {
8595
+ this.pointerDownStartedInsideArea = this.isEventInsideAllowedArea(event.target);
8596
+ };
8593
8597
  this.onDocumentClick = (event) => {
8594
- const datePicker = document.querySelector('.kit-datepicker-popup');
8595
- const popupElement = this.popup()?.popupHTMLElement;
8596
- const isClickOutsideDatePicker = !datePicker?.contains(event.target) &&
8597
- !event.target.matches('.k-link') &&
8598
- !event.target?.parentElement?.parentElement?.matches('.k-calendar-nav');
8599
- if (!popupElement?.contains(event.target)
8600
- && !this.anchor()?.nativeElement.contains(event.target)
8601
- && isClickOutsideDatePicker) {
8598
+ const clickInsideArea = this.isEventInsideAllowedArea(event.target);
8599
+ if (!this.pointerDownStartedInsideArea && !clickInsideArea) {
8602
8600
  this.popup()?.close();
8603
8601
  }
8602
+ this.pointerDownStartedInsideArea = false;
8604
8603
  };
8605
8604
  }
8606
8605
  ngOnInit() {
@@ -8681,11 +8680,28 @@ class KitFilterDateComponent {
8681
8680
  }
8682
8681
  }
8683
8682
  addOutsideClickListener() {
8683
+ document.addEventListener('mousedown', this.onDocumentMouseDown, true);
8684
8684
  document.addEventListener('click', this.onDocumentClick, true);
8685
8685
  }
8686
8686
  removeOutsideClickListener() {
8687
+ document.removeEventListener('mousedown', this.onDocumentMouseDown, true);
8687
8688
  document.removeEventListener('click', this.onDocumentClick, true);
8688
8689
  }
8690
+ isEventInsideAllowedArea(target) {
8691
+ if (!target) {
8692
+ return false;
8693
+ }
8694
+ const popupElement = this.popup()?.popupHTMLElement;
8695
+ const anchorElement = this.anchor()?.nativeElement;
8696
+ const datePicker = document.querySelector('.kit-datepicker-popup');
8697
+ const targetEl = target instanceof HTMLElement ? target : null;
8698
+ const insideDatePicker = !!(datePicker?.contains(target) ||
8699
+ targetEl?.matches('.k-link') ||
8700
+ targetEl?.parentElement?.parentElement?.matches('.k-calendar-nav'));
8701
+ return !!(popupElement?.contains(target) ||
8702
+ anchorElement?.contains(target) ||
8703
+ insideDatePicker);
8704
+ }
8689
8705
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: KitFilterDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8690
8706
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: KitFilterDateComponent, isStandalone: true, selector: "kit-filter-date", inputs: { filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: true, transformFunction: null }, useLocalTimeZone: { classPropertyName: "useLocalTimeZone", publicName: "useLocalTimeZone", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterRemoved: "filterRemoved", filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["toggleButton"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "popup", first: true, predicate: ["popup"], descendants: true, read: KitPopupComponent, isSignal: true }], ngImport: i0, template: "<div class=\"kit-filter-date\">\n <kit-pill #toggleButton\n [selectable]=\"!filter().readonly\"\n [selected]=\"popup.isPopupOpen\"\n [removable]=\"!filter().readonly\"\n [theme]=\"filter().readonly && kitPillTheme.BLUE || kitPillTheme.DEFAULT\"\n (removed)=\"removeFilter()\"\n (clicked)=\"onPopupToggle()\">\n {{ filter().title | translate }}:\n @if (selectedValues(); as selectedValues) {\n {{ selectedValues?.start | date: pillDateFormat : (useLocalTimeZone() ? undefined : 'UTC') }}\n @if (selectedValues?.start && selectedValues?.end) {\n -\n }\n {{ selectedValues?.end | date: pillDateFormat : (useLocalTimeZone() ? undefined : 'UTC') }}\n }\n </kit-pill>\n</div>\n\n<kit-popup #popup\n popupClass=\"kit-filter-date-popup\"\n [anchor]=\"anchor()\"\n [content]=\"content\"\n [closeOnOutsideClick]=\"false\"\n [showFooter]=\"true\"\n [applyButtonLabel]=\"'kit.filters.apply' | translate\"\n [cancelButtonLabel]=\"'kit.filters.clear' | translate\"\n [isApplyButtonDisabled]=\"applyButtonDisabled()\"\n [closePopupOnCancel]=\"false\"\n (onApply)=\"applyFilter()\"\n (onCancel)=\"clearAllFilters()\"\n (onClose)=\"close()\">\n</kit-popup>\n\n<ng-template #content>\n <div class=\"popup-content\">\n <div class=\"date-input\">\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateFrom' | translate\"\n [defaultDate]=\"localStartDate()\"\n [max]=\"localEndDate()\"\n (changed)=\"onFromDateChange($event)\"\n ></kit-datepicker>\n <kit-datepicker [placeholder]=\"'kit.filters.chooseDateTo' | translate\"\n [defaultDate]=\"localEndDate()\"\n [min]=\"localStartDate()\"\n (changed)=\"onToDateChange($event)\"\n ></kit-datepicker>\n </div>\n </div>\n</ng-template>\n", styles: ["::ng-deep .kit-filter-date-popup .popup-content{width:296px;box-sizing:border-box}::ng-deep .kit-filter-date-popup .date-input{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "component", type: KitPillComponent, selector: "kit-pill", inputs: ["removable", "selectable", "selected", "type", "theme", "icon", "iconType"], outputs: ["clicked", "removed"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: KitDatepickerModule }, { kind: "component", type: KitDatepickerComponent, selector: "kit-datepicker", inputs: ["placeholder", "label", "labelTooltip", "defaultDate", "disabled", "format", "min", "max", "messageIcon", "messageText", "size"], outputs: ["changed"] }, { kind: "component", type: KitPopupComponent, selector: "kit-popup", inputs: ["anchor", "content", "closeOnOutsideClick", "showFooter", "cancelButtonLabel", "applyButtonLabel", "isApplyButtonDisabled", "positionMode", "popupClass", "closePopupOnCancel", "extraInsideSelectors"], outputs: ["onCancel", "onApply", "onOpen", "onClose"] }, { kind: "pipe", type: i1$b.TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8691
8707
  }