@shoper/phoenix_design_system 1.1.0-8 → 1.1.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 +7 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +6 -4
- package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js +1 -1
- package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +20 -5
- package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js +0 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js +1 -0
- package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/select_close_btn.js +37 -0
- package/build/cjs/packages/phoenix/src/components/form/select/components/select_close_btn.js.map +1 -0
- package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js +2 -0
- package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +23 -8
- package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +3 -1
- package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +2 -1
- package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +2 -0
- package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +2 -1
- package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/select.js +88 -31
- package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js +6 -1
- package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
- package/build/cjs/packages/phoenix/src/directives/observable_directive.js +1 -1
- package/build/cjs/packages/phoenix/src/directives/observable_directive.js.map +1 -1
- package/build/cjs/packages/phoenix/src/index.js +7 -7
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +1 -0
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +7 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +1 -1
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +6 -4
- package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js +1 -1
- package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +4 -2
- package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +20 -5
- package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js +0 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js +1 -0
- package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.d.ts +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js +34 -28
- package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js +2 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.d.ts +3 -0
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +23 -8
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.d.ts +2 -0
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +3 -1
- package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +2 -1
- package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +2 -0
- package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +2 -1
- package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +8 -0
- package/build/esm/packages/phoenix/src/components/form/select/select.js +89 -32
- package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
- package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +4 -0
- package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +6 -2
- package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
- package/build/esm/packages/phoenix/src/directives/observable_directive.js +1 -1
- package/build/esm/packages/phoenix/src/directives/observable_directive.js.map +1 -1
- package/build/esm/packages/phoenix/src/index.js +1 -1
- package/package.json +1 -1
|
@@ -28,6 +28,7 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
28
28
|
this.toggleOnHover = false;
|
|
29
29
|
this.name = '';
|
|
30
30
|
this.transition = 'direction';
|
|
31
|
+
this.offset = 0;
|
|
31
32
|
this.portalTarget = dropdown_constants.DEFAULT_DROPDOWN_PORTAL_NAME;
|
|
32
33
|
this._backdropController = new backdrop_controller.BackdropController();
|
|
33
34
|
this._lastFocusableElement = undefined;
|
|
@@ -242,7 +243,8 @@ exports.HDropdown = HDropdown_1 = class HDropdown extends phoenix_light_lit_elem
|
|
|
242
243
|
relativeElement: this.$dropdownToggler,
|
|
243
244
|
elementToPosition: this.$dropdownContent,
|
|
244
245
|
disablePositioningOnCondition: () => window.innerWidth < global_constants.BREAKPOINTS.xs || !this.opened,
|
|
245
|
-
portalElementsNames: [dropdown_constants.DROPDOWN_CONTENT_NAME]
|
|
246
|
+
portalElementsNames: [dropdown_constants.DROPDOWN_CONTENT_NAME],
|
|
247
|
+
offset: this.offset
|
|
246
248
|
});
|
|
247
249
|
if (!this._clickOutsideController)
|
|
248
250
|
this._clickOutsideController = new click_outside_controller.ClickOutsideController({
|
|
@@ -365,6 +367,10 @@ tslib_es6.__decorate([
|
|
|
365
367
|
decorators_js.property({ type: String }),
|
|
366
368
|
tslib_es6.__metadata("design:type", Object)
|
|
367
369
|
], exports.HDropdown.prototype, "transition", void 0);
|
|
370
|
+
tslib_es6.__decorate([
|
|
371
|
+
decorators_js.property({ type: Number }),
|
|
372
|
+
tslib_es6.__metadata("design:type", Object)
|
|
373
|
+
], exports.HDropdown.prototype, "offset", void 0);
|
|
368
374
|
tslib_es6.__decorate([
|
|
369
375
|
decorators_js.property({ type: String }),
|
|
370
376
|
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,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;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,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -11,11 +11,14 @@ var dropdown_constants = require('./dropdown_constants.js');
|
|
|
11
11
|
|
|
12
12
|
exports.HDropdownContent = class HDropdownContent extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
13
13
|
constructor() {
|
|
14
|
-
super();
|
|
14
|
+
super(...arguments);
|
|
15
15
|
this.name = '';
|
|
16
|
+
}
|
|
17
|
+
connectedCallback() {
|
|
18
|
+
super.connectedCallback();
|
|
19
|
+
this.classList.add(dropdown_constants.DROPDOWN_CONTENT_CSS_CLASS);
|
|
16
20
|
this.setAttribute('role', 'menu');
|
|
17
21
|
this.slot = this.hasAttribute('slot') ? this.slot : 'content';
|
|
18
|
-
this.classList.add(dropdown_constants.DROPDOWN_CONTENT_CSS_CLASS);
|
|
19
22
|
Array.from(this.children).forEach((element) => {
|
|
20
23
|
element.setAttribute('role', 'menuitem');
|
|
21
24
|
});
|
|
@@ -30,7 +33,6 @@ tslib_es6.__decorate([
|
|
|
30
33
|
tslib_es6.__metadata("design:type", Object)
|
|
31
34
|
], exports.HDropdownContent.prototype, "name", void 0);
|
|
32
35
|
exports.HDropdownContent = tslib_es6.__decorate([
|
|
33
|
-
phoenix_custom_element.phoenixCustomElement('h-dropdown-content')
|
|
34
|
-
tslib_es6.__metadata("design:paramtypes", [])
|
|
36
|
+
phoenix_custom_element.phoenixCustomElement('h-dropdown-content')
|
|
35
37
|
], exports.HDropdownContent);
|
|
36
38
|
//# sourceMappingURL=dropdown_content.js.map
|
|
@@ -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;"}
|
|
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;"}
|
|
@@ -6,9 +6,9 @@ var tslib_es6 = require('../../../../../../external/tslib/tslib.es6.js');
|
|
|
6
6
|
var phoenix_light_lit_element = require('../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
7
7
|
var phoenix_custom_element = require('../../../core/decorators/phoenix_custom_element.js');
|
|
8
8
|
var decorators_js = require('@lit/reactive-element/decorators.js');
|
|
9
|
+
var index = require('../../../../../../external/classnames/index.js');
|
|
9
10
|
var litHtml = require('lit-html');
|
|
10
11
|
var ref_js = require('lit-html/directives/ref.js');
|
|
11
|
-
var index = require('../../../../../../external/classnames/index.js');
|
|
12
12
|
var control_props_sync_consumer_controller = require('../controllers/props_synchronizing/control_props_sync_consumer_controller.js');
|
|
13
13
|
var ifDefined_js = require('lit-html/directives/if-defined.js');
|
|
14
14
|
var checkbox_constants = require('./checkbox_constants.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA,oBAAoB,gDAAoD;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;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tslib_es6 = require('../../../../../../../../external/tslib/tslib.es6.js');
|
|
6
|
-
var lit = require('lit');
|
|
7
6
|
var phoenix_light_lit_element = require('../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
8
7
|
var phoenix_custom_element = require('../../../../../core/decorators/phoenix_custom_element.js');
|
|
9
8
|
var decorators_js = require('@lit/reactive-element/decorators.js');
|
|
10
9
|
var select_components_constatns = require('../select_components_constatns.js');
|
|
11
10
|
var btn_controller = require('../../../../../controllers/btn_controller/btn_controller.js');
|
|
12
11
|
var select_option_constants = require('./select_option_constants.js');
|
|
13
|
-
var litHtml = require('lit-html');
|
|
14
12
|
|
|
15
13
|
exports.HOption = class HOption extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
16
14
|
constructor() {
|
|
@@ -28,7 +26,10 @@ exports.HOption = class HOption extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
28
26
|
}
|
|
29
27
|
connectedCallback() {
|
|
30
28
|
super.connectedCallback();
|
|
31
|
-
|
|
29
|
+
if (!this._btnController)
|
|
30
|
+
this._btnController = new btn_controller.BtnController(this, this._dispatchClickedEvent, {
|
|
31
|
+
isNavigable: false
|
|
32
|
+
});
|
|
32
33
|
this.classList.add(select_option_constants.SELECT_OPTION_CSS_CLASSES.selectOption);
|
|
33
34
|
this.setAttribute('role', 'option');
|
|
34
35
|
this._setupEvents();
|
|
@@ -36,8 +37,22 @@ exports.HOption = class HOption extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
36
37
|
_setupEvents() {
|
|
37
38
|
this.addEventListener('click', this._dispatchClickedEvent);
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
attributeChangedCallback(name, _old, value) {
|
|
41
|
+
super.attributeChangedCallback(name, _old, value);
|
|
42
|
+
switch (name) {
|
|
43
|
+
case 'selected':
|
|
44
|
+
this.selected ? this._addSelectedIcon() : this._removeSelectedIcon();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_addSelectedIcon() {
|
|
48
|
+
this._$checkedIcon = document.createElement('h-icon');
|
|
49
|
+
this._$checkedIcon.setAttribute('icon-name', 'icon-check');
|
|
50
|
+
this.append(this._$checkedIcon);
|
|
51
|
+
}
|
|
52
|
+
_removeSelectedIcon() {
|
|
53
|
+
var _a;
|
|
54
|
+
(_a = this._$checkedIcon) === null || _a === void 0 ? void 0 : _a.remove();
|
|
55
|
+
this._$checkedIcon = undefined;
|
|
41
56
|
}
|
|
42
57
|
};
|
|
43
58
|
tslib_es6.__decorate([
|
package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -11,7 +11,6 @@ var select_option_constants = require('./select_option_constants.js');
|
|
|
11
11
|
exports.HOptionContent = class HOptionContent extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
12
12
|
connectedCallback() {
|
|
13
13
|
super.connectedCallback();
|
|
14
|
-
this.setAttribute('slot', 'content');
|
|
15
14
|
this.classList.add(select_option_constants.SELECT_OPTION_CSS_CLASSES.selectOptionContent);
|
|
16
15
|
}
|
|
17
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;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,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA,uBAAuB,qDAAyD;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tslib_es6 = require('../../../../../../../external/tslib/tslib.es6.js');
|
|
6
|
+
var phoenix_light_lit_element = require('../../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
|
|
7
|
+
var phoenix_custom_element = require('../../../../core/decorators/phoenix_custom_element.js');
|
|
8
|
+
var select_components_constatns = require('./select_components_constatns.js');
|
|
9
|
+
var btn_controller = require('../../../../controllers/btn_controller/btn_controller.js');
|
|
10
|
+
var litHtml = require('lit-html');
|
|
11
|
+
|
|
12
|
+
exports.HSelectCloseBtn = class HSelectCloseBtn extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this._dispatchCloseEvent = () => {
|
|
16
|
+
this.dispatchEvent(new CustomEvent(select_components_constatns.SELECT_CLOSE_BTN_EVENT_NAMES.close, {
|
|
17
|
+
bubbles: true
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
connectedCallback() {
|
|
22
|
+
super.connectedCallback();
|
|
23
|
+
this.setAttribute('aria-label', 'close select');
|
|
24
|
+
if (!this._btnController)
|
|
25
|
+
this._btnController = new btn_controller.BtnController(this, this._dispatchCloseEvent);
|
|
26
|
+
this.addEventListener('click', this._dispatchCloseEvent);
|
|
27
|
+
}
|
|
28
|
+
render() {
|
|
29
|
+
return litHtml.html `${this.hasSlot(select_components_constatns.SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME)
|
|
30
|
+
? this.getSlot(select_components_constatns.SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME)
|
|
31
|
+
: litHtml.html `<icon iconName="icon-x"></icon>`} `;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.HSelectCloseBtn = tslib_es6.__decorate([
|
|
35
|
+
phoenix_custom_element.phoenixCustomElement(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.closeBtn)
|
|
36
|
+
], exports.HSelectCloseBtn);
|
|
37
|
+
//# sourceMappingURL=select_close_btn.js.map
|
package/build/cjs/packages/phoenix/src/components/form/select/components/select_close_btn.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,kDAAsD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -22,9 +22,11 @@ const SELECT_RELATED_COMPONENTS_NAMES = {
|
|
|
22
22
|
closeBtn: 'h-select-close-btn',
|
|
23
23
|
search: 'h-select-search'
|
|
24
24
|
};
|
|
25
|
+
const SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME = 'content';
|
|
25
26
|
const SELECT_INPUT_PLACEHOLDER_SLOT_NAME = 'placeholder';
|
|
26
27
|
|
|
27
28
|
exports.SELECT_CLOSE_BTN_EVENT_NAMES = SELECT_CLOSE_BTN_EVENT_NAMES;
|
|
29
|
+
exports.SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME = SELECT_CLOSE_BUTTON_CONTENT_SLOT_NAME;
|
|
28
30
|
exports.SELECT_INPUT_PLACEHOLDER_SLOT_NAME = SELECT_INPUT_PLACEHOLDER_SLOT_NAME;
|
|
29
31
|
exports.SELECT_OPTIONS_EVENT_NAMES = SELECT_OPTIONS_EVENT_NAMES;
|
|
30
32
|
exports.SELECT_OPTION_EVENT_NAMES = SELECT_OPTION_EVENT_NAMES;
|
|
@@ -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;"}
|
|
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;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js
CHANGED
|
@@ -10,6 +10,7 @@ var select_components_constatns = require('../select_components_constatns.js');
|
|
|
10
10
|
var litHtml = require('lit-html');
|
|
11
11
|
var context_consumer_controller = require('../../../../../core/context/context_consumer_controller.js');
|
|
12
12
|
var select_constants = require('../../select_constants.js');
|
|
13
|
+
var observer = require('../../../../../core/classes/observer/observer.js');
|
|
13
14
|
var observable_directive = require('../../../../../directives/observable_directive.js');
|
|
14
15
|
var select_toggler_constants = require('./select_toggler_constants.js');
|
|
15
16
|
|
|
@@ -17,6 +18,11 @@ exports.HSelectToggler = class HSelectToggler extends phoenix_light_lit_element.
|
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
19
20
|
this._contextConsumer = new context_consumer_controller.ContextConsumerController(this);
|
|
21
|
+
this._handleSelectedOptionChanged = (selectedOptions) => {
|
|
22
|
+
selectedOptions.length
|
|
23
|
+
? this.classList.add(select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerSelected)
|
|
24
|
+
: this.classList.remove(select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerSelected);
|
|
25
|
+
};
|
|
20
26
|
this._dispatchOptionDeselect = (option) => {
|
|
21
27
|
this.dispatchEvent(new CustomEvent(select_constants.SELECT_EVENT_NAMES.deselectOption, {
|
|
22
28
|
detail: option.value,
|
|
@@ -34,27 +40,36 @@ exports.HSelectToggler = class HSelectToggler extends phoenix_light_lit_element.
|
|
|
34
40
|
async _subscribeObserver() {
|
|
35
41
|
this.isMultiselect = (await this._contextConsumer.consumeAsync(select_constants.SELECT_CONTEXTS.isMultiselect));
|
|
36
42
|
this.selectedOptions$ = (await this._contextConsumer.consumeAsync(select_constants.SELECT_CONTEXTS.selectedOptions$));
|
|
43
|
+
this._selectedOptionsObserver = new observer.Observer(this._handleSelectedOptionChanged);
|
|
44
|
+
this.selectedOptions$.subscribe(this._selectedOptionsObserver);
|
|
45
|
+
}
|
|
46
|
+
disconnectedCallback() {
|
|
47
|
+
var _a;
|
|
48
|
+
super.disconnectedCallback();
|
|
49
|
+
(_a = this.selectedOptions$) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._selectedOptionsObserver);
|
|
37
50
|
}
|
|
38
51
|
render() {
|
|
39
52
|
if (!this.selectedOptions$)
|
|
40
53
|
return;
|
|
41
54
|
return litHtml.html `
|
|
42
|
-
|
|
43
|
-
${observable_directive.observe(this.selectedOptions$, (selectOptions) => {
|
|
55
|
+
${observable_directive.observe(this.selectedOptions$, (selectOptions) => {
|
|
44
56
|
var _a;
|
|
45
57
|
if (!selectOptions.length)
|
|
46
|
-
return litHtml.html
|
|
47
|
-
|
|
48
|
-
|
|
58
|
+
return litHtml.html `<span class=${select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerPlaceholder}
|
|
59
|
+
>${(_a = this.getSlot(select_components_constatns.SELECT_INPUT_PLACEHOLDER_SLOT_NAME)) !== null && _a !== void 0 ? _a : 'Select'}</span
|
|
60
|
+
>`;
|
|
61
|
+
return litHtml.html `<ul class=${select_toggler_constants.SELECT_TOGGLER_CSS_CLASSES.selectTogglerValues}>
|
|
62
|
+
${this.isMultiselect
|
|
63
|
+
? selectOptions.map((option) => litHtml.html `<li>
|
|
49
64
|
<h-tag @tag.remove=${() => this._dispatchOptionDeselect(option)}>
|
|
50
65
|
${option.content}
|
|
51
66
|
|
|
52
67
|
<h-tag-remove-button></h-tag-remove-button>
|
|
53
68
|
</h-tag>
|
|
54
|
-
</li>`)
|
|
55
|
-
: litHtml.html `<li>${selectOptions[0].content}</li
|
|
69
|
+
</li>`)
|
|
70
|
+
: litHtml.html `<li>${selectOptions[0].content}</li>`}
|
|
71
|
+
</ul>`;
|
|
56
72
|
})}
|
|
57
|
-
</ul>
|
|
58
73
|
|
|
59
74
|
<h-icon icon-name="icon-chevron-down"></h-icon>
|
|
60
75
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const baseClass = 'select-toggler';
|
|
6
6
|
const SELECT_TOGGLER_CSS_CLASSES = {
|
|
7
7
|
selectToggler: baseClass,
|
|
8
|
-
|
|
8
|
+
selectTogglerSelected: `${baseClass}_selected`,
|
|
9
|
+
selectTogglerValues: `${baseClass}__values`,
|
|
10
|
+
selectTogglerPlaceholder: `${baseClass}__placeholder`
|
|
9
11
|
};
|
|
10
12
|
|
|
11
13
|
exports.SELECT_TOGGLER_CSS_CLASSES = SELECT_TOGGLER_CSS_CLASSES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js
CHANGED
|
@@ -20,7 +20,6 @@ class BaseSelectController {
|
|
|
20
20
|
}, { visibleCount: 0, selectedCount: 0 });
|
|
21
21
|
this.visibleOptionsCount = visibleCount;
|
|
22
22
|
this.selectedOptionsCount = selectedCount;
|
|
23
|
-
this.selectedOptions$.notify(selectOptions.filter((option) => option.selected));
|
|
24
23
|
};
|
|
25
24
|
this.host = host;
|
|
26
25
|
this.host.addController(this);
|
|
@@ -55,11 +54,13 @@ class BaseSelectController {
|
|
|
55
54
|
deselectOptions() {
|
|
56
55
|
var _a;
|
|
57
56
|
(_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.forEach((option) => (option.selected = false));
|
|
57
|
+
this.selectedOptions$.notify([]);
|
|
58
58
|
this.requestOptionsUpdate();
|
|
59
59
|
}
|
|
60
60
|
deselectOption(option) {
|
|
61
61
|
var _a;
|
|
62
62
|
(_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.forEach((option) => (option.selected = false));
|
|
63
|
+
this.selectedOptions$.notify([]);
|
|
63
64
|
this.requestOptionsUpdate();
|
|
64
65
|
}
|
|
65
66
|
filterOptions(value) {
|
|
@@ -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;"}
|
|
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;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js
CHANGED
|
@@ -10,10 +10,12 @@ class MultiSelectController extends base_select_controller.BaseSelectController
|
|
|
10
10
|
}
|
|
11
11
|
selectOption(option) {
|
|
12
12
|
option.selected = true;
|
|
13
|
+
this.selectedOptions$.notify((selectedOptions) => [...selectedOptions, option]);
|
|
13
14
|
this.requestOptionsUpdate();
|
|
14
15
|
}
|
|
15
16
|
deselectOption(option) {
|
|
16
17
|
option.selected = false;
|
|
18
|
+
this.selectedOptions$.notify((selectedOptions) => selectedOptions.filter((currOption) => currOption.value !== option.value));
|
|
17
19
|
this.requestOptionsUpdate();
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -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;"}
|
|
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;"}
|
package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map
CHANGED
|
@@ -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;"}
|
|
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;"}
|
|
@@ -9,24 +9,27 @@ var phoenix_light_lit_element = require('../../../core/phoenix_light_lit_element
|
|
|
9
9
|
var phoenix_custom_element = require('../../../core/decorators/phoenix_custom_element.js');
|
|
10
10
|
var decorators_js = require('@lit/reactive-element/decorators.js');
|
|
11
11
|
var select_components_constatns = require('./components/select_components_constatns.js');
|
|
12
|
+
var icon = require('../../icon/icon.js');
|
|
12
13
|
var select_constants = require('./select_constants.js');
|
|
13
14
|
var observer = require('../../../core/classes/observer/observer.js');
|
|
14
15
|
var observable_directive = require('../../../directives/observable_directive.js');
|
|
15
16
|
var context_provider_controller = require('../../../core/context/context_provider_controller.js');
|
|
16
17
|
var ref_js = require('lit-html/directives/ref.js');
|
|
18
|
+
var debounce = require('../../../../../../external/lodash/debounce.js');
|
|
17
19
|
var multi_select_controller = require('./controllers/multi_select_controller.js');
|
|
18
20
|
var select_controller = require('./controllers/select_controller.js');
|
|
19
21
|
var select_search = require('./components/search/select_search.js');
|
|
20
22
|
var list_box_keyboard_controller = require('../../../controllers/list_box_controller/list_box_keyboard_controller.js');
|
|
21
|
-
var icon = require('../../icon/icon.js');
|
|
22
23
|
var select_option_mapper = require('./model/select_option_mapper.js');
|
|
23
24
|
var select_utils = require('./select_utils.js');
|
|
25
|
+
var select_close_btn = require('./components/select_close_btn.js');
|
|
24
26
|
|
|
25
27
|
exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLitElement {
|
|
26
28
|
constructor() {
|
|
27
29
|
super();
|
|
28
30
|
this.multiselect = false;
|
|
29
31
|
this.opened = false;
|
|
32
|
+
this.offset = 2;
|
|
30
33
|
this._searchValue = '';
|
|
31
34
|
this._$options = {};
|
|
32
35
|
this._$dropdown = ref_js.createRef();
|
|
@@ -34,6 +37,10 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
34
37
|
this._$optionsList = ref_js.createRef();
|
|
35
38
|
this._$dropdownContent = ref_js.createRef();
|
|
36
39
|
this._selectContext = new context_provider_controller.ContextProviderController(this);
|
|
40
|
+
this._setDropdownContentWidth = () => {
|
|
41
|
+
if (this._$dropdownContent.value)
|
|
42
|
+
this._$dropdownContent.value.style.width = `${this.getBoundingClientRect().width}px`;
|
|
43
|
+
};
|
|
37
44
|
this._handleOptionDeselect = (event) => {
|
|
38
45
|
const selectedOption = this._selectController.getSelectOption(event.detail);
|
|
39
46
|
if (!selectedOption)
|
|
@@ -66,6 +73,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
66
73
|
};
|
|
67
74
|
this._closeSelect = () => {
|
|
68
75
|
var _a;
|
|
76
|
+
if (!this.opened)
|
|
77
|
+
return;
|
|
69
78
|
(_a = this._$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
|
|
70
79
|
this._searchValue = '';
|
|
71
80
|
this.opened = false;
|
|
@@ -73,19 +82,35 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
73
82
|
this._clearOptions = () => {
|
|
74
83
|
this._selectController.deselectOptions();
|
|
75
84
|
};
|
|
85
|
+
this._handleResize = debounce['default'](() => {
|
|
86
|
+
this._closeSelect();
|
|
87
|
+
this._setDropdownContentWidth();
|
|
88
|
+
}, select_constants.SELECT_RESIZE_DEBOUNCE_TIME);
|
|
76
89
|
const $options = Array.from(this.querySelectorAll(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option));
|
|
77
90
|
$options.forEach(($option) => $option.setAttribute('slot', select_constants.SELECT_SLOT_NAMES.content));
|
|
78
91
|
}
|
|
79
92
|
updated(changedProperties) {
|
|
80
93
|
super.updated(changedProperties);
|
|
81
|
-
if (changedProperties.has('opened'))
|
|
82
|
-
this.opened
|
|
94
|
+
if (changedProperties.has('opened')) {
|
|
95
|
+
if (this.opened) {
|
|
96
|
+
this.classList.add(select_constants.SELECT_CSS_CLASSES.selectOpened);
|
|
97
|
+
this._focusElementAfterSelectOpened();
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.classList.remove(select_constants.SELECT_CSS_CLASSES.selectOpened);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
83
103
|
if (this._$optionsList.value && !this._listBoxController)
|
|
84
104
|
this._listBoxController = new list_box_keyboard_controller.ListBoxKeyboardController({
|
|
85
105
|
host: this,
|
|
86
106
|
$list: this._$optionsList.value
|
|
87
107
|
});
|
|
88
108
|
}
|
|
109
|
+
_focusElementAfterSelectOpened() {
|
|
110
|
+
var _a, _b;
|
|
111
|
+
const $searchInput = (_a = this._$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
|
|
112
|
+
$searchInput ? $searchInput.focus() : (_b = this._$optionsList.value) === null || _b === void 0 ? void 0 : _b.focus();
|
|
113
|
+
}
|
|
89
114
|
connectedCallback() {
|
|
90
115
|
super.connectedCallback();
|
|
91
116
|
this.classList.add(select_constants.SELECT_CSS_CLASSES.select);
|
|
@@ -93,7 +118,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
93
118
|
this._selectContext.provide(select_constants.SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);
|
|
94
119
|
this._selectContext.provide(select_constants.SELECT_CONTEXTS.isMultiselect, this.multiselect);
|
|
95
120
|
const $options = Array.from(this.querySelectorAll(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option));
|
|
96
|
-
this.
|
|
121
|
+
this._optionsObserver = new observer.Observer((selectedOptions) => this._updateOptionsView(selectedOptions));
|
|
122
|
+
this._selectController.options$.subscribe(this._optionsObserver);
|
|
97
123
|
this._$options = $options.reduce((acc, $option) => {
|
|
98
124
|
if (acc[$option.value] !== undefined)
|
|
99
125
|
throw Error('Select options must hava a unique values.');
|
|
@@ -102,17 +128,27 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
102
128
|
[$option.value]: $option
|
|
103
129
|
};
|
|
104
130
|
}, {});
|
|
105
|
-
|
|
131
|
+
const options = $options.map(select_option_mapper.SelectOptionMapper.toModel);
|
|
132
|
+
this._selectController.options$.notify(options);
|
|
133
|
+
if (options.length)
|
|
134
|
+
this._selectController.selectedOptions$.notify(options.filter((option) => option.selected));
|
|
106
135
|
this._setupEvents();
|
|
107
136
|
}
|
|
137
|
+
attributeChangedCallback(name, _old, value) {
|
|
138
|
+
super.attributeChangedCallback(name, _old, value);
|
|
139
|
+
switch (name) {
|
|
140
|
+
case 'error':
|
|
141
|
+
this.error ? this.classList.add(select_constants.SELECT_CSS_CLASSES.selectError) : this.classList.remove(select_constants.SELECT_CSS_CLASSES.selectError);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
108
144
|
firstUpdated(props) {
|
|
109
145
|
super.firstUpdated(props);
|
|
110
|
-
|
|
111
|
-
this._$dropdownContent.value.style.width = `${this.getBoundingClientRect().width}px`;
|
|
146
|
+
this._setDropdownContentWidth();
|
|
112
147
|
}
|
|
113
148
|
_setupEvents() {
|
|
114
149
|
this.addEventListener(select_constants.SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);
|
|
115
150
|
this.addEventListener(select_components_constatns.SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);
|
|
151
|
+
window.addEventListener('resize', this._handleResize);
|
|
116
152
|
}
|
|
117
153
|
_appendNewHTMLOption(option, position) {
|
|
118
154
|
const $list = this._$optionsList.value;
|
|
@@ -145,6 +181,11 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
145
181
|
replaceOptions(options) {
|
|
146
182
|
this._selectController.replaceOptions(options);
|
|
147
183
|
}
|
|
184
|
+
disconnectedCallback() {
|
|
185
|
+
super.disconnectedCallback();
|
|
186
|
+
this._selectController.options$.unsubscribe(this._optionsObserver);
|
|
187
|
+
window.removeEventListener('resize', this._handleResize);
|
|
188
|
+
}
|
|
148
189
|
render() {
|
|
149
190
|
var _a;
|
|
150
191
|
const options = (_a = this._selectController.options$.getValue()) !== null && _a !== void 0 ? _a : [];
|
|
@@ -154,41 +195,48 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
154
195
|
@dropdown.showed=${() => (this.opened = true)}
|
|
155
196
|
@dropdown.hidden=${this._closeSelect}
|
|
156
197
|
name=${this.controlName}
|
|
198
|
+
offset=${this.offset}
|
|
157
199
|
>
|
|
158
|
-
<h-dropdown-toggler name=${this.controlName}
|
|
159
|
-
${this.getSlot(select_constants.SELECT_SLOT_NAMES.input)}
|
|
160
|
-
</h-dropdown-toggler>
|
|
200
|
+
<h-dropdown-toggler name=${this.controlName}> ${this.getSlot(select_constants.SELECT_SLOT_NAMES.input)} </h-dropdown-toggler>
|
|
161
201
|
|
|
162
202
|
<h-dropdown-content class=${select_constants.SELECT_CSS_CLASSES.selectContent} ${ref_js.ref(this._$dropdownContent)} name=${this.controlName}>
|
|
163
|
-
<h-select-close-btn @
|
|
203
|
+
<h-select-close-btn @selectCloseBtn.close=${this._closeSelect}></h-select-close-btn>
|
|
164
204
|
|
|
165
205
|
${options.length > select_constants.MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH
|
|
166
206
|
? lit.html `<h-select-search
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
207
|
+
class=${select_constants.SELECT_CSS_CLASSES.selectSearch}
|
|
208
|
+
${ref_js.ref(this._$search)}
|
|
209
|
+
.value=${this._searchValue}
|
|
210
|
+
@selectSearch.search=${this._handleSearch}
|
|
211
|
+
></h-select-search>`
|
|
172
212
|
: lit.nothing}
|
|
173
213
|
${this.hasSlot(select_constants.SELECT_SLOT_NAMES.content)
|
|
174
214
|
? lit.html `
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
215
|
+
<h-options
|
|
216
|
+
class=${select_constants.SELECT_CSS_CLASSES.selectOptions}
|
|
217
|
+
${ref_js.ref(this._$optionsList)}
|
|
218
|
+
@selectOptions.clicked=${this._handleOptionClicked}
|
|
219
|
+
>
|
|
220
|
+
${this.getSlot(select_constants.SELECT_SLOT_NAMES.content)}
|
|
221
|
+
</h-options>
|
|
222
|
+
`
|
|
223
|
+
: lit.nothing}
|
|
224
|
+
${!this._selectController.visibleOptionsCount
|
|
225
|
+
? lit.html `<div>
|
|
226
|
+
<p class=${select_constants.SELECT_CSS_CLASSES.selectNoResult}>
|
|
227
|
+
Brak wyników dla: <em class=${select_constants.SELECT_CSS_CLASSES.selectSearchedPhrase}>"${this._searchValue}"</em>
|
|
228
|
+
</p>
|
|
229
|
+
</div>`
|
|
183
230
|
: lit.nothing}
|
|
184
|
-
${!this._selectController.visibleOptionsCount ? lit.html `<p>brak wyników dla ${this._searchValue}</p>` : lit.nothing}
|
|
185
231
|
${this.multiselect && this._selectController.selectedOptionsCount >= 1
|
|
186
232
|
? lit.html `
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
233
|
+
<section class=${select_constants.SELECT_CSS_CLASSES.selectFooter}>
|
|
234
|
+
<button class="btn btn_secondary btn_xs" @click=${this._clearOptions}>clear</button>
|
|
235
|
+
<h-select-close-btn class="btn btn_primary btn_xs" @selectCloseBtn.close=${this._closeSelect}
|
|
236
|
+
>ok</h-select-close-btn
|
|
237
|
+
>
|
|
238
|
+
</section>
|
|
239
|
+
`
|
|
192
240
|
: lit.nothing}
|
|
193
241
|
</h-dropdown-content>
|
|
194
242
|
</h-dropdown>
|
|
@@ -199,7 +247,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
|
|
|
199
247
|
};
|
|
200
248
|
exports.HSelect._components = {
|
|
201
249
|
search: select_search.HSelectSearch,
|
|
202
|
-
icon: icon.HIcon
|
|
250
|
+
icon: icon.HIcon,
|
|
251
|
+
closeBtn: select_close_btn.HSelectCloseBtn
|
|
203
252
|
};
|
|
204
253
|
tslib_es6.__decorate([
|
|
205
254
|
decorators_js.property({ type: String }),
|
|
@@ -213,6 +262,14 @@ tslib_es6.__decorate([
|
|
|
213
262
|
decorators_js.property({ type: Boolean }),
|
|
214
263
|
tslib_es6.__metadata("design:type", Boolean)
|
|
215
264
|
], exports.HSelect.prototype, "opened", void 0);
|
|
265
|
+
tslib_es6.__decorate([
|
|
266
|
+
decorators_js.property({ type: Number }),
|
|
267
|
+
tslib_es6.__metadata("design:type", Number)
|
|
268
|
+
], exports.HSelect.prototype, "offset", void 0);
|
|
269
|
+
tslib_es6.__decorate([
|
|
270
|
+
decorators_js.property({ type: Boolean }),
|
|
271
|
+
tslib_es6.__metadata("design:type", Boolean)
|
|
272
|
+
], exports.HSelect.prototype, "error", void 0);
|
|
216
273
|
tslib_es6.__decorate([
|
|
217
274
|
decorators.state(),
|
|
218
275
|
tslib_es6.__metadata("design:type", String)
|