@vaadin/field-highlighter 24.8.3 → 24.8.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/field-highlighter",
3
- "version": "24.8.3",
3
+ "version": "24.8.4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -34,31 +34,31 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@polymer/polymer": "^3.0.0",
37
- "@vaadin/a11y-base": "~24.8.3",
38
- "@vaadin/component-base": "~24.8.3",
39
- "@vaadin/overlay": "~24.8.3",
40
- "@vaadin/vaadin-lumo-styles": "~24.8.3",
41
- "@vaadin/vaadin-material-styles": "~24.8.3",
42
- "@vaadin/vaadin-themable-mixin": "~24.8.3",
37
+ "@vaadin/a11y-base": "~24.8.4",
38
+ "@vaadin/component-base": "~24.8.4",
39
+ "@vaadin/overlay": "~24.8.4",
40
+ "@vaadin/vaadin-lumo-styles": "~24.8.4",
41
+ "@vaadin/vaadin-material-styles": "~24.8.4",
42
+ "@vaadin/vaadin-themable-mixin": "~24.8.4",
43
43
  "lit": "^3.0.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@vaadin/chai-plugins": "~24.8.3",
47
- "@vaadin/checkbox": "~24.8.3",
48
- "@vaadin/checkbox-group": "~24.8.3",
49
- "@vaadin/combo-box": "~24.8.3",
50
- "@vaadin/date-picker": "~24.8.3",
51
- "@vaadin/date-time-picker": "~24.8.3",
52
- "@vaadin/item": "~24.8.3",
53
- "@vaadin/list-box": "~24.8.3",
54
- "@vaadin/radio-group": "~24.8.3",
55
- "@vaadin/select": "~24.8.3",
56
- "@vaadin/test-runner-commands": "~24.8.3",
46
+ "@vaadin/chai-plugins": "~24.8.4",
47
+ "@vaadin/checkbox": "~24.8.4",
48
+ "@vaadin/checkbox-group": "~24.8.4",
49
+ "@vaadin/combo-box": "~24.8.4",
50
+ "@vaadin/date-picker": "~24.8.4",
51
+ "@vaadin/date-time-picker": "~24.8.4",
52
+ "@vaadin/item": "~24.8.4",
53
+ "@vaadin/list-box": "~24.8.4",
54
+ "@vaadin/radio-group": "~24.8.4",
55
+ "@vaadin/select": "~24.8.4",
56
+ "@vaadin/test-runner-commands": "~24.8.4",
57
57
  "@vaadin/testing-helpers": "^1.1.0",
58
- "@vaadin/text-area": "~24.8.3",
59
- "@vaadin/text-field": "~24.8.3",
60
- "@vaadin/time-picker": "~24.8.3",
58
+ "@vaadin/text-area": "~24.8.4",
59
+ "@vaadin/text-field": "~24.8.4",
60
+ "@vaadin/time-picker": "~24.8.4",
61
61
  "sinon": "^18.0.0"
62
62
  },
63
- "gitHead": "676ab22dfbf16962cd398734f88105d09344a368"
63
+ "gitHead": "849e54e967563080a685965e2dced02060b3ab23"
64
64
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright (c) 2021 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
+ import { isKeyboardActive } from '@vaadin/a11y-base/src/focus-utils.js';
6
7
  import { ComponentObserver } from './vaadin-component-observer.js';
7
8
 
8
9
  export class DatePickerObserver extends ComponentObserver {
@@ -10,7 +11,6 @@ export class DatePickerObserver extends ComponentObserver {
10
11
  super(datePicker);
11
12
 
12
13
  this.datePicker = datePicker;
13
- this.fullscreenFocus = false;
14
14
  this.blurWhileOpened = false;
15
15
 
16
16
  this.addListeners(datePicker);
@@ -19,14 +19,6 @@ export class DatePickerObserver extends ComponentObserver {
19
19
  addListeners(datePicker) {
20
20
  this.overlay = datePicker.$.overlay;
21
21
 
22
- // Fullscreen date picker calls blur() to avoid focusing of the input:
23
- // 1. first time when focus event is fired (before opening the overlay),
24
- // 2. second time after the overlay is open, see "_onOverlayOpened".
25
- // Here we set the flag to ignore related focusout events and then to
26
- // mark date picker as being edited by user (to show field highlight).
27
- // We have to use capture phase in order to catch this event early.
28
- datePicker.addEventListener('blur', (event) => this.onBlur(event), true);
29
-
30
22
  datePicker.addEventListener('opened-changed', (event) => this.onOpenedChanged(event));
31
23
 
32
24
  this.overlay.addEventListener('focusout', (event) => this.onOverlayFocusOut(event));
@@ -40,11 +32,9 @@ export class DatePickerObserver extends ComponentObserver {
40
32
  return this.datePicker._overlayContent && this.datePicker._overlayContent.contains(node);
41
33
  }
42
34
 
43
- onBlur(event) {
35
+ isFullscreen() {
44
36
  const datePicker = this.datePicker;
45
- if (datePicker._fullscreen && !this.isEventInOverlay(event.relatedTarget)) {
46
- this.fullscreenFocus = true;
47
- }
37
+ return datePicker._noInput && !isKeyboardActive();
48
38
  }
49
39
 
50
40
  onFocusIn(event) {
@@ -63,7 +53,7 @@ export class DatePickerObserver extends ComponentObserver {
63
53
  }
64
54
 
65
55
  onFocusOut(event) {
66
- if (this.fullscreenFocus || this.isEventInOverlay(event.relatedTarget)) {
56
+ if (this.isEventInOverlay(event.relatedTarget)) {
67
57
  // Do nothing, overlay is opening.
68
58
  } else if (!this.datePicker.opened) {
69
59
  // Field blur when closed.
@@ -83,8 +73,7 @@ export class DatePickerObserver extends ComponentObserver {
83
73
  }
84
74
 
85
75
  onOpenedChanged(event) {
86
- if (event.detail.value === true && this.fullscreenFocus) {
87
- this.fullscreenFocus = false;
76
+ if (event.detail.value === true && this.isFullscreen()) {
88
77
  this.showOutline(this.datePicker);
89
78
  }
90
79