@shoper/phoenix_design_system 1.15.11-25 → 1.15.11-27

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.
@@ -25,18 +25,22 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
25
25
  if (!this._$baseMessageContent)
26
26
  return;
27
27
  [...this.children].forEach((child) => {
28
- var _a;
29
28
  if (base_message_constants.LIST_OF_MESSAGE_CHILDREN.includes(child.tagName.toLowerCase()))
30
29
  return;
31
- child.setAttribute('aria-describedby', (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.messageId);
30
+ if (this._$baseMessageContent)
31
+ child.setAttribute('aria-describedby', this._$baseMessageContent.messageId);
32
32
  });
33
33
  };
34
34
  this._setupEventListeners = () => {
35
- document.addEventListener('mouseover', this._toggleTooltipFromEvent);
36
- document.addEventListener('keydown', this._closeFromKeyboard);
35
+ var _a, _b;
36
+ this.addEventListener('mouseenter', this.open);
37
+ this.addEventListener('mouseleave', this._handleClose);
38
+ this.addEventListener('keydown', this._closeFromKeyboard);
39
+ (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', this.open);
40
+ (_b = this._$baseMessageContent) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', this._handleClose);
37
41
  if (!this.mouseonly) {
38
42
  this.addEventListener('focusin', this.open);
39
- this.addEventListener('focusout', this.close);
43
+ this.addEventListener('focusout', this._handleClose);
40
44
  }
41
45
  };
42
46
  this._positionMessage = () => {
@@ -45,19 +49,6 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
45
49
  (_a = this._$messageContent) === null || _a === void 0 ? void 0 : _a.setAttribute('direction', this._positionController.position(true));
46
50
  });
47
51
  };
48
- this._toggleTooltipFromEvent = (ev) => {
49
- var _a;
50
- if (!ev.target)
51
- return;
52
- const $target = ev.target;
53
- const isInsideMessageContent = $target.closest && $target.closest(`[id="${(_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.id}"]`);
54
- const isInsideMessageContainer = !!this.contains($target);
55
- if (!isInsideMessageContent && !isInsideMessageContainer) {
56
- this.close();
57
- return;
58
- }
59
- this.open();
60
- };
61
52
  this.open = () => {
62
53
  this._tooltipOpenTime = Date.now();
63
54
  clearTimeout(this._closeTimeout);
@@ -68,13 +59,17 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
68
59
  }, base_message_constants.MESSAGE_SHOW_DELAY_IN_MS);
69
60
  };
70
61
  this._closeFromKeyboard = (ev) => {
71
- if (ev.key !== 'Escape')
62
+ if (ev.key !== 'Escape' || !this.opened)
72
63
  return;
73
64
  ev.preventDefault();
65
+ ev.stopPropagation();
66
+ this.close(true);
67
+ };
68
+ this._handleClose = () => {
74
69
  this.close();
75
70
  };
76
- this.close = () => {
77
- this._shouldDelayClosing = Date.now() - this._tooltipOpenTime > base_message_constants.MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
71
+ this.close = (shouldCloseImmediately = false) => {
72
+ this._shouldDelayClosing = !shouldCloseImmediately && Date.now() - this._tooltipOpenTime > base_message_constants.MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
78
73
  clearTimeout(this._openTimeout);
79
74
  if (!this.opened)
80
75
  return;
@@ -95,7 +90,7 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
95
90
  this._clickOutsideController = new click_outside_controller.ClickOutsideController({
96
91
  host: this,
97
92
  container: this,
98
- action: this.close
93
+ action: this._handleClose
99
94
  });
100
95
  }
101
96
  connectedCallback(messageComponentName = '') {
@@ -113,9 +108,9 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
113
108
  offset: this.offset
114
109
  });
115
110
  this.setAttribute('tabindex', this.tabindex);
116
- this._setupEventListeners();
117
111
  if (!this._$baseMessageContent)
118
112
  this._$baseMessageContent = [...this.children].find((child) => base_message_constants.LIST_OF_MESSAGE_CONTENT_ELEMENTS.includes(child.tagName.toLowerCase()));
113
+ this._setupEventListeners();
119
114
  }
120
115
  firstUpdated(props) {
121
116
  super.firstUpdated(props);
@@ -130,8 +125,10 @@ class BaseMessage extends phoenix_light_lit_element.PhoenixLightLitElement {
130
125
  document.body.appendChild($portalTarget);
131
126
  }
132
127
  disconnectedCallback() {
128
+ var _a, _b;
133
129
  super.disconnectedCallback();
134
- document.removeEventListener('mouseover', this._toggleTooltipFromEvent);
130
+ (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', this.open);
131
+ (_b = this._$baseMessageContent) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', this._handleClose);
135
132
  }
136
133
  }
137
134
  tslib_es6.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -29,7 +29,7 @@ tslib_es6.__decorate([
29
29
  tslib_es6.__metadata("design:type", Object)
30
30
  ], BaseMessageContent.prototype, "portalTarget", void 0);
31
31
  tslib_es6.__decorate([
32
- decorators.property({ type: String }),
32
+ decorators.property({ type: String, attribute: 'message-id' }),
33
33
  tslib_es6.__metadata("design:type", Object)
34
34
  ], BaseMessageContent.prototype, "messageId", void 0);
35
35
 
@@ -25,9 +25,9 @@ export declare class BaseMessage extends PhoenixLightLitElement implements IBase
25
25
  private static _appendMessagePortal;
26
26
  private _setupEventListeners;
27
27
  protected _positionMessage: () => void;
28
- private _toggleTooltipFromEvent;
29
28
  open: () => void;
30
29
  private _closeFromKeyboard;
31
- close: () => void;
30
+ private _handleClose;
31
+ close: (shouldCloseImmediately?: boolean) => void;
32
32
  disconnectedCallback(): void;
33
33
  }
