chrv-components 1.12.143 → 1.12.144

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.
Binary file
@@ -4026,10 +4026,7 @@ class ChrPopoverDirective {
4026
4026
  x: -1,
4027
4027
  y: -1,
4028
4028
  });
4029
- // private readonly isInsidePopover$ = new BehaviorSubject<boolean>(false);
4030
4029
  this.destroyRef = inject(DestroyRef);
4031
- // private readonly isInsideHost = signal(false);
4032
- // private readonly isInsideTarget = signal(false);
4033
4030
  this._targetElementView = signal(null, /* @ts-ignore */
4034
4031
  ...(ngDevMode ? [{ debugName: "_targetElementView" }] : /* istanbul ignore next */ []));
4035
4032
  this.targetElement = computed(() => {
@@ -4058,27 +4055,6 @@ class ChrPopoverDirective {
4058
4055
  y: event.clientY,
4059
4056
  });
4060
4057
  };
4061
- // private isInsideHostBoundingBox = (event: MouseEvent) => {
4062
- // const hostRect = this.hostElement().getBoundingClientRect();
4063
- // return this.isInsideRect(event, hostRect);
4064
- // };
4065
- // private isInsideTargetBoundingBox = (event: MouseEvent) => {
4066
- // const trgRect = this.targetElement().getBoundingClientRect();
4067
- // return this.isInsideRect(event, trgRect);
4068
- // };
4069
- // private isInsideRect = (event: MouseEvent, rect: DOMRect) => {
4070
- // var x = event.clientX;
4071
- // if (x < rect.left || x >= rect.right) return false;
4072
- // var y = event.clientY;
4073
- // if (y < rect.top || y >= rect.bottom) return false;
4074
- // return true;
4075
- // };
4076
- // updateMousePosition = (event: MouseEvent) => {
4077
- // this.lastKnowMousePosition.next({
4078
- // x: event.clientX,
4079
- // y: event.clientY,
4080
- // });
4081
- // };
4082
4058
  this.setupSubject = () => {
4083
4059
  combineLatest([
4084
4060
  this.isHostHovered$,
@@ -4100,93 +4076,28 @@ class ChrPopoverDirective {
4100
4076
  };
4101
4077
  this.setupHostListeners = () => {
4102
4078
  this.renderer.listen(this.hostElement(), 'mouseenter', (event) => {
4103
- // this.isInsidePopover$.next(true);
4104
- // this.isHostHovered$.next({
4105
- // hover: true,
4106
- // position: { x: event.clientX, y: event.clientY },
4107
- // });
4108
- // this.lastKnownMousePosition$.next({
4109
- // x: event.clientX,
4110
- // y: event.clientY,
4111
- // });
4112
4079
  this.isHostHovered$.next(true);
4113
- // if (!this.isOpen()) {
4114
- // this.showPopover();
4115
- // }
4116
4080
  });
4117
4081
  this.renderer.listen(this.hostElement(), 'mouseleave', (event) => {
4118
- // this.isInsideHost.set(false);
4119
- // setTimeout(() => {
4120
- // if (!this.isInsideTarget() && !this.isInsideHostBoundingBox(event)) {
4121
- // this.hidePopover();
4122
- // }
4123
- // }, 100);
4124
- // this.isInsidePopover$.next(false);
4125
- // if (this.isPointerInsideElements(event)) {
4126
- // return;
4127
- // }
4128
- // this.isHostHovered$.next({
4129
- // hover: false,
4130
- // position: { x: event.clientX, y: event.clientY },
4131
- // });
4132
- // this.lastKnownMousePosition$.next({
4133
- // x: event.clientX,
4134
- // y: event.clientY,
4135
- // });
4136
4082
  this.isHostHovered$.next(false);
4137
4083
  });
4138
4084
  };
4139
4085
  this.setupTargetListeners = () => {
4140
4086
  this.renderer.listen(this.targetElement(), 'mouseenter', (event) => {
4141
- // this.isInsideTarget.set(true);
4142
- // this.shopPopover();
4143
- // this.isTargetHovered$.next({
4144
- // hover: true,
4145
- // position: { x: event.clientX, y: event.clientY },
4146
- // });
4147
- // this.lastKnownMousePosition$.next({
4148
- // x: event.clientX,
4149
- // y: event.clientY,
4150
- // });
4151
4087
  this.isTargetHovered$.next(true);
4152
- // this.isInsidePopover$.next(true);
4153
4088
  });
4154
4089
  this.renderer.listen(this.targetElement(), 'mouseleave', (event) => {
4155
- // this.isInsideTarget.set(false);
4156
- // this.isInsidePopover$.next(false);
4157
- // if (this.isPointerInsideElements(event)) {
4158
- // return;
4159
- // }
4160
- // this.isTargetHovered$.next({
4161
- // hover: false,
4162
- // position: { x: event.clientX, y: event.clientY },
4163
- // });
4164
- // this.lastKnownMousePosition$.next({
4165
- // x: event.clientX,
4166
- // y: event.clientY,
4167
- // });
4168
4090
  this.isTargetHovered$.next(false);
4169
- // setTimeout(() => {
4170
- // if (!this.isInsideHost() && !this.isInsideTargetBoundingBox(event))
4171
- // this.hidePopover();
4172
- // }, 100);
4173
4091
  });
4174
4092
  };
4175
4093
  this.showPopover = () => {
4176
4094
  this.isOpen.set(true);
4177
- // this.isInsidePopover$.next(true);
4178
4095
  this.targetElement().showPopover({ source: this.hostElement() });
4179
4096
  };
4180
4097
  this.hidePopover = () => {
4181
4098
  this.isOpen.set(false);
4182
- // this.isInsidePopover$.next(false);
4183
4099
  this.targetElement().hidePopover();
4184
4100
  };
4185
- this.isEventInsideRect = (event, rect) => {
4186
- const x = event.clientX;
4187
- const y = event.clientY;
4188
- return this.isInsideRect(x, y, rect);
4189
- };
4190
4101
  this.isInsideRect = (x, y, rect) => {
4191
4102
  return (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom);
4192
4103
  };
@@ -4202,20 +4113,15 @@ class ChrPopoverDirective {
4202
4113
  const rect = this.targetElement().getBoundingClientRect();
4203
4114
  return this.isInsideRect(x, y, rect);
4204
4115
  };
4205
- this.isPointerInsideElements = (x, y) => {
4206
- // private isPointerInsideElements = (event: MouseEvent): boolean => {
4207
- const hostRect = this.hostElement().getBoundingClientRect();
4208
- const targetRect = this.targetElement().getBoundingClientRect();
4209
- return (this.isInsideRect(x, y, hostRect) || this.isInsideRect(x, y, targetRect));
4210
- };
4211
4116
  }
4212
4117
  ngOnInit() {
4213
4118
  const maybeTemplate = this.chrPopover();
4214
4119
  const templateData = this.chrPopoverData();
4215
4120
  if (maybeTemplate instanceof TemplateRef) {
4216
- const ref = this.viewContainerRef.createEmbeddedView(maybeTemplate, {
4217
- $implicit: templateData,
4218
- });
4121
+ const data = typeof templateData === 'object'
4122
+ ? { $implicit: templateData, ...templateData }
4123
+ : { $implicit: templateData };
4124
+ const ref = this.viewContainerRef.createEmbeddedView(maybeTemplate, data);
4219
4125
  this._targetElementView.set(ref.rootNodes[0]);
4220
4126
  }
4221
4127
  }