@shoper/phoenix_design_system 0.7.2 → 0.8.1
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 +87 -18
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_constants.js +11 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +1 -0
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
- package/build/cjs/packages/phoenix/src/global_constants.js +8 -0
- package/build/cjs/packages/phoenix/src/global_constants.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js +35 -0
- package/build/cjs/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js +57 -58
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js.map +1 -1
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js +11 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js.map +1 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js +20 -0
- package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +7 -3
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +88 -19
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_backdrop.d.ts +11 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_backdrop.js +54 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_backdrop.js.map +1 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.d.ts +6 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.js +7 -2
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +2 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
- package/build/esm/packages/phoenix/src/global_constants.d.ts +1 -0
- package/build/esm/packages/phoenix/src/global_constants.js +4 -0
- package/build/esm/packages/phoenix/src/global_constants.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js +30 -0
- package/build/esm/packages/star_core/build/esm/external/tslib/tslib.es6.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js +57 -58
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container.js.map +1 -1
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js +7 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/classes/values_container/values_container_error.js.map +1 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js +16 -0
- package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map +1 -0
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ var dropdown_constants = require('./dropdown_constants.js');
|
|
|
12
12
|
var click_outside_controller_messages = require('../../controllers/click_outside_controller/click_outside_controller_messages.js');
|
|
13
13
|
var click_outside_controller = require('../../controllers/click_outside_controller/click_outside_controller.js');
|
|
14
14
|
var relative_position_controller_constants = require('../../controllers/relative_position_controller/relative_position_controller_constants.js');
|
|
15
|
+
var global_constants = require('../../global_constants.js');
|
|
15
16
|
var relative_position_controller = require('../../controllers/relative_position_controller/relative_position_controller.js');
|
|
16
17
|
|
|
17
18
|
exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
@@ -21,23 +22,81 @@ exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLig
|
|
|
21
22
|
this.direction = relative_position_controller_constants.DIRECTIONS.bottomCenter;
|
|
22
23
|
this.toggleOnHover = false;
|
|
23
24
|
this.name = '';
|
|
25
|
+
this.transition = 'direction';
|
|
24
26
|
this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
25
27
|
this.toggle = () => {
|
|
26
28
|
this.opened ? this.hide() : this.show();
|
|
27
29
|
};
|
|
28
|
-
this.show = () => {
|
|
29
|
-
this.opened = true;
|
|
30
|
+
this.show = async () => {
|
|
30
31
|
const showDropdownEvent = new Event(dropdown_constants.DROPDOWN_EVENTS.show, {
|
|
31
32
|
bubbles: true
|
|
32
33
|
});
|
|
33
34
|
this.dispatchEvent(showDropdownEvent);
|
|
35
|
+
return new Promise((resolve) => {
|
|
36
|
+
var _a;
|
|
37
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.add(dropdown_constants.DROPDOWN_CONTENT_VISIBLE_CLASS, `${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-start`);
|
|
38
|
+
window.requestAnimationFrame(() => {
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
var _a;
|
|
41
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.add(`${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
42
|
+
}, 0);
|
|
43
|
+
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
var _a;
|
|
46
|
+
this.opened = true;
|
|
47
|
+
this.dispatchEvent(showDropdownEvent);
|
|
48
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
49
|
+
resolve();
|
|
50
|
+
}, transitionDuration);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
34
53
|
};
|
|
35
|
-
this.hide = () => {
|
|
36
|
-
this.opened = false;
|
|
54
|
+
this.hide = async () => {
|
|
37
55
|
const hideDropdownEvent = new Event(dropdown_constants.DROPDOWN_EVENTS.hide, {
|
|
38
56
|
bubbles: true
|
|
39
57
|
});
|
|
40
|
-
|
|
58
|
+
return new Promise((resolve) => {
|
|
59
|
+
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
60
|
+
window.requestAnimationFrame(() => {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_HIDE}-${this.transition}-start`);
|
|
63
|
+
(_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.classList.add(`${dropdown_constants.DROPDOWN_CONTENT_HIDE}-${this.transition}-end`);
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
var _a;
|
|
66
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${dropdown_constants.DROPDOWN_CONTENT_HIDE}-${this.transition}-start`, `${dropdown_constants.DROPDOWN_CONTENT_HIDE}-${this.transition}-end`);
|
|
67
|
+
this.opened = false;
|
|
68
|
+
this.dispatchEvent(hideDropdownEvent);
|
|
69
|
+
resolve();
|
|
70
|
+
}, transitionDuration);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
this._hoverToggle = async (ev) => {
|
|
75
|
+
if (!ev.target) {
|
|
76
|
+
await this.hide();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const isHoveredWithinDropdown = this._isDescendantOfParent(this, ev.target) ||
|
|
80
|
+
(this.$dropdownContent && this._isDescendantOfParent(this.$dropdownContent, ev.target)) ||
|
|
81
|
+
ev.target === this ||
|
|
82
|
+
ev.target === this.$dropdownContent;
|
|
83
|
+
if (isHoveredWithinDropdown && !this.opened) {
|
|
84
|
+
await this.show();
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!isHoveredWithinDropdown && this.opened) {
|
|
88
|
+
await this.hide();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
this._isDescendantOfParent = function (parent, child) {
|
|
93
|
+
let parentNode = child.parentNode;
|
|
94
|
+
while (parentNode) {
|
|
95
|
+
if (parentNode === parent)
|
|
96
|
+
return true;
|
|
97
|
+
parentNode = parentNode.parentNode;
|
|
98
|
+
}
|
|
99
|
+
return false;
|
|
41
100
|
};
|
|
42
101
|
this._positionDropdownContent = () => {
|
|
43
102
|
requestAnimationFrame(() => {
|
|
@@ -48,6 +107,7 @@ exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLig
|
|
|
48
107
|
connectedCallback() {
|
|
49
108
|
super.connectedCallback();
|
|
50
109
|
this._appendDropdownPortal();
|
|
110
|
+
this._appendDropdownBackdrop();
|
|
51
111
|
if (!this.$dropdownContent)
|
|
52
112
|
this.$dropdownContent = this.querySelector(dropdown_constants.DROPDOWN_CONTENT_NAME);
|
|
53
113
|
if (!this.$dropdownToggler)
|
|
@@ -67,15 +127,6 @@ exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLig
|
|
|
67
127
|
});
|
|
68
128
|
this._setupListeners();
|
|
69
129
|
}
|
|
70
|
-
_setupListeners() {
|
|
71
|
-
var _a, _b, _c;
|
|
72
|
-
this.addEventListener(click_outside_controller_messages.CLICK_OUTSIDE_CONTROLLER_MESSAGES.clickedOutside, this._handleClickOutside);
|
|
73
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.toggle);
|
|
74
|
-
if (this.toggleOnHover) {
|
|
75
|
-
(_b = this.$dropdownToggler) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseenter', this.show);
|
|
76
|
-
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.addEventListener('mouseleave', this.hide);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
130
|
_appendDropdownPortal() {
|
|
80
131
|
const $dropdownPortalTarget = document.querySelector(`[name="${dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME}"]`);
|
|
81
132
|
if (!$dropdownPortalTarget) {
|
|
@@ -84,6 +135,21 @@ exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLig
|
|
|
84
135
|
document.body.appendChild($portalTarget);
|
|
85
136
|
}
|
|
86
137
|
}
|
|
138
|
+
_appendDropdownBackdrop() {
|
|
139
|
+
const $dropdownBackdrop = document.querySelector(dropdown_constants.DROPDOWN_BACKDROP_NAME);
|
|
140
|
+
if (!$dropdownBackdrop) {
|
|
141
|
+
const $backdrop = document.createElement(dropdown_constants.DROPDOWN_BACKDROP_NAME);
|
|
142
|
+
document.body.appendChild($backdrop);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
_setupListeners() {
|
|
146
|
+
var _a;
|
|
147
|
+
this.addEventListener(click_outside_controller_messages.CLICK_OUTSIDE_CONTROLLER_MESSAGES.clickedOutside, this._handleClickOutside);
|
|
148
|
+
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.toggle);
|
|
149
|
+
if (this.toggleOnHover && window.innerWidth > global_constants.MOBILE_SCREEN_WIDTH) {
|
|
150
|
+
document.addEventListener('mouseover', this._hoverToggle);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
87
153
|
_handleClickOutside() {
|
|
88
154
|
var _a;
|
|
89
155
|
if (!this.opened)
|
|
@@ -92,12 +158,11 @@ exports.HDropdown = class HDropdown extends phoenix_light_lit_element.PhoenixLig
|
|
|
92
158
|
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'false');
|
|
93
159
|
}
|
|
94
160
|
disconnectedCallback() {
|
|
95
|
-
var _a
|
|
161
|
+
var _a;
|
|
96
162
|
super.disconnectedCallback();
|
|
97
163
|
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.removeEventListener('toggle', this.toggle);
|
|
98
|
-
if (this.toggleOnHover) {
|
|
99
|
-
|
|
100
|
-
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseleave', this.hide);
|
|
164
|
+
if (this.toggleOnHover && window.innerWidth > global_constants.MOBILE_SCREEN_WIDTH) {
|
|
165
|
+
document.removeEventListener('mouseover', this._hoverToggle);
|
|
101
166
|
}
|
|
102
167
|
this.opened = false;
|
|
103
168
|
}
|
|
@@ -127,6 +192,10 @@ tslib_es6.__decorate([
|
|
|
127
192
|
decorators.property({ type: String }),
|
|
128
193
|
tslib_es6.__metadata("design:type", Object)
|
|
129
194
|
], exports.HDropdown.prototype, "name", void 0);
|
|
195
|
+
tslib_es6.__decorate([
|
|
196
|
+
decorators.property({ type: String }),
|
|
197
|
+
tslib_es6.__metadata("design:type", Object)
|
|
198
|
+
], exports.HDropdown.prototype, "transition", void 0);
|
|
130
199
|
tslib_es6.__decorate([
|
|
131
200
|
decorators.property({ type: String }),
|
|
132
201
|
tslib_es6.__metadata("design:type", Object)
|
|
@@ -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;"}
|
|
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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -6,6 +6,7 @@ const DROPDOWN_NAME = 'dropdown';
|
|
|
6
6
|
const DROPDOWN_CONTAINER_NAME = `h-${DROPDOWN_NAME}`;
|
|
7
7
|
const DROPDOWN_TOGGLER_NAME = `${DROPDOWN_CONTAINER_NAME}-toggler`;
|
|
8
8
|
const DROPDOWN_CONTENT_NAME = `${DROPDOWN_CONTAINER_NAME}-content`;
|
|
9
|
+
const DROPDOWN_BACKDROP_NAME = `${DROPDOWN_CONTAINER_NAME}-backdrop`;
|
|
9
10
|
const DEFAULT_DROPDOWN_PORTAL_NAME = 'dropdown-portal';
|
|
10
11
|
const DROPDOWN_EVENT = 'dropdown';
|
|
11
12
|
const DROPDOWN_EVENTS = {
|
|
@@ -14,15 +15,24 @@ const DROPDOWN_EVENTS = {
|
|
|
14
15
|
};
|
|
15
16
|
const DROPDOWN_OPENED_ATTRIBUTE_NAME = 'opened';
|
|
16
17
|
const DROPDOWN_CLASS = 'dropdown';
|
|
17
|
-
const DROPDOWN_CONTENT_CLASS = `${DROPDOWN_CLASS}__content`;
|
|
18
|
+
const DROPDOWN_CONTENT_CLASS = `${DROPDOWN_CLASS}__content`;
|
|
19
|
+
const DROPDOWN_TOGGLER_CLASS = `${DROPDOWN_CLASS}__toggler`;
|
|
20
|
+
const DROPDOWN_CONTENT_VISIBLE_CLASS = `${DROPDOWN_CONTENT_CLASS}_visible`;
|
|
21
|
+
const DROPDOWN_CONTENT_SHOW = `${DROPDOWN_CONTENT_CLASS}_show`;
|
|
22
|
+
const DROPDOWN_CONTENT_HIDE = `${DROPDOWN_CONTENT_CLASS}_hide`;
|
|
18
23
|
|
|
19
24
|
exports.DEFAULT_DROPDOWN_PORTAL_NAME = DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
25
|
+
exports.DROPDOWN_BACKDROP_NAME = DROPDOWN_BACKDROP_NAME;
|
|
20
26
|
exports.DROPDOWN_CLASS = DROPDOWN_CLASS;
|
|
21
27
|
exports.DROPDOWN_CONTAINER_NAME = DROPDOWN_CONTAINER_NAME;
|
|
22
28
|
exports.DROPDOWN_CONTENT_CLASS = DROPDOWN_CONTENT_CLASS;
|
|
29
|
+
exports.DROPDOWN_CONTENT_HIDE = DROPDOWN_CONTENT_HIDE;
|
|
23
30
|
exports.DROPDOWN_CONTENT_NAME = DROPDOWN_CONTENT_NAME;
|
|
31
|
+
exports.DROPDOWN_CONTENT_SHOW = DROPDOWN_CONTENT_SHOW;
|
|
32
|
+
exports.DROPDOWN_CONTENT_VISIBLE_CLASS = DROPDOWN_CONTENT_VISIBLE_CLASS;
|
|
24
33
|
exports.DROPDOWN_EVENTS = DROPDOWN_EVENTS;
|
|
25
34
|
exports.DROPDOWN_NAME = DROPDOWN_NAME;
|
|
26
35
|
exports.DROPDOWN_OPENED_ATTRIBUTE_NAME = DROPDOWN_OPENED_ATTRIBUTE_NAME;
|
|
36
|
+
exports.DROPDOWN_TOGGLER_CLASS = DROPDOWN_TOGGLER_CLASS;
|
|
27
37
|
exports.DROPDOWN_TOGGLER_NAME = DROPDOWN_TOGGLER_NAME;
|
|
28
38
|
//# sourceMappingURL=dropdown_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;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;"}
|
|
@@ -23,6 +23,7 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
|
|
|
23
23
|
this._toggleElementAriaController.toggleAriaExpandedAttribute();
|
|
24
24
|
};
|
|
25
25
|
this.slot = this.hasAttribute('slot') ? this.slot : 'toggler';
|
|
26
|
+
this.className = `${dropdown_constants.DROPDOWN_TOGGLER_CLASS} ${this.className}`;
|
|
26
27
|
}
|
|
27
28
|
connectedCallback() {
|
|
28
29
|
super.connectedCallback();
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/******************************************************************************
|
|
6
|
+
Copyright (c) Microsoft Corporation.
|
|
7
|
+
|
|
8
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
9
|
+
purpose with or without fee is hereby granted.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
12
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
13
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
14
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
15
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
16
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
17
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
18
|
+
***************************************************************************** */
|
|
19
|
+
|
|
20
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
21
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
22
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
23
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
27
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
28
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
29
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
30
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
exports.__classPrivateFieldGet = __classPrivateFieldGet;
|
|
34
|
+
exports.__classPrivateFieldSet = __classPrivateFieldSet;
|
|
35
|
+
//# sourceMappingURL=tslib.es6.js.map
|
|
@@ -0,0 +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;"}
|
|
@@ -2,65 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('
|
|
6
|
-
require('
|
|
7
|
-
var values_container_error = require('@starCoreRoot/classes/values_container/values_container_error');
|
|
5
|
+
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
var values_container_error = require('./values_container_error.js');
|
|
8
7
|
|
|
9
|
-
var _ValuesContainer_valuesContainer, _ValuesContainer_settings;
|
|
10
|
-
class ValuesContainer {
|
|
11
|
-
constructor(settings = {}) {
|
|
12
|
-
_ValuesContainer_valuesContainer.set(this, {});
|
|
13
|
-
_ValuesContainer_settings.set(this, {
|
|
14
|
-
silentMode: true,
|
|
15
|
-
allowOverwrite: false
|
|
16
|
-
});
|
|
17
|
-
tslib_es6.__classPrivateFieldSet(this, _ValuesContainer_settings, {
|
|
18
|
-
...tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f"),
|
|
19
|
-
...settings
|
|
20
|
-
}, "f");
|
|
21
|
-
}
|
|
22
|
-
add(key, value) {
|
|
23
|
-
if (this.has(key) && !tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f").allowOverwrite)
|
|
24
|
-
this._handleError(new values_container_error.ValuesContainerError(`value under key [${key}] already exists`));
|
|
25
|
-
tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
26
|
-
}
|
|
27
|
-
update(key, value) {
|
|
28
|
-
if (!this.has(key))
|
|
29
|
-
this._handleError(new values_container_error.ValuesContainerError(`value under key [${key}] doesn't exist`));
|
|
30
|
-
tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
31
|
-
}
|
|
32
|
-
remove(key) {
|
|
33
|
-
if (!this.has(key))
|
|
34
|
-
this._handleError(new values_container_error.ValuesContainerError(`${key} doesn't exist, cannot be removed`));
|
|
35
|
-
delete tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
36
|
-
}
|
|
37
|
-
has(key) {
|
|
38
|
-
return this.get(key) !== undefined;
|
|
39
|
-
}
|
|
40
|
-
get(key) {
|
|
41
|
-
return tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
42
|
-
}
|
|
43
|
-
keys() {
|
|
44
|
-
return Object.keys(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
45
|
-
}
|
|
46
|
-
values() {
|
|
47
|
-
return Object.values(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
48
|
-
}
|
|
49
|
-
entries() {
|
|
50
|
-
return Object.entries(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
51
|
-
}
|
|
52
|
-
clear() {
|
|
53
|
-
tslib_es6.__classPrivateFieldSet(this, _ValuesContainer_valuesContainer, {}, "f");
|
|
54
|
-
}
|
|
55
|
-
size() {
|
|
56
|
-
return this.keys().length;
|
|
57
|
-
}
|
|
58
|
-
_handleError(error) {
|
|
59
|
-
if (tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f").silentMode)
|
|
60
|
-
return;
|
|
61
|
-
throw error;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
8
|
+
var _ValuesContainer_valuesContainer, _ValuesContainer_settings;
|
|
9
|
+
class ValuesContainer {
|
|
10
|
+
constructor(settings = {}) {
|
|
11
|
+
_ValuesContainer_valuesContainer.set(this, {});
|
|
12
|
+
_ValuesContainer_settings.set(this, {
|
|
13
|
+
silentMode: true,
|
|
14
|
+
allowOverwrite: false
|
|
15
|
+
});
|
|
16
|
+
tslib_es6.__classPrivateFieldSet(this, _ValuesContainer_settings, {
|
|
17
|
+
...tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f"),
|
|
18
|
+
...settings
|
|
19
|
+
}, "f");
|
|
20
|
+
}
|
|
21
|
+
add(key, value) {
|
|
22
|
+
if (this.has(key) && !tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f").allowOverwrite)
|
|
23
|
+
this._handleError(new values_container_error.ValuesContainerError(`value under key [${key}] already exists`));
|
|
24
|
+
tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
25
|
+
}
|
|
26
|
+
update(key, value) {
|
|
27
|
+
if (!this.has(key))
|
|
28
|
+
this._handleError(new values_container_error.ValuesContainerError(`value under key [${key}] doesn't exist`));
|
|
29
|
+
tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
30
|
+
}
|
|
31
|
+
remove(key) {
|
|
32
|
+
if (!this.has(key))
|
|
33
|
+
this._handleError(new values_container_error.ValuesContainerError(`${key} doesn't exist, cannot be removed`));
|
|
34
|
+
delete tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
35
|
+
}
|
|
36
|
+
has(key) {
|
|
37
|
+
return this.get(key) !== undefined;
|
|
38
|
+
}
|
|
39
|
+
get(key) {
|
|
40
|
+
return tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
41
|
+
}
|
|
42
|
+
keys() {
|
|
43
|
+
return Object.keys(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
44
|
+
}
|
|
45
|
+
values() {
|
|
46
|
+
return Object.values(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
47
|
+
}
|
|
48
|
+
entries() {
|
|
49
|
+
return Object.entries(tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
50
|
+
}
|
|
51
|
+
clear() {
|
|
52
|
+
tslib_es6.__classPrivateFieldSet(this, _ValuesContainer_valuesContainer, {}, "f");
|
|
53
|
+
}
|
|
54
|
+
size() {
|
|
55
|
+
return this.keys().length;
|
|
56
|
+
}
|
|
57
|
+
_handleError(error) {
|
|
58
|
+
if (tslib_es6.__classPrivateFieldGet(this, _ValuesContainer_settings, "f").silentMode)
|
|
59
|
+
return;
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
64
63
|
_ValuesContainer_valuesContainer = new WeakMap(), _ValuesContainer_settings = new WeakMap();
|
|
65
64
|
|
|
66
65
|
exports.ValuesContainer = ValuesContainer;
|
|
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var app_error = require('../../core/errors/app_error.js');
|
|
6
|
+
|
|
7
|
+
class ValuesContainerError extends app_error.AppError {
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
exports.ValuesContainerError = ValuesContainerError;
|
|
11
|
+
//# sourceMappingURL=values_container_error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
|
|
7
|
+
var _AppError_message, _AppError_options;
|
|
8
|
+
class AppError extends Error {
|
|
9
|
+
constructor(message, options = {}) {
|
|
10
|
+
super(message);
|
|
11
|
+
_AppError_message.set(this, void 0);
|
|
12
|
+
_AppError_options.set(this, void 0);
|
|
13
|
+
tslib_es6.__classPrivateFieldSet(this, _AppError_message, message, "f");
|
|
14
|
+
tslib_es6.__classPrivateFieldSet(this, _AppError_options, options, "f");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
_AppError_message = new WeakMap(), _AppError_options = new WeakMap();
|
|
18
|
+
|
|
19
|
+
exports.AppError = AppError;
|
|
20
|
+
//# sourceMappingURL=app_error.js.map
|
package/build/cjs/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map
ADDED
|
@@ -0,0 +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;"}
|
|
@@ -6,18 +6,22 @@ export declare class HDropdown extends PhoenixLightLitElement implements IDropdo
|
|
|
6
6
|
direction: "bottom-center";
|
|
7
7
|
toggleOnHover: boolean;
|
|
8
8
|
name: string;
|
|
9
|
+
transition: string;
|
|
9
10
|
portalTarget: string;
|
|
10
11
|
$dropdownToggler: HTMLElement | null;
|
|
11
12
|
$dropdownContent: HTMLElement | null;
|
|
12
13
|
private _positionController;
|
|
13
14
|
private _clickOutsideController;
|
|
14
15
|
connectedCallback(): void;
|
|
15
|
-
private _setupListeners;
|
|
16
16
|
private _appendDropdownPortal;
|
|
17
|
+
private _appendDropdownBackdrop;
|
|
18
|
+
private _setupListeners;
|
|
17
19
|
private _handleClickOutside;
|
|
18
20
|
toggle: () => void;
|
|
19
|
-
show: () => void
|
|
20
|
-
hide: () => void
|
|
21
|
+
show: () => Promise<void>;
|
|
22
|
+
hide: () => Promise<void>;
|
|
23
|
+
private _hoverToggle;
|
|
24
|
+
private _isDescendantOfParent;
|
|
21
25
|
private _positionDropdownContent;
|
|
22
26
|
disconnectedCallback(): void;
|
|
23
27
|
render(): TemplateResult;
|
|
@@ -4,10 +4,11 @@ import { property } from 'lit/decorators';
|
|
|
4
4
|
import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
|
|
5
5
|
import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
|
|
6
6
|
import { PORTAL_TARGET_COMPONENT_NAME, PORTAL_TARGET_NAME_PROP } from '../portal/portal_constants.js';
|
|
7
|
-
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_EVENTS, DROPDOWN_CONTENT_NAME, DROPDOWN_TOGGLER_NAME } from './dropdown_constants.js';
|
|
7
|
+
import { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_EVENTS, DROPDOWN_CONTENT_VISIBLE_CLASS, DROPDOWN_CONTENT_SHOW, DROPDOWN_CONTENT_HIDE, DROPDOWN_CONTENT_NAME, DROPDOWN_TOGGLER_NAME, DROPDOWN_BACKDROP_NAME } from './dropdown_constants.js';
|
|
8
8
|
import { CLICK_OUTSIDE_CONTROLLER_MESSAGES } from '../../controllers/click_outside_controller/click_outside_controller_messages.js';
|
|
9
9
|
import { ClickOutsideController } from '../../controllers/click_outside_controller/click_outside_controller.js';
|
|
10
10
|
import { DIRECTIONS } from '../../controllers/relative_position_controller/relative_position_controller_constants.js';
|
|
11
|
+
import { MOBILE_SCREEN_WIDTH } from '../../global_constants.js';
|
|
11
12
|
import { RelativePositionController } from '../../controllers/relative_position_controller/relative_position_controller.js';
|
|
12
13
|
|
|
13
14
|
let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
@@ -17,23 +18,81 @@ let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
|
17
18
|
this.direction = DIRECTIONS.bottomCenter;
|
|
18
19
|
this.toggleOnHover = false;
|
|
19
20
|
this.name = '';
|
|
21
|
+
this.transition = 'direction';
|
|
20
22
|
this.portalTarget = DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
21
23
|
this.toggle = () => {
|
|
22
24
|
this.opened ? this.hide() : this.show();
|
|
23
25
|
};
|
|
24
|
-
this.show = () => {
|
|
25
|
-
this.opened = true;
|
|
26
|
+
this.show = async () => {
|
|
26
27
|
const showDropdownEvent = new Event(DROPDOWN_EVENTS.show, {
|
|
27
28
|
bubbles: true
|
|
28
29
|
});
|
|
29
30
|
this.dispatchEvent(showDropdownEvent);
|
|
31
|
+
return new Promise((resolve) => {
|
|
32
|
+
var _a;
|
|
33
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.add(DROPDOWN_CONTENT_VISIBLE_CLASS, `${DROPDOWN_CONTENT_SHOW}-${this.transition}-start`);
|
|
34
|
+
window.requestAnimationFrame(() => {
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.add(`${DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
38
|
+
}, 0);
|
|
39
|
+
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
var _a;
|
|
42
|
+
this.opened = true;
|
|
43
|
+
this.dispatchEvent(showDropdownEvent);
|
|
44
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${DROPDOWN_CONTENT_SHOW}-${this.transition}-start`, `${DROPDOWN_CONTENT_SHOW}-${this.transition}-end`);
|
|
45
|
+
resolve();
|
|
46
|
+
}, transitionDuration);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
30
49
|
};
|
|
31
|
-
this.hide = () => {
|
|
32
|
-
this.opened = false;
|
|
50
|
+
this.hide = async () => {
|
|
33
51
|
const hideDropdownEvent = new Event(DROPDOWN_EVENTS.hide, {
|
|
34
52
|
bubbles: true
|
|
35
53
|
});
|
|
36
|
-
|
|
54
|
+
return new Promise((resolve) => {
|
|
55
|
+
const transitionDuration = parseFloat(getComputedStyle(this.$dropdownContent || this).transitionDuration) * 1000;
|
|
56
|
+
window.requestAnimationFrame(() => {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${DROPDOWN_CONTENT_HIDE}-${this.transition}-start`);
|
|
59
|
+
(_b = this.$dropdownContent) === null || _b === void 0 ? void 0 : _b.classList.add(`${DROPDOWN_CONTENT_HIDE}-${this.transition}-end`);
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
var _a;
|
|
62
|
+
(_a = this.$dropdownContent) === null || _a === void 0 ? void 0 : _a.classList.remove(`${DROPDOWN_CONTENT_HIDE}-${this.transition}-start`, `${DROPDOWN_CONTENT_HIDE}-${this.transition}-end`);
|
|
63
|
+
this.opened = false;
|
|
64
|
+
this.dispatchEvent(hideDropdownEvent);
|
|
65
|
+
resolve();
|
|
66
|
+
}, transitionDuration);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
this._hoverToggle = async (ev) => {
|
|
71
|
+
if (!ev.target) {
|
|
72
|
+
await this.hide();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const isHoveredWithinDropdown = this._isDescendantOfParent(this, ev.target) ||
|
|
76
|
+
(this.$dropdownContent && this._isDescendantOfParent(this.$dropdownContent, ev.target)) ||
|
|
77
|
+
ev.target === this ||
|
|
78
|
+
ev.target === this.$dropdownContent;
|
|
79
|
+
if (isHoveredWithinDropdown && !this.opened) {
|
|
80
|
+
await this.show();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (!isHoveredWithinDropdown && this.opened) {
|
|
84
|
+
await this.hide();
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
this._isDescendantOfParent = function (parent, child) {
|
|
89
|
+
let parentNode = child.parentNode;
|
|
90
|
+
while (parentNode) {
|
|
91
|
+
if (parentNode === parent)
|
|
92
|
+
return true;
|
|
93
|
+
parentNode = parentNode.parentNode;
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
37
96
|
};
|
|
38
97
|
this._positionDropdownContent = () => {
|
|
39
98
|
requestAnimationFrame(() => {
|
|
@@ -44,6 +103,7 @@ let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
|
44
103
|
connectedCallback() {
|
|
45
104
|
super.connectedCallback();
|
|
46
105
|
this._appendDropdownPortal();
|
|
106
|
+
this._appendDropdownBackdrop();
|
|
47
107
|
if (!this.$dropdownContent)
|
|
48
108
|
this.$dropdownContent = this.querySelector(DROPDOWN_CONTENT_NAME);
|
|
49
109
|
if (!this.$dropdownToggler)
|
|
@@ -63,15 +123,6 @@ let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
|
63
123
|
});
|
|
64
124
|
this._setupListeners();
|
|
65
125
|
}
|
|
66
|
-
_setupListeners() {
|
|
67
|
-
var _a, _b, _c;
|
|
68
|
-
this.addEventListener(CLICK_OUTSIDE_CONTROLLER_MESSAGES.clickedOutside, this._handleClickOutside);
|
|
69
|
-
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.toggle);
|
|
70
|
-
if (this.toggleOnHover) {
|
|
71
|
-
(_b = this.$dropdownToggler) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseenter', this.show);
|
|
72
|
-
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.addEventListener('mouseleave', this.hide);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
126
|
_appendDropdownPortal() {
|
|
76
127
|
const $dropdownPortalTarget = document.querySelector(`[name="${DEFAULT_DROPDOWN_PORTAL_NAME}"]`);
|
|
77
128
|
if (!$dropdownPortalTarget) {
|
|
@@ -80,6 +131,21 @@ let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
|
80
131
|
document.body.appendChild($portalTarget);
|
|
81
132
|
}
|
|
82
133
|
}
|
|
134
|
+
_appendDropdownBackdrop() {
|
|
135
|
+
const $dropdownBackdrop = document.querySelector(DROPDOWN_BACKDROP_NAME);
|
|
136
|
+
if (!$dropdownBackdrop) {
|
|
137
|
+
const $backdrop = document.createElement(DROPDOWN_BACKDROP_NAME);
|
|
138
|
+
document.body.appendChild($backdrop);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
_setupListeners() {
|
|
142
|
+
var _a;
|
|
143
|
+
this.addEventListener(CLICK_OUTSIDE_CONTROLLER_MESSAGES.clickedOutside, this._handleClickOutside);
|
|
144
|
+
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.toggle);
|
|
145
|
+
if (this.toggleOnHover && window.innerWidth > MOBILE_SCREEN_WIDTH) {
|
|
146
|
+
document.addEventListener('mouseover', this._hoverToggle);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
83
149
|
_handleClickOutside() {
|
|
84
150
|
var _a;
|
|
85
151
|
if (!this.opened)
|
|
@@ -88,12 +154,11 @@ let HDropdown = class HDropdown extends PhoenixLightLitElement {
|
|
|
88
154
|
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', 'false');
|
|
89
155
|
}
|
|
90
156
|
disconnectedCallback() {
|
|
91
|
-
var _a
|
|
157
|
+
var _a;
|
|
92
158
|
super.disconnectedCallback();
|
|
93
159
|
(_a = this.$dropdownToggler) === null || _a === void 0 ? void 0 : _a.removeEventListener('toggle', this.toggle);
|
|
94
|
-
if (this.toggleOnHover) {
|
|
95
|
-
|
|
96
|
-
(_c = this.$dropdownToggler) === null || _c === void 0 ? void 0 : _c.removeEventListener('mouseleave', this.hide);
|
|
160
|
+
if (this.toggleOnHover && window.innerWidth > MOBILE_SCREEN_WIDTH) {
|
|
161
|
+
document.removeEventListener('mouseover', this._hoverToggle);
|
|
97
162
|
}
|
|
98
163
|
this.opened = false;
|
|
99
164
|
}
|
|
@@ -123,6 +188,10 @@ __decorate([
|
|
|
123
188
|
property({ type: String }),
|
|
124
189
|
__metadata("design:type", Object)
|
|
125
190
|
], HDropdown.prototype, "name", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
property({ type: String }),
|
|
193
|
+
__metadata("design:type", Object)
|
|
194
|
+
], HDropdown.prototype, "transition", void 0);
|
|
126
195
|
__decorate([
|
|
127
196
|
property({ type: String }),
|
|
128
197
|
__metadata("design:type", Object)
|
|
@@ -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;"}
|
|
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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element";
|
|
3
|
+
export declare class HDropdownBackdrop extends PhoenixLightLitElement {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
connectedCallback(): void;
|
|
6
|
+
disconnectedCallback(): void;
|
|
7
|
+
private _show;
|
|
8
|
+
private _hide;
|
|
9
|
+
private _closeDropdown;
|
|
10
|
+
protected render(): TemplateResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { DROPDOWN_BACKDROP_CLASS, DROPDOWN_CONTAINER_NAME, DROPDOWN_EVENTS } from '@phoenixRoot/components/dropdown/dropdown_constants';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import './dropdown_types';
|
|
5
|
+
import { PhoenixLightLitElement } from '@phoenixRoot/core/phoenix_light_lit_element';
|
|
6
|
+
import { phoenixCustomElement } from '@phoenixRoot/core/decorators/phoenix_custom_element';
|
|
7
|
+
import { property } from 'lit/decorators';
|
|
8
|
+
let HDropdownBackdrop = class HDropdownBackdrop extends PhoenixLightLitElement {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.visible = false;
|
|
12
|
+
this._show = () => {
|
|
13
|
+
this.visible = true;
|
|
14
|
+
};
|
|
15
|
+
this._hide = () => {
|
|
16
|
+
this.visible = false;
|
|
17
|
+
};
|
|
18
|
+
this._closeDropdown = () => {
|
|
19
|
+
const dropdowns = document.querySelectorAll(DROPDOWN_CONTAINER_NAME);
|
|
20
|
+
dropdowns.forEach((dropdown) => {
|
|
21
|
+
const opened = dropdown.getAttribute('opened');
|
|
22
|
+
if (opened !== null)
|
|
23
|
+
dropdown.hide();
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
connectedCallback() {
|
|
28
|
+
super.connectedCallback();
|
|
29
|
+
document.addEventListener(DROPDOWN_EVENTS.show, this._show);
|
|
30
|
+
document.addEventListener(DROPDOWN_EVENTS.hide, this._hide);
|
|
31
|
+
}
|
|
32
|
+
disconnectedCallback() {
|
|
33
|
+
super.disconnectedCallback();
|
|
34
|
+
document.removeEventListener(DROPDOWN_EVENTS.show, this._show);
|
|
35
|
+
document.removeEventListener(DROPDOWN_EVENTS.hide, this._hide);
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return html ` <div
|
|
39
|
+
aria-hidden="true"
|
|
40
|
+
?hidden="${!this.visible}"
|
|
41
|
+
@click="${this._closeDropdown}"
|
|
42
|
+
class="${DROPDOWN_BACKDROP_CLASS}"
|
|
43
|
+
></div>`;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
__decorate([
|
|
47
|
+
property({ type: Boolean }),
|
|
48
|
+
__metadata("design:type", Object)
|
|
49
|
+
], HDropdownBackdrop.prototype, "visible", void 0);
|
|
50
|
+
HDropdownBackdrop = __decorate([
|
|
51
|
+
phoenixCustomElement('h-dropdown-backdrop')
|
|
52
|
+
], HDropdownBackdrop);
|
|
53
|
+
export { HDropdownBackdrop };
|
|
54
|
+
//# sourceMappingURL=dropdown_backdrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown_backdrop.js","sourceRoot":"","sources":["../../../../../../../src/components/dropdown/dropdown_backdrop.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACxI,OAAO,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3C,OAA0B,kBAAkB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,sBAAsB;IAA7D;;QAEI,YAAO,GAAG,KAAK,CAAC;QAgBR,UAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC;QAEM,UAAK,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAG,EAAE;YAC1B,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YAErE,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,MAAM,KAAK,IAAI;oBAAG,QAAiC,CAAC,IAAI,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;IAUN,CAAC;IAvCU,iBAAiB;QACpB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAEM,oBAAoB;QACvB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAmBS,MAAM;QACZ,OAAO,IAAI,CAAA;;uBAEI,CAAC,IAAI,CAAC,OAAO;sBACd,IAAI,CAAC,cAAc;qBACpB,uBAAuB;gBAC5B,CAAC;IACb,CAAC;CACJ,CAAA;AAzCG;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;kDACZ;AAFP,iBAAiB;IAD7B,oBAAoB,CAAC,qBAAqB,CAAC;GAC/B,iBAAiB,CA2C7B;SA3CY,iBAAiB"}
|
|
@@ -2,6 +2,7 @@ export declare const DROPDOWN_NAME = "dropdown";
|
|
|
2
2
|
export declare const DROPDOWN_CONTAINER_NAME: string;
|
|
3
3
|
export declare const DROPDOWN_TOGGLER_NAME: string;
|
|
4
4
|
export declare const DROPDOWN_CONTENT_NAME: string;
|
|
5
|
+
export declare const DROPDOWN_BACKDROP_NAME: string;
|
|
5
6
|
export declare const DEFAULT_DROPDOWN_PORTAL_NAME = "dropdown-portal";
|
|
6
7
|
export declare const DROPDOWN_EVENTS: {
|
|
7
8
|
readonly show: "dropdown.show";
|
|
@@ -10,3 +11,8 @@ export declare const DROPDOWN_EVENTS: {
|
|
|
10
11
|
export declare const DROPDOWN_OPENED_ATTRIBUTE_NAME = "opened";
|
|
11
12
|
export declare const DROPDOWN_CLASS = "dropdown";
|
|
12
13
|
export declare const DROPDOWN_CONTENT_CLASS: string;
|
|
14
|
+
export declare const DROPDOWN_TOGGLER_CLASS: string;
|
|
15
|
+
export declare const DROPDOWN_BACKDROP_CLASS: string;
|
|
16
|
+
export declare const DROPDOWN_CONTENT_VISIBLE_CLASS: string;
|
|
17
|
+
export declare const DROPDOWN_CONTENT_SHOW: string;
|
|
18
|
+
export declare const DROPDOWN_CONTENT_HIDE: string;
|
|
@@ -2,6 +2,7 @@ const DROPDOWN_NAME = 'dropdown';
|
|
|
2
2
|
const DROPDOWN_CONTAINER_NAME = `h-${DROPDOWN_NAME}`;
|
|
3
3
|
const DROPDOWN_TOGGLER_NAME = `${DROPDOWN_CONTAINER_NAME}-toggler`;
|
|
4
4
|
const DROPDOWN_CONTENT_NAME = `${DROPDOWN_CONTAINER_NAME}-content`;
|
|
5
|
+
const DROPDOWN_BACKDROP_NAME = `${DROPDOWN_CONTAINER_NAME}-backdrop`;
|
|
5
6
|
const DEFAULT_DROPDOWN_PORTAL_NAME = 'dropdown-portal';
|
|
6
7
|
const DROPDOWN_EVENT = 'dropdown';
|
|
7
8
|
const DROPDOWN_EVENTS = {
|
|
@@ -10,7 +11,11 @@ const DROPDOWN_EVENTS = {
|
|
|
10
11
|
};
|
|
11
12
|
const DROPDOWN_OPENED_ATTRIBUTE_NAME = 'opened';
|
|
12
13
|
const DROPDOWN_CLASS = 'dropdown';
|
|
13
|
-
const DROPDOWN_CONTENT_CLASS = `${DROPDOWN_CLASS}__content`;
|
|
14
|
+
const DROPDOWN_CONTENT_CLASS = `${DROPDOWN_CLASS}__content`;
|
|
15
|
+
const DROPDOWN_TOGGLER_CLASS = `${DROPDOWN_CLASS}__toggler`;
|
|
16
|
+
const DROPDOWN_CONTENT_VISIBLE_CLASS = `${DROPDOWN_CONTENT_CLASS}_visible`;
|
|
17
|
+
const DROPDOWN_CONTENT_SHOW = `${DROPDOWN_CONTENT_CLASS}_show`;
|
|
18
|
+
const DROPDOWN_CONTENT_HIDE = `${DROPDOWN_CONTENT_CLASS}_hide`;
|
|
14
19
|
|
|
15
|
-
export { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_CLASS, DROPDOWN_CONTAINER_NAME, DROPDOWN_CONTENT_CLASS, DROPDOWN_CONTENT_NAME, DROPDOWN_EVENTS, DROPDOWN_NAME, DROPDOWN_OPENED_ATTRIBUTE_NAME, DROPDOWN_TOGGLER_NAME };
|
|
20
|
+
export { DEFAULT_DROPDOWN_PORTAL_NAME, DROPDOWN_BACKDROP_NAME, DROPDOWN_CLASS, DROPDOWN_CONTAINER_NAME, DROPDOWN_CONTENT_CLASS, DROPDOWN_CONTENT_HIDE, DROPDOWN_CONTENT_NAME, DROPDOWN_CONTENT_SHOW, DROPDOWN_CONTENT_VISIBLE_CLASS, DROPDOWN_EVENTS, DROPDOWN_NAME, DROPDOWN_OPENED_ATTRIBUTE_NAME, DROPDOWN_TOGGLER_CLASS, DROPDOWN_TOGGLER_NAME };
|
|
16
21
|
//# sourceMappingURL=dropdown_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;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;"}
|
|
@@ -3,7 +3,7 @@ import { property, state } from 'lit/decorators';
|
|
|
3
3
|
import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element.js';
|
|
4
4
|
import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
|
|
5
5
|
import { BtnController } from '../../controllers/btn_controller.js';
|
|
6
|
-
import { DROPDOWN_OPENED_ATTRIBUTE_NAME } from './dropdown_constants.js';
|
|
6
|
+
import { DROPDOWN_TOGGLER_CLASS, DROPDOWN_OPENED_ATTRIBUTE_NAME } from './dropdown_constants.js';
|
|
7
7
|
import { ToggleElementAriaController } from '../../controllers/toggle_element_aria_controller/toggle_element_aria_controller.js';
|
|
8
8
|
|
|
9
9
|
let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
@@ -19,6 +19,7 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
|
|
|
19
19
|
this._toggleElementAriaController.toggleAriaExpandedAttribute();
|
|
20
20
|
};
|
|
21
21
|
this.slot = this.hasAttribute('slot') ? this.slot : 'toggler';
|
|
22
|
+
this.className = `${DROPDOWN_TOGGLER_CLASS} ${this.className}`;
|
|
22
23
|
}
|
|
23
24
|
connectedCallback() {
|
|
24
25
|
super.connectedCallback();
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MOBILE_SCREEN_WIDTH = 575;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
Copyright (c) Microsoft Corporation.
|
|
3
|
+
|
|
4
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
+
purpose with or without fee is hereby granted.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
+
***************************************************************************** */
|
|
15
|
+
|
|
16
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
23
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
24
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
25
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
26
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { __classPrivateFieldGet, __classPrivateFieldSet };
|
|
30
|
+
//# sourceMappingURL=tslib.es6.js.map
|
|
@@ -0,0 +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;"}
|
|
@@ -1,62 +1,61 @@
|
|
|
1
|
-
import { __classPrivateFieldSet, __classPrivateFieldGet } from '
|
|
2
|
-
import '
|
|
3
|
-
import { ValuesContainerError } from '@starCoreRoot/classes/values_container/values_container_error';
|
|
1
|
+
import { __classPrivateFieldSet, __classPrivateFieldGet } from '../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ValuesContainerError } from './values_container_error.js';
|
|
4
3
|
|
|
5
|
-
var _ValuesContainer_valuesContainer, _ValuesContainer_settings;
|
|
6
|
-
class ValuesContainer {
|
|
7
|
-
constructor(settings = {}) {
|
|
8
|
-
_ValuesContainer_valuesContainer.set(this, {});
|
|
9
|
-
_ValuesContainer_settings.set(this, {
|
|
10
|
-
silentMode: true,
|
|
11
|
-
allowOverwrite: false
|
|
12
|
-
});
|
|
13
|
-
__classPrivateFieldSet(this, _ValuesContainer_settings, {
|
|
14
|
-
...__classPrivateFieldGet(this, _ValuesContainer_settings, "f"),
|
|
15
|
-
...settings
|
|
16
|
-
}, "f");
|
|
17
|
-
}
|
|
18
|
-
add(key, value) {
|
|
19
|
-
if (this.has(key) && !__classPrivateFieldGet(this, _ValuesContainer_settings, "f").allowOverwrite)
|
|
20
|
-
this._handleError(new ValuesContainerError(`value under key [${key}] already exists`));
|
|
21
|
-
__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
22
|
-
}
|
|
23
|
-
update(key, value) {
|
|
24
|
-
if (!this.has(key))
|
|
25
|
-
this._handleError(new ValuesContainerError(`value under key [${key}] doesn't exist`));
|
|
26
|
-
__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
27
|
-
}
|
|
28
|
-
remove(key) {
|
|
29
|
-
if (!this.has(key))
|
|
30
|
-
this._handleError(new ValuesContainerError(`${key} doesn't exist, cannot be removed`));
|
|
31
|
-
delete __classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
32
|
-
}
|
|
33
|
-
has(key) {
|
|
34
|
-
return this.get(key) !== undefined;
|
|
35
|
-
}
|
|
36
|
-
get(key) {
|
|
37
|
-
return __classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
38
|
-
}
|
|
39
|
-
keys() {
|
|
40
|
-
return Object.keys(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
41
|
-
}
|
|
42
|
-
values() {
|
|
43
|
-
return Object.values(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
44
|
-
}
|
|
45
|
-
entries() {
|
|
46
|
-
return Object.entries(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
47
|
-
}
|
|
48
|
-
clear() {
|
|
49
|
-
__classPrivateFieldSet(this, _ValuesContainer_valuesContainer, {}, "f");
|
|
50
|
-
}
|
|
51
|
-
size() {
|
|
52
|
-
return this.keys().length;
|
|
53
|
-
}
|
|
54
|
-
_handleError(error) {
|
|
55
|
-
if (__classPrivateFieldGet(this, _ValuesContainer_settings, "f").silentMode)
|
|
56
|
-
return;
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
4
|
+
var _ValuesContainer_valuesContainer, _ValuesContainer_settings;
|
|
5
|
+
class ValuesContainer {
|
|
6
|
+
constructor(settings = {}) {
|
|
7
|
+
_ValuesContainer_valuesContainer.set(this, {});
|
|
8
|
+
_ValuesContainer_settings.set(this, {
|
|
9
|
+
silentMode: true,
|
|
10
|
+
allowOverwrite: false
|
|
11
|
+
});
|
|
12
|
+
__classPrivateFieldSet(this, _ValuesContainer_settings, {
|
|
13
|
+
...__classPrivateFieldGet(this, _ValuesContainer_settings, "f"),
|
|
14
|
+
...settings
|
|
15
|
+
}, "f");
|
|
16
|
+
}
|
|
17
|
+
add(key, value) {
|
|
18
|
+
if (this.has(key) && !__classPrivateFieldGet(this, _ValuesContainer_settings, "f").allowOverwrite)
|
|
19
|
+
this._handleError(new ValuesContainerError(`value under key [${key}] already exists`));
|
|
20
|
+
__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
21
|
+
}
|
|
22
|
+
update(key, value) {
|
|
23
|
+
if (!this.has(key))
|
|
24
|
+
this._handleError(new ValuesContainerError(`value under key [${key}] doesn't exist`));
|
|
25
|
+
__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key] = value;
|
|
26
|
+
}
|
|
27
|
+
remove(key) {
|
|
28
|
+
if (!this.has(key))
|
|
29
|
+
this._handleError(new ValuesContainerError(`${key} doesn't exist, cannot be removed`));
|
|
30
|
+
delete __classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
31
|
+
}
|
|
32
|
+
has(key) {
|
|
33
|
+
return this.get(key) !== undefined;
|
|
34
|
+
}
|
|
35
|
+
get(key) {
|
|
36
|
+
return __classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f")[key];
|
|
37
|
+
}
|
|
38
|
+
keys() {
|
|
39
|
+
return Object.keys(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
40
|
+
}
|
|
41
|
+
values() {
|
|
42
|
+
return Object.values(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
43
|
+
}
|
|
44
|
+
entries() {
|
|
45
|
+
return Object.entries(__classPrivateFieldGet(this, _ValuesContainer_valuesContainer, "f"));
|
|
46
|
+
}
|
|
47
|
+
clear() {
|
|
48
|
+
__classPrivateFieldSet(this, _ValuesContainer_valuesContainer, {}, "f");
|
|
49
|
+
}
|
|
50
|
+
size() {
|
|
51
|
+
return this.keys().length;
|
|
52
|
+
}
|
|
53
|
+
_handleError(error) {
|
|
54
|
+
if (__classPrivateFieldGet(this, _ValuesContainer_settings, "f").silentMode)
|
|
55
|
+
return;
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
60
59
|
_ValuesContainer_valuesContainer = new WeakMap(), _ValuesContainer_settings = new WeakMap();
|
|
61
60
|
|
|
62
61
|
export { ValuesContainer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA
|
|
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;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __classPrivateFieldSet } from '../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
|
|
3
|
+
var _AppError_message, _AppError_options;
|
|
4
|
+
class AppError extends Error {
|
|
5
|
+
constructor(message, options = {}) {
|
|
6
|
+
super(message);
|
|
7
|
+
_AppError_message.set(this, void 0);
|
|
8
|
+
_AppError_options.set(this, void 0);
|
|
9
|
+
__classPrivateFieldSet(this, _AppError_message, message, "f");
|
|
10
|
+
__classPrivateFieldSet(this, _AppError_options, options, "f");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
_AppError_message = new WeakMap(), _AppError_options = new WeakMap();
|
|
14
|
+
|
|
15
|
+
export { AppError };
|
|
16
|
+
//# sourceMappingURL=app_error.js.map
|
package/build/esm/packages/star_core/build/esm/packages/star_core/src/core/errors/app_error.js.map
ADDED
|
@@ -0,0 +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;"}
|