@shoper/phoenix_design_system 0.25.0-7 → 0.25.0
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/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +45 -29
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +6 -4
- package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/input/input_icon.js +9 -4
- package/build/cjs/packages/phoenix/src/components/form/input/input_icon.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/icon/icon.js +7 -1
- package/build/cjs/packages/phoenix/src/components/icon/icon.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/icon/icon_constants.js +1 -13
- package/build/cjs/packages/phoenix/src/components/icon/icon_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/base_message.js +36 -16
- package/build/cjs/packages/phoenix/src/components/messages/base_message.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/base_message_constants.js +2 -0
- package/build/cjs/packages/phoenix/src/components/messages/base_message_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/hints/hint.js +0 -1
- package/build/cjs/packages/phoenix/src/components/messages/hints/hint.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/messages/tooltips/tooltip.js +0 -1
- package/build/cjs/packages/phoenix/src/components/messages/tooltips/tooltip.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js +3 -1
- package/build/cjs/packages/phoenix/src/components/tabs/tabs.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/tag/tag_remove_button.js +4 -0
- package/build/cjs/packages/phoenix/src/components/tag/tag_remove_button.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/btn_controller.js +3 -2
- package/build/cjs/packages/phoenix/src/controllers/btn_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +66 -22
- package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +11 -4
- package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/build/cjs/packages/phoenix/src/index.js +0 -21
- package/build/cjs/packages/phoenix/src/index.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +4 -2
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +46 -30
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.d.ts +1 -1
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +6 -4
- package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/input/input_icon.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/form/input/input_icon.js +9 -4
- package/build/esm/packages/phoenix/src/components/form/input/input_icon.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/icon/icon.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/icon/icon.js +7 -1
- package/build/esm/packages/phoenix/src/components/icon/icon.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/icon/icon_constants.d.ts +0 -12
- package/build/esm/packages/phoenix/src/components/icon/icon_constants.js +2 -13
- package/build/esm/packages/phoenix/src/components/icon/icon_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message.d.ts +6 -3
- package/build/esm/packages/phoenix/src/components/messages/base_message.js +37 -17
- package/build/esm/packages/phoenix/src/components/messages/base_message.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.js +4 -3
- package/build/esm/packages/phoenix/src/components/messages/base_message_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/base_message_types.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/messages/hints/hint.js +0 -1
- package/build/esm/packages/phoenix/src/components/messages/hints/hint.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/messages/tooltips/tooltip.js +0 -1
- package/build/esm/packages/phoenix/src/components/messages/tooltips/tooltip.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/portal/portal_constants.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js +3 -1
- package/build/esm/packages/phoenix/src/components/tabs/tabs.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/tag/tag_remove_button.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/tag/tag_remove_button.js +4 -0
- package/build/esm/packages/phoenix/src/components/tag/tag_remove_button.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/btn_controller.js +3 -2
- package/build/esm/packages/phoenix/src/controllers/btn_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.d.ts +11 -4
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +66 -22
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_types.d.ts +2 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.d.ts +4 -1
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js +11 -4
- package/build/esm/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js.map +1 -1
- package/build/esm/packages/phoenix/src/index.d.ts +0 -3
- package/build/esm/packages/phoenix/src/index.js +0 -3
- package/build/esm/packages/phoenix/src/index.js.map +1 -1
- package/package.json +1 -1
package/build/cjs/packages/phoenix/src/core/phoenix_light_lit_element/phoenix_light_lit_element.js
CHANGED
|
@@ -12,6 +12,8 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this._slots = {};
|
|
15
|
+
this.watchChildrenRendered = false;
|
|
16
|
+
this.watchChildrenConnected = false;
|
|
15
17
|
this.isWebComponentConnected = false;
|
|
16
18
|
this.isWebComponentRendered = false;
|
|
17
19
|
this._childrenForConnectionToWatch = [];
|
|
@@ -54,14 +56,16 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
54
56
|
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered);
|
|
55
57
|
this.isWebComponentRendered = true;
|
|
56
58
|
}
|
|
57
|
-
|
|
59
|
+
_setupChildrenConnectedWatch() {
|
|
58
60
|
this._childrenForConnectionToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForConnectionToWatch();
|
|
59
|
-
this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
|
|
60
61
|
if (!this._childrenForConnectionToWatch.length)
|
|
61
62
|
this.allChildrenConnected();
|
|
63
|
+
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
64
|
+
}
|
|
65
|
+
_setupChildrenRenderWatch() {
|
|
66
|
+
this._childrenForRenderToWatch = this.childrenToWatch ? this.childrenToWatch : this._getComponentsNamesForRenderedToWatch();
|
|
62
67
|
if (!this._childrenForRenderToWatch.length)
|
|
63
68
|
this.allChildrenRendered();
|
|
64
|
-
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected, this._handleComponentConnected);
|
|
65
69
|
this.addEventListener(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.rendered, this._handleComponentRendered);
|
|
66
70
|
}
|
|
67
71
|
_getComponentsNamesForConnectionToWatch() {
|
|
@@ -74,7 +78,10 @@ class PhoenixLightLitElement extends lit.LitElement {
|
|
|
74
78
|
super.connectedCallback();
|
|
75
79
|
this._dispatchLifecycleEvent(phoenix_light_lit_elements_constants.PHOENIX_LIGHT_LIT_ELEMENTS_EVENT_NAMES.connected);
|
|
76
80
|
this.isWebComponentConnected = true;
|
|
77
|
-
this.
|
|
81
|
+
if (this.watchChildrenConnected)
|
|
82
|
+
this._setupChildrenConnectedWatch();
|
|
83
|
+
if (this.watchChildrenRendered)
|
|
84
|
+
this._setupChildrenRenderWatch();
|
|
78
85
|
}
|
|
79
86
|
allChildrenConnected() { }
|
|
80
87
|
allChildrenRendered() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;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;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;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;"}
|
|
@@ -75,9 +75,6 @@ var hint = require('./components/messages/hints/hint.js');
|
|
|
75
75
|
var hint_content = require('./components/messages/hints/hint_content.js');
|
|
76
76
|
var tooltip = require('./components/messages/tooltips/tooltip.js');
|
|
77
77
|
var tooltip_content = require('./components/messages/tooltips/tooltip_content.js');
|
|
78
|
-
var icon = require('./components/icon/icon.js');
|
|
79
|
-
var tag = require('./components/tag/tag.js');
|
|
80
|
-
var tag_remove_button = require('./components/tag/tag_remove_button.js');
|
|
81
78
|
|
|
82
79
|
|
|
83
80
|
|
|
@@ -433,22 +430,4 @@ Object.defineProperty(exports, 'HTooltipContent', {
|
|
|
433
430
|
return tooltip_content.HTooltipContent;
|
|
434
431
|
}
|
|
435
432
|
});
|
|
436
|
-
Object.defineProperty(exports, 'HIcon', {
|
|
437
|
-
enumerable: true,
|
|
438
|
-
get: function () {
|
|
439
|
-
return icon.HIcon;
|
|
440
|
-
}
|
|
441
|
-
});
|
|
442
|
-
Object.defineProperty(exports, 'HTag', {
|
|
443
|
-
enumerable: true,
|
|
444
|
-
get: function () {
|
|
445
|
-
return tag.HTag;
|
|
446
|
-
}
|
|
447
|
-
});
|
|
448
|
-
Object.defineProperty(exports, 'HTagRemoveButton', {
|
|
449
|
-
enumerable: true,
|
|
450
|
-
get: function () {
|
|
451
|
-
return tag_remove_button.HTagRemoveButton;
|
|
452
|
-
}
|
|
453
|
-
});
|
|
454
433
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -20,6 +20,7 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
20
20
|
private _backdropController;
|
|
21
21
|
_lastFocusableElement: HTMLElement | undefined;
|
|
22
22
|
private _rootDropdown?;
|
|
23
|
+
constructor();
|
|
23
24
|
connectedCallback(): void;
|
|
24
25
|
private static _appendDropdownPortal;
|
|
25
26
|
private _findRootDropdown;
|
|
@@ -36,8 +37,9 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
36
37
|
private _observeScrollToggling;
|
|
37
38
|
private _toggleScroll;
|
|
38
39
|
private _closeDropdownOnEscape;
|
|
39
|
-
private
|
|
40
|
-
private
|
|
40
|
+
private _handleForwardFocus;
|
|
41
|
+
private _focusOnNextElementAfterToggler;
|
|
42
|
+
private _handleBackwardFocus;
|
|
41
43
|
private _hoverToggle;
|
|
42
44
|
private _isHoveredWithinDropdown;
|
|
43
45
|
private _setupInitialDropdownProperties;
|
|
@@ -7,8 +7,9 @@ import { PORTAL_TARGET_COMPONENT_NAME, PORTAL_TARGET_NAME_PROP } from '../portal
|
|
|
7
7
|
import { html } from 'lit-html';
|
|
8
8
|
import { BackdropController } from '../backdrop/controller/backdrop_controller.js';
|
|
9
9
|
import { property } from '@lit/reactive-element/decorators.js';
|
|
10
|
+
import { KeystrokesController } from '../../controllers/keystrokes_controller/keystrokes_controller.js';
|
|
10
11
|
import { BREAKPOINTS, SCROLLABLE_CLASS_NAME } from '../../global_constants.js';
|
|
11
|
-
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_CONTENT_VISIBLE_CLASS, DROPDOWN_CONTENT_SHOW, DROPDOWN_EVENTS, DROPDOWN_CONTAINER_NAME, DROPDOWN_CONTENT_HIDE,
|
|
12
|
+
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_CONTENT_VISIBLE_CLASS, DROPDOWN_CONTENT_SHOW, DROPDOWN_EVENTS, DROPDOWN_CONTAINER_NAME, DROPDOWN_CONTENT_HIDE, DROPDOWN_TOGGLER_NAME, DROPDOWN_CONTENT_NAME } from './dropdown_constants.js';
|
|
12
13
|
import { DIRECTIONS, RELATIVE_POSITION_CONTROLLER_EVENTS, DEFAULT_THROTTLE_WAIT_TIME } from '../../controllers/relative_position_controller/relative_position_controller_constants.js';
|
|
13
14
|
import { ClickOutsideController } from '../../controllers/click_outside_controller/click_outside_controller.js';
|
|
14
15
|
import throttle_1 from '../../../../../external/lodash/throttle.js';
|
|
@@ -17,7 +18,7 @@ import { RelativePositionController } from '../../controllers/relative_position_
|
|
|
17
18
|
var HDropdown_1;
|
|
18
19
|
let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
19
20
|
constructor() {
|
|
20
|
-
super(
|
|
21
|
+
super();
|
|
21
22
|
this.opened = false;
|
|
22
23
|
this.direction = DIRECTIONS.bottomCenter;
|
|
23
24
|
this.toggleOnHover = false;
|
|
@@ -51,13 +52,13 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
51
52
|
}, 0);
|
|
52
53
|
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
53
54
|
setTimeout(() => {
|
|
54
|
-
var _a, _b
|
|
55
|
+
var _a, _b;
|
|
55
56
|
this._dispatchShowDropdownEvent();
|
|
56
57
|
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
57
58
|
this._toggleScroll();
|
|
58
59
|
if (!this._lastFocusableElement)
|
|
59
60
|
this._lastFocusableElement = (_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.lastElementChild;
|
|
60
|
-
|
|
61
|
+
UiDomUtils.setFocusToFirstFocusableElementInContainer(this.$dropdownContent);
|
|
61
62
|
resolve();
|
|
62
63
|
}, transitionDuration);
|
|
63
64
|
});
|
|
@@ -128,20 +129,35 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
128
129
|
return;
|
|
129
130
|
await this.hide();
|
|
130
131
|
};
|
|
131
|
-
this.
|
|
132
|
+
this._handleForwardFocus = async (ev) => {
|
|
133
|
+
const $focusableElementsWithinDropdownContent = UiDomUtils.getFocusableElements(this.$dropdownContent);
|
|
134
|
+
const doesNotHaveFocusableElementsInsideContent = $focusableElementsWithinDropdownContent.length <= 0 && this.opened;
|
|
135
|
+
const isActiveElementLastFocusableElement = document.activeElement === this._lastFocusableElement;
|
|
136
|
+
if (doesNotHaveFocusableElementsInsideContent || isActiveElementLastFocusableElement)
|
|
137
|
+
this._focusOnNextElementAfterToggler(ev);
|
|
138
|
+
};
|
|
139
|
+
this._focusOnNextElementAfterToggler = async (ev) => {
|
|
140
|
+
ev.preventDefault();
|
|
141
|
+
const $focusableElements = UiDomUtils.getFocusableElements(document.body);
|
|
142
|
+
const indexOfDropdownToggler = $focusableElements.indexOf(this.$dropdownToggler);
|
|
143
|
+
const $nextElementToFocus = $focusableElements.find((currentElement, index) => {
|
|
144
|
+
if (index > indexOfDropdownToggler && !currentElement.closest(`${DROPDOWN_TOGGLER_NAME}[name="${this.name}"]`))
|
|
145
|
+
return currentElement;
|
|
146
|
+
return null;
|
|
147
|
+
});
|
|
148
|
+
if ($nextElementToFocus)
|
|
149
|
+
$nextElementToFocus.focus();
|
|
150
|
+
await this._hideDropdownsSequentially();
|
|
151
|
+
await this.hide();
|
|
152
|
+
};
|
|
153
|
+
this._handleBackwardFocus = async (ev) => {
|
|
132
154
|
var _a;
|
|
133
|
-
const hasTabBeenPressed = ev.key.toLowerCase() === 'tab';
|
|
134
|
-
if (hasTabBeenPressed && document.activeElement === this._lastFocusableElement) {
|
|
135
|
-
ev.preventDefault();
|
|
136
|
-
this._focusOnNextSibling(this.nextElementSibling || this);
|
|
137
|
-
await this._hideDropdownsSequentially();
|
|
138
|
-
}
|
|
139
155
|
const $firstFocusableElement = this.$dropdownContent && UiDomUtils.getFocusableElement(this.$dropdownContent);
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
156
|
+
if (document.activeElement !== $firstFocusableElement)
|
|
157
|
+
return;
|
|
158
|
+
ev.preventDefault();
|
|
159
|
+
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.focus();
|
|
160
|
+
await this._hideDropdownsSequentially();
|
|
145
161
|
};
|
|
146
162
|
this._hoverToggle = async (ev) => {
|
|
147
163
|
if (window.innerWidth < BREAKPOINTS.xs)
|
|
@@ -165,6 +181,18 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
165
181
|
: this._positionController.position();
|
|
166
182
|
});
|
|
167
183
|
};
|
|
184
|
+
new KeystrokesController({
|
|
185
|
+
host: this,
|
|
186
|
+
target: document.body,
|
|
187
|
+
keys: ['tab'],
|
|
188
|
+
callback: this._handleForwardFocus
|
|
189
|
+
});
|
|
190
|
+
new KeystrokesController({
|
|
191
|
+
host: this,
|
|
192
|
+
target: document.body,
|
|
193
|
+
keys: [['shift', 'tab']],
|
|
194
|
+
callback: this._handleBackwardFocus
|
|
195
|
+
});
|
|
168
196
|
}
|
|
169
197
|
connectedCallback() {
|
|
170
198
|
var _a;
|
|
@@ -221,7 +249,6 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
221
249
|
document.addEventListener(DROPDOWN_EVENTS.hide, this.hide);
|
|
222
250
|
window.addEventListener('resize', this._observeScrollToggling);
|
|
223
251
|
document.addEventListener('keydown', this._closeDropdownOnEscape);
|
|
224
|
-
document.addEventListener('keydown', this._handleFocusWithinDropdown);
|
|
225
252
|
if (this.toggleOnHover)
|
|
226
253
|
document.addEventListener('mouseover', this._hoverToggle);
|
|
227
254
|
}
|
|
@@ -241,17 +268,6 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
241
268
|
(_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.classList.add(SCROLLABLE_CLASS_NAME);
|
|
242
269
|
}
|
|
243
270
|
}
|
|
244
|
-
_focusOnNextSibling(el) {
|
|
245
|
-
el.focus();
|
|
246
|
-
if (el === document.activeElement)
|
|
247
|
-
return;
|
|
248
|
-
if (el.firstElementChild) {
|
|
249
|
-
this._focusOnNextSibling(el.firstElementChild);
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
if (el.nextElementSibling)
|
|
253
|
-
this._focusOnNextSibling(el.nextElementSibling);
|
|
254
|
-
}
|
|
255
271
|
_isHoveredWithinDropdown(element) {
|
|
256
272
|
var _a;
|
|
257
273
|
if (element === this)
|
|
@@ -283,7 +299,6 @@ let HDropdown = HDropdown_1 = class HDropdown extends PhoenixLightLitElement {
|
|
|
283
299
|
window.removeEventListener('resize', this._observeScrollToggling);
|
|
284
300
|
document.removeEventListener('keydown', this._closeDropdownOnEscape);
|
|
285
301
|
document.removeEventListener(DROPDOWN_EVENTS.hide, this.hide);
|
|
286
|
-
document.removeEventListener('keydown', this._handleFocusWithinDropdown);
|
|
287
302
|
if (this.toggleOnHover)
|
|
288
303
|
document.removeEventListener('mouseover', this._hoverToggle);
|
|
289
304
|
if (this.opened) {
|
|
@@ -330,7 +345,8 @@ __decorate([
|
|
|
330
345
|
__metadata("design:type", Object)
|
|
331
346
|
], HDropdown.prototype, "_lastFocusableElement", void 0);
|
|
332
347
|
HDropdown = HDropdown_1 = __decorate([
|
|
333
|
-
phoenixCustomElement('h-dropdown')
|
|
348
|
+
phoenixCustomElement('h-dropdown'),
|
|
349
|
+
__metadata("design:paramtypes", [])
|
|
334
350
|
], HDropdown);
|
|
335
351
|
|
|
336
352
|
export { HDropdown };
|
|
@@ -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,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB,4CAAgD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -2,7 +2,7 @@ import { TemplateResult } from 'lit';
|
|
|
2
2
|
import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
3
3
|
export declare class HColorSwatchesControl extends PhoenixLightLitElement {
|
|
4
4
|
controlId: string;
|
|
5
|
-
|
|
5
|
+
controlName: string;
|
|
6
6
|
disabled: boolean;
|
|
7
7
|
required: boolean;
|
|
8
8
|
error: boolean;
|
|
@@ -33,9 +33,11 @@ let HColorSwatchesControl = class HColorSwatchesControl extends PhoenixLightLitE
|
|
|
33
33
|
}
|
|
34
34
|
render() {
|
|
35
35
|
return html `
|
|
36
|
-
<h-input
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
<h-input-control
|
|
37
|
+
controlName="${this.controlName}"
|
|
38
|
+
type="${INPUT_CONTROL_TYPES.hidden}"
|
|
39
|
+
value="${this.selectedColors}"
|
|
40
|
+
></h-input-control>
|
|
39
41
|
`;
|
|
40
42
|
}
|
|
41
43
|
};
|
|
@@ -46,7 +48,7 @@ __decorate([
|
|
|
46
48
|
__decorate([
|
|
47
49
|
property({ type: String }),
|
|
48
50
|
__metadata("design:type", String)
|
|
49
|
-
], HColorSwatchesControl.prototype, "
|
|
51
|
+
], HColorSwatchesControl.prototype, "controlName", void 0);
|
|
50
52
|
__decorate([
|
|
51
53
|
property({ type: Boolean }),
|
|
52
54
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6 +1,7 @@
|
|
|
1
1
|
import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
2
2
|
import { TemplateResult } from 'lit';
|
|
3
3
|
export declare class HInputIcon extends PhoenixLightLitElement {
|
|
4
|
+
static src: string;
|
|
4
5
|
iconName: string;
|
|
5
6
|
connectedCallback(): void;
|
|
6
7
|
protected render(): TemplateResult;
|
|
@@ -6,21 +6,26 @@ import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_el
|
|
|
6
6
|
import { INPUT_CONTROL_CSS_CLASSES } from './input_constants.js';
|
|
7
7
|
import { ICON_CSS_CLASSES } from '../../icon/icon_constants.js';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
var HInputIcon_1;
|
|
10
|
+
let HInputIcon = HInputIcon_1 = class HInputIcon extends PhoenixLightLitElement {
|
|
10
11
|
connectedCallback() {
|
|
11
12
|
super.connectedCallback();
|
|
12
13
|
this.classList.add(INPUT_CONTROL_CSS_CLASSES.inputIcon, ICON_CSS_CLASSES.icon);
|
|
13
14
|
}
|
|
14
15
|
render() {
|
|
15
16
|
super.render();
|
|
16
|
-
return html `
|
|
17
|
+
return html `
|
|
18
|
+
<svg>
|
|
19
|
+
<use xlink:href="${HInputIcon_1.src}#${this.iconName}"></use>
|
|
20
|
+
</svg>
|
|
21
|
+
`;
|
|
17
22
|
}
|
|
18
23
|
};
|
|
19
24
|
__decorate([
|
|
20
|
-
property({ type: String
|
|
25
|
+
property({ type: String }),
|
|
21
26
|
__metadata("design:type", String)
|
|
22
27
|
], HInputIcon.prototype, "iconName", void 0);
|
|
23
|
-
HInputIcon = __decorate([
|
|
28
|
+
HInputIcon = HInputIcon_1 = __decorate([
|
|
24
29
|
phoenixCustomElement('h-input-icon')
|
|
25
30
|
], HInputIcon);
|
|
26
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;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,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -12,6 +12,7 @@ let HIcon = HIcon_1 = class HIcon extends PhoenixLightLitElement {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this.filled = false;
|
|
15
|
+
this.clickable = false;
|
|
15
16
|
this.noStroke = false;
|
|
16
17
|
}
|
|
17
18
|
connectedCallback() {
|
|
@@ -20,7 +21,8 @@ let HIcon = HIcon_1 = class HIcon extends PhoenixLightLitElement {
|
|
|
20
21
|
this._cssClasses = classnames(ICON_CSS_CLASSES.icon, {
|
|
21
22
|
[ICON_SIZES_CSS_CLASS_MAP[(_a = this.size) !== null && _a !== void 0 ? _a : '']]: Boolean(this.size),
|
|
22
23
|
[ICON_CSS_CLASSES.iconFilled]: this.filled,
|
|
23
|
-
[ICON_CSS_CLASSES.iconNoStroke]: this.noStroke
|
|
24
|
+
[ICON_CSS_CLASSES.iconNoStroke]: this.noStroke,
|
|
25
|
+
[ICON_CSS_CLASSES.iconClickable]: this.clickable
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
28
|
render() {
|
|
@@ -44,6 +46,10 @@ __decorate([
|
|
|
44
46
|
property({ type: Boolean }),
|
|
45
47
|
__metadata("design:type", Boolean)
|
|
46
48
|
], HIcon.prototype, "filled", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
property({ type: Boolean }),
|
|
51
|
+
__metadata("design:type", Boolean)
|
|
52
|
+
], HIcon.prototype, "clickable", void 0);
|
|
47
53
|
__decorate([
|
|
48
54
|
property({ type: Boolean }),
|
|
49
55
|
__metadata("design:type", Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,6CAAiD;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;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,6CAAiD;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;"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
import { Any } from 'ts-toolbelt';
|
|
2
1
|
export declare const ICON_CSS_CLASSES: {
|
|
3
2
|
readonly icon: "icon";
|
|
4
|
-
readonly iconFilled: "icon_filled";
|
|
5
|
-
readonly iconNoStroke: "icon_no-stroke";
|
|
6
|
-
readonly iconSizeL: "icon_l";
|
|
7
|
-
readonly iconSizeXl: "icon_xl";
|
|
8
|
-
readonly iconSizeXxl: "icon_xxl";
|
|
9
3
|
};
|
|
10
|
-
export declare const ICON_SIZES_CSS_CLASS_MAP: {
|
|
11
|
-
readonly l: "icon_l";
|
|
12
|
-
readonly xl: "icon_xl";
|
|
13
|
-
readonly xxl: "icon_xxl";
|
|
14
|
-
};
|
|
15
|
-
export declare type TIconSize = Any.Keys<typeof ICON_SIZES_CSS_CLASS_MAP>;
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
const iconBaseClass = 'icon';
|
|
2
1
|
const ICON_CSS_CLASSES = {
|
|
3
|
-
icon:
|
|
4
|
-
iconFilled: `${iconBaseClass}_filled`,
|
|
5
|
-
iconNoStroke: `${iconBaseClass}_no-stroke`,
|
|
6
|
-
iconSizeL: `${iconBaseClass}_l`,
|
|
7
|
-
iconSizeXl: `${iconBaseClass}_xl`,
|
|
8
|
-
iconSizeXxl: `${iconBaseClass}_xxl`
|
|
9
|
-
};
|
|
10
|
-
const ICON_SIZES_CSS_CLASS_MAP = {
|
|
11
|
-
l: ICON_CSS_CLASSES.iconSizeL,
|
|
12
|
-
xl: ICON_CSS_CLASSES.iconSizeXl,
|
|
13
|
-
xxl: ICON_CSS_CLASSES.iconSizeXxl
|
|
2
|
+
icon: 'icon'
|
|
14
3
|
};
|
|
15
4
|
|
|
16
|
-
export { ICON_CSS_CLASSES
|
|
5
|
+
export { ICON_CSS_CLASSES };
|
|
17
6
|
//# sourceMappingURL=icon_constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { IBaseMessage } from './base_message_types';
|
|
1
2
|
import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
|
|
2
3
|
import type { TDirection } from "../../controllers/relative_position_controller/relative_position_controller_types";
|
|
3
|
-
export declare class BaseMessage extends PhoenixLightLitElement {
|
|
4
|
+
export declare class BaseMessage extends PhoenixLightLitElement implements IBaseMessage {
|
|
4
5
|
opened: boolean;
|
|
5
6
|
portalTarget: string;
|
|
6
7
|
direction: TDirection;
|
|
@@ -18,7 +19,9 @@ export declare class BaseMessage extends PhoenixLightLitElement {
|
|
|
18
19
|
private static _appendMessagePortal;
|
|
19
20
|
private _setupEventListeners;
|
|
20
21
|
protected _positionMessage: () => void;
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
open: () => void;
|
|
23
|
+
close: () => void;
|
|
23
24
|
private _handleFocusWithinMessage;
|
|
25
|
+
private _handleReverseTab;
|
|
26
|
+
private _isBaseMessage;
|
|
24
27
|
}
|
|
@@ -7,7 +7,7 @@ import { KeystrokesController } from '../../controllers/keystrokes_controller/ke
|
|
|
7
7
|
import { DIRECTIONS } from '../../controllers/relative_position_controller/relative_position_controller_constants.js';
|
|
8
8
|
import { ClickOutsideController } from '../../controllers/click_outside_controller/click_outside_controller.js';
|
|
9
9
|
import { RelativePositionController } from '../../controllers/relative_position_controller/relative_position_controller.js';
|
|
10
|
-
import { DEFAULT_MESSAGE_PORTAL_NAME, DEFAULT_MESSAGE_OFFSET, MESSAGE_SHOW_DELAY_IN_MS, MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS, MESSAGE_REMOVED_CLASS_NAME, MESSAGE_CLOSE_DELAY_IN_MS, MESSAGE_CONTENT_ELEMENTS } from './base_message_constants.js';
|
|
10
|
+
import { DEFAULT_MESSAGE_PORTAL_NAME, DEFAULT_MESSAGE_OFFSET, MESSAGE_SHOW_DELAY_IN_MS, MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS, MESSAGE_REMOVED_CLASS_NAME, MESSAGE_CLOSE_DELAY_IN_MS, MESSAGE_CONTENT_ELEMENTS, MESSAGE_ELEMENTS } from './base_message_constants.js';
|
|
11
11
|
|
|
12
12
|
class BaseMessage extends PhoenixLightLitElement {
|
|
13
13
|
constructor() {
|
|
@@ -17,9 +17,9 @@ class BaseMessage extends PhoenixLightLitElement {
|
|
|
17
17
|
this.direction = DIRECTIONS.topCenter;
|
|
18
18
|
this.offset = DEFAULT_MESSAGE_OFFSET;
|
|
19
19
|
this._setupEventListeners = () => {
|
|
20
|
-
this.addEventListener('mouseenter', this.
|
|
21
|
-
this.addEventListener('mouseleave', this.
|
|
22
|
-
this.addEventListener('focus', this.
|
|
20
|
+
this.addEventListener('mouseenter', this.open);
|
|
21
|
+
this.addEventListener('mouseleave', this.close);
|
|
22
|
+
this.addEventListener('focus', this.open);
|
|
23
23
|
};
|
|
24
24
|
this._positionMessage = () => {
|
|
25
25
|
requestAnimationFrame(() => {
|
|
@@ -27,7 +27,7 @@ class BaseMessage extends PhoenixLightLitElement {
|
|
|
27
27
|
(_a = this._$messageContent) === null || _a === void 0 ? void 0 : _a.setAttribute('direction', this._positionController.position());
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
this.
|
|
30
|
+
this.open = () => {
|
|
31
31
|
this._tooltipOpenTime = Date.now();
|
|
32
32
|
clearTimeout(this._closeTimeout);
|
|
33
33
|
this._openTimeout = setTimeout(() => {
|
|
@@ -36,7 +36,7 @@ class BaseMessage extends PhoenixLightLitElement {
|
|
|
36
36
|
this.opened = true;
|
|
37
37
|
}, MESSAGE_SHOW_DELAY_IN_MS);
|
|
38
38
|
};
|
|
39
|
-
this.
|
|
39
|
+
this.close = () => {
|
|
40
40
|
this._shouldDelayClosing = Date.now() - this._tooltipOpenTime > MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS;
|
|
41
41
|
clearTimeout(this._openTimeout);
|
|
42
42
|
if (!this.opened)
|
|
@@ -58,31 +58,46 @@ class BaseMessage extends PhoenixLightLitElement {
|
|
|
58
58
|
this._handleFocusWithinMessage = (ev) => {
|
|
59
59
|
var _a;
|
|
60
60
|
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest(`.${this._messageComponentName}`)) !== this)
|
|
61
|
-
this.
|
|
62
|
-
if (!document.activeElement)
|
|
61
|
+
this.close();
|
|
62
|
+
if (!document.activeElement || ev.shiftKey)
|
|
63
63
|
return;
|
|
64
64
|
const $focusableElements = UiDomUtils.getFocusableElements(this);
|
|
65
65
|
const activeElementIndex = $focusableElements.indexOf(document.activeElement);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (!isPenultimate)
|
|
66
|
+
const isLastFocusableChild = activeElementIndex === $focusableElements.length - 1;
|
|
67
|
+
if (!isLastFocusableChild)
|
|
69
68
|
return;
|
|
70
|
-
this.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
69
|
+
this.close();
|
|
70
|
+
};
|
|
71
|
+
this._handleReverseTab = () => {
|
|
72
|
+
const $focusableElements = UiDomUtils.getFocusableElements(document.body);
|
|
73
|
+
const activeElement = document.activeElement;
|
|
74
|
+
const indexOfCurrentlyFocusedElement = $focusableElements.indexOf(activeElement);
|
|
75
|
+
const $previousElement = $focusableElements[indexOfCurrentlyFocusedElement - 1];
|
|
76
|
+
const $previousElementMessageParent = $previousElement === null || $previousElement === void 0 ? void 0 : $previousElement.closest(`h-${this._messageComponentName}`);
|
|
77
|
+
if ($previousElementMessageParent === this)
|
|
78
|
+
return;
|
|
79
|
+
if ($previousElementMessageParent)
|
|
80
|
+
$previousElementMessageParent.open();
|
|
81
|
+
if (this._isBaseMessage(activeElement))
|
|
82
|
+
activeElement.close();
|
|
75
83
|
};
|
|
76
84
|
this._clickOutsideController = new ClickOutsideController({
|
|
77
85
|
host: this,
|
|
78
86
|
container: this,
|
|
79
|
-
action: this.
|
|
87
|
+
action: this.close
|
|
80
88
|
});
|
|
81
89
|
new KeystrokesController({
|
|
82
90
|
host: this,
|
|
83
91
|
keys: ['tab'],
|
|
92
|
+
target: this,
|
|
84
93
|
callback: this._handleFocusWithinMessage
|
|
85
94
|
});
|
|
95
|
+
new KeystrokesController({
|
|
96
|
+
host: this,
|
|
97
|
+
keys: [['shift', 'tab']],
|
|
98
|
+
target: document.body,
|
|
99
|
+
callback: this._handleReverseTab
|
|
100
|
+
});
|
|
86
101
|
}
|
|
87
102
|
connectedCallback(messageComponentName = '') {
|
|
88
103
|
super.connectedCallback();
|
|
@@ -109,6 +124,11 @@ class BaseMessage extends PhoenixLightLitElement {
|
|
|
109
124
|
$portalTarget.setAttribute(PORTAL_TARGET_NAME_PROP, DEFAULT_MESSAGE_PORTAL_NAME);
|
|
110
125
|
document.body.appendChild($portalTarget);
|
|
111
126
|
}
|
|
127
|
+
_isBaseMessage($element) {
|
|
128
|
+
if (MESSAGE_ELEMENTS.includes($element.localName))
|
|
129
|
+
return true;
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
112
132
|
}
|
|
113
133
|
__decorate([
|
|
114
134
|
property({ type: Boolean, reflect: true }),
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -2,6 +2,7 @@ export declare const DEFAULT_MESSAGE_PORTAL_NAME = "message-portal";
|
|
|
2
2
|
export declare const MESSAGE_CONTENT_SLOT_NAME = "message-content";
|
|
3
3
|
export declare const MESSAGE_REMOVED_CLASS_NAME = "removed";
|
|
4
4
|
export declare const DEFAULT_MESSAGE_OFFSET = 10;
|
|
5
|
+
export declare const MESSAGE_ELEMENTS: string[];
|
|
5
6
|
export declare const MESSAGE_CONTENT_ELEMENTS: string[];
|
|
6
7
|
export declare const MESSAGE_SHOW_DELAY_IN_MS = 100;
|
|
7
8
|
export declare const MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS = 500;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { HINT_CONTENT_ELEMENT_NAME } from './hints/hint_constants.js';
|
|
2
|
-
import { TOOLTIP_CONTENT_ELEMENT_NAME } from './tooltips/tooltip_constants.js';
|
|
1
|
+
import { HINT_ELEMENT_NAME, HINT_CONTENT_ELEMENT_NAME } from './hints/hint_constants.js';
|
|
2
|
+
import { TOOLTIP_ELEMENT_NAME, TOOLTIP_CONTENT_ELEMENT_NAME } from './tooltips/tooltip_constants.js';
|
|
3
3
|
|
|
4
4
|
const DEFAULT_MESSAGE_PORTAL_NAME = 'message-portal';
|
|
5
5
|
const MESSAGE_CONTENT_SLOT_NAME = 'message-content';
|
|
6
6
|
const MESSAGE_REMOVED_CLASS_NAME = `removed`;
|
|
7
7
|
const DEFAULT_MESSAGE_OFFSET = 10;
|
|
8
|
+
const MESSAGE_ELEMENTS = [TOOLTIP_ELEMENT_NAME, HINT_ELEMENT_NAME];
|
|
8
9
|
const MESSAGE_CONTENT_ELEMENTS = [TOOLTIP_CONTENT_ELEMENT_NAME, HINT_CONTENT_ELEMENT_NAME];
|
|
9
10
|
const MESSAGE_SHOW_DELAY_IN_MS = 100;
|
|
10
11
|
const MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS = 500;
|
|
11
12
|
const MESSAGE_CLOSE_DELAY_IN_MS = 500;
|
|
12
13
|
|
|
13
|
-
export { DEFAULT_MESSAGE_OFFSET, DEFAULT_MESSAGE_PORTAL_NAME, MESSAGE_CLOSE_DELAY_IN_MS, MESSAGE_CONTENT_ELEMENTS, MESSAGE_CONTENT_SLOT_NAME, MESSAGE_REMOVED_CLASS_NAME, MESSAGE_SHOW_DELAY_IN_MS, MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS };
|
|
14
|
+
export { DEFAULT_MESSAGE_OFFSET, DEFAULT_MESSAGE_PORTAL_NAME, MESSAGE_CLOSE_DELAY_IN_MS, MESSAGE_CONTENT_ELEMENTS, MESSAGE_CONTENT_SLOT_NAME, MESSAGE_ELEMENTS, MESSAGE_REMOVED_CLASS_NAME, MESSAGE_SHOW_DELAY_IN_MS, MESSAGE_TIME_TO_DELAY_CLOSING_IN_MS };
|
|
14
15
|
//# sourceMappingURL=base_message_constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -20,7 +20,6 @@ let HHint = class HHint extends BaseMessage {
|
|
|
20
20
|
<h-portal ?disabled="${!this.opened}" @portal.open="${this._positionMessage}" to="${this.portalTarget}" hidden>
|
|
21
21
|
${this.getSlot(MESSAGE_CONTENT_SLOT_NAME)}
|
|
22
22
|
</h-portal>
|
|
23
|
-
<div tabindex="0"></div>
|
|
24
23
|
`;
|
|
25
24
|
}
|
|
26
25
|
};
|