@@ -21,18 +21,22 @@ class BaseMessage extends PhoenixLightLitElement {
21
21
  if (!this._$baseMessageContent)
22
22
  return;
23
23
  [...this.children].forEach((child) => {
24
- var _a;
25
24
  if (LIST_OF_MESSAGE_CHILDREN.includes(child.tagName.toLowerCase()))
26
25
  return;
27
- child.setAttribute('aria-describedby', (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.messageId);
26
+ if (this._$baseMessageContent)
27
+ child.setAttribute('aria-describedby', this._$baseMessageContent.messageId);
28
28
  });
29
29
  };
30
30
  this._setupEventListeners = () => {
31
- document.addEventListener('mouseover', this._toggleTooltipFromEvent);
32
- document.addEventListener('keydown', this._closeFromKeyboard);
31
+ var _a, _b;
32
+ this.addEventListener('mouseenter', this.open);
33
+ this.addEventListener('mouseleave', this._handleClose);
34
+ this.addEventListener('keydown', this._closeFromKeyboard);
35
+ (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', this.open);
36
+ (_b = this._$baseMessageContent) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', this._handleClose);
33
37
  if (!this.mouseonly) {
34
38
  this.addEventListener('focusin', this.open);
35
- this.addEventListener('focusout', this.close);
39
+ this.addEventListener('focusout', this._handleClose);
36
40
  }
37
41
  };
38
42
  this._positionMessage = () => {
@@ -41,19 +45,6 @@ class BaseMessage extends PhoenixLightLitElement {
41
45
  (_a = this._$messageContent) === null || _a === void 0 ? void 0 : _a.setAttribute('direction', this._positionController.position(true));
42
46
  });
43
47
  };
44
- this._toggleTooltipFromEvent = (ev) => {
45
- var _a;
46
- if (!ev.target)
47
- return;
48
- const $target = ev.target;
49
- const isInsideMessageContent = $target.closest && $target.closest(`[id="${(_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.id}"]`);
50
- const isInsideMessageContainer = !!this.contains($target);
51
- if (!isInsideMessageContent && !isInsideMessageContainer) {
52
- this.close();
53
- return;
54
- }
55
- this.open();
56
- };
57
48
  this.open = () => {
58
49
  this._tooltipOpenTime = Date.now();
59
50
  clearTimeout(this._closeTimeout);
@@ -64,13 +55,17 @@ class BaseMessage extends PhoenixLightLitElement {
64
55
  }, MESSAGE_SHOW_DELAY_IN_MS);
65
56
  };
66
57
  this._closeFromKeyboard = (ev) => {
67
- if (ev.key !== 'Escape')
58
+ if (ev.key !== 'Escape' || !this.opened)
68
59
  return;
69
60
  ev.preventDefault();
61
+ ev.stopPropagation();
62
+ this.close(true);
63
+ };
64
+ this._handleClose = () => {
70
65
  this.close();
71
66
  };
72
- this.close = () => {
73
- this._shouldDelayClosing = Date.now() - this._tooltipOpenTime > MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
67
+ this.close = (shouldCloseImmediately = false) => {
68
+ this._shouldDelayClosing = !shouldCloseImmediately && Date.now() - this._tooltipOpenTime > MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
74
69
  clearTimeout(this._openTimeout);
75
70
  if (!this.opened)
76
71
  return;
@@ -91,7 +86,7 @@ class BaseMessage extends PhoenixLightLitElement {
91
86
  this._clickOutsideController = new ClickOutsideController({
92
87
  host: this,
93
88
  container: this,
94
- action: this.close
89
+ action: this._handleClose
95
90
  });
96
91
  }
97
92
  connectedCallback(messageComponentName = '') {
@@ -109,9 +104,9 @@ class BaseMessage extends PhoenixLightLitElement {
109
104
  offset: this.offset
110
105
  });
111
106
  this.setAttribute('tabindex', this.tabindex);
112
- this._setupEventListeners();
113
107
  if (!this._$baseMessageContent)
114
108
  this._$baseMessageContent = [...this.children].find((child) => LIST_OF_MESSAGE_CONTENT_ELEMENTS.includes(child.tagName.toLowerCase()));
109
+ this._setupEventListeners();
115
110
  }
116
111
  firstUpdated(props) {
117
112
  super.firstUpdated(props);
@@ -126,8 +121,10 @@ class BaseMessage extends PhoenixLightLitElement {
126
121
  document.body.appendChild($portalTarget);
127
122
  }
128
123
  disconnectedCallback() {
124
+ var _a, _b;
129
125
  super.disconnectedCallback();
130
- document.removeEventListener('mouseover', this._toggleTooltipFromEvent);
126
+ (_a = this._$baseMessageContent) === null || _a === void 0 ? void 0 : _a.removeEventListener('mouseenter', this.open);
127
+ (_b = this._$baseMessageContent) === null || _b === void 0 ? void 0 : _b.removeEventListener('mouseleave', this._handleClose);
131
128
  }
132
129
  }
133
130
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -25,7 +25,7 @@ __decorate([
25
25
  __metadata("design:type", Object)
26
26
  ], BaseMessageContent.prototype, "portalTarget", void 0);
27
27
  __decorate([
28
- property({ type: String }),
28
+ property({ type: String, attribute: 'message-id' }),
29
29
  __metadata("design:type", Object)
30
30
  ], BaseMessageContent.prototype, "messageId", void 0);
31
31
 
@@ -1,4 +1,4 @@
1
1
  export interface IBaseMessage {
2
2
  open: () => void;
3
- close: () => void;
3
+ close: (shouldCloseImmediately?: boolean) => void;
4
4
  }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.15.11-25",
5
+ "version": "1.15.11-27",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",