@shoper/phoenix_design_system 1.1.0-9 → 1.1.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.
Files changed (110) hide show
  1. package/build/cjs/{external → packages/phoenix/external}/classnames/index.js +16 -10
  2. package/build/{esm → cjs/packages/phoenix}/external/classnames/index.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +7 -1
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +6 -4
  6. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox.js +1 -1
  8. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js +1 -1
  10. package/build/cjs/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
  11. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +1 -1
  12. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  13. package/build/cjs/packages/phoenix/src/components/form/input/input.js +1 -1
  14. package/build/cjs/packages/phoenix/src/components/form/input/input.js.map +1 -1
  15. package/build/cjs/packages/phoenix/src/components/form/radio/radio.js +1 -1
  16. package/build/cjs/packages/phoenix/src/components/form/radio/radio.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +20 -5
  18. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js +0 -1
  20. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -1
  21. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js +1 -0
  22. package/build/cjs/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
  23. package/build/cjs/packages/phoenix/src/components/form/select/components/select_close_btn.js +37 -0
  24. package/build/cjs/packages/phoenix/src/components/form/select/components/select_close_btn.js.map +1 -0
  25. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js +2 -0
  26. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -1
  27. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +23 -8
  28. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -1
  29. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +3 -1
  30. package/build/cjs/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -1
  31. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +2 -1
  32. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
  33. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +2 -0
  34. package/build/cjs/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -1
  35. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +2 -1
  36. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  37. package/build/cjs/packages/phoenix/src/components/form/select/select.js +95 -31
  38. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  39. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js +7 -1
  40. package/build/cjs/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  41. package/build/cjs/packages/phoenix/src/components/form/switch/switch.js +1 -1
  42. package/build/cjs/packages/phoenix/src/components/form/switch/switch.js.map +1 -1
  43. package/build/cjs/packages/phoenix/src/components/form/textarea/textarea.js +1 -1
  44. package/build/cjs/packages/phoenix/src/components/form/textarea/textarea.js.map +1 -1
  45. package/build/cjs/packages/phoenix/src/components/icon/icon.js +1 -1
  46. package/build/cjs/packages/phoenix/src/components/icon/icon.js.map +1 -1
  47. package/build/cjs/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js +1 -1
  48. package/build/cjs/packages/phoenix/src/directives/observable_directive.js +1 -1
  49. package/build/cjs/packages/phoenix/src/directives/observable_directive.js.map +1 -1
  50. package/build/cjs/packages/phoenix/src/index.js +7 -7
  51. package/build/esm/{external → packages/phoenix/external}/classnames/index.js +16 -10
  52. package/build/{cjs → esm/packages/phoenix}/external/classnames/index.js.map +1 -1
  53. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +1 -0
  54. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +7 -1
  55. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  56. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +1 -1
  57. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +6 -4
  58. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  59. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox.js +1 -1
  60. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox.js.map +1 -1
  61. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js +1 -1
  62. package/build/esm/packages/phoenix/src/components/form/checkbox/checkbox_control.js.map +1 -1
  63. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +1 -1
  64. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  65. package/build/esm/packages/phoenix/src/components/form/input/input.js +1 -1
  66. package/build/esm/packages/phoenix/src/components/form/input/input.js.map +1 -1
  67. package/build/esm/packages/phoenix/src/components/form/radio/radio.js +1 -1
  68. package/build/esm/packages/phoenix/src/components/form/radio/radio.js.map +1 -1
  69. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +4 -2
  70. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +20 -5
  71. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  72. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js +0 -1
  73. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option_content.js.map +1 -1
  74. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js +1 -0
  75. package/build/esm/packages/phoenix/src/components/form/select/components/search/select_search.js.map +1 -1
  76. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.d.ts +1 -1
  77. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js +34 -28
  78. package/build/esm/packages/phoenix/src/components/form/select/components/select_close_btn.js.map +1 -1
  79. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js +2 -1
  80. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -1
  81. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.d.ts +3 -0
  82. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js +23 -8
  83. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler.js.map +1 -1
  84. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.d.ts +2 -0
  85. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js +3 -1
  86. package/build/esm/packages/phoenix/src/components/form/select/components/toggler/select_toggler_constants.js.map +1 -1
  87. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +2 -1
  88. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
  89. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js +2 -0
  90. package/build/esm/packages/phoenix/src/components/form/select/controllers/multi_select_controller.js.map +1 -1
  91. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +2 -1
  92. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  93. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +9 -0
  94. package/build/esm/packages/phoenix/src/components/form/select/select.js +96 -32
  95. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  96. package/build/esm/packages/phoenix/src/components/form/select/select_constants.d.ts +5 -0
  97. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js +7 -2
  98. package/build/esm/packages/phoenix/src/components/form/select/select_constants.js.map +1 -1
  99. package/build/esm/packages/phoenix/src/components/form/switch/switch.js +1 -1
  100. package/build/esm/packages/phoenix/src/components/form/switch/switch.js.map +1 -1
  101. package/build/esm/packages/phoenix/src/components/form/textarea/textarea.js +1 -1
  102. package/build/esm/packages/phoenix/src/components/form/textarea/textarea.js.map +1 -1
  103. package/build/esm/packages/phoenix/src/components/icon/icon.js +1 -1
  104. package/build/esm/packages/phoenix/src/components/icon/icon.js.map +1 -1
  105. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.d.ts +1 -1
  106. package/build/esm/packages/phoenix/src/controllers/relative_position_controller/relative_position_controller_constants.js +1 -1
  107. package/build/esm/packages/phoenix/src/directives/observable_directive.js +1 -1
  108. package/build/esm/packages/phoenix/src/directives/observable_directive.js.map +1 -1
  109. package/build/esm/packages/phoenix/src/index.js +1 -1
  110. package/package.json +2 -2
@@ -5,24 +5,27 @@ import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/
5
5
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
6
6
  import { property } from '@lit/reactive-element/decorators.js';
7
7
  import { SELECT_RELATED_COMPONENTS_NAMES, SELECT_CLOSE_BTN_EVENT_NAMES } from './components/select_components_constatns.js';
8
- import { SELECT_SLOT_NAMES, SELECT_CSS_CLASSES, SELECT_CONTEXTS, SELECT_EVENT_NAMES, MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH } from './select_constants.js';
8
+ import { HIcon } from '../../icon/icon.js';
9
+ import { SELECT_SLOT_NAMES, SELECT_CSS_CLASSES, SELECT_CONTEXTS, SELECT_EVENT_NAMES, MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_RESIZE_DEBOUNCE_TIME } from './select_constants.js';
9
10
  import { Observer } from '../../../core/classes/observer/observer.js';
10
11
  import { observe } from '../../../directives/observable_directive.js';
11
12
  import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
12
13
  import { createRef, ref } from 'lit-html/directives/ref.js';
14
+ import debounce_1 from '../../../../../../external/lodash/debounce.js';
13
15
  import { MultiSelectController } from './controllers/multi_select_controller.js';
14
16
  import { SelectController } from './controllers/select_controller.js';
15
17
  import { HSelectSearch } from './components/search/select_search.js';
16
18
  import { ListBoxKeyboardController } from '../../../controllers/list_box_controller/list_box_keyboard_controller.js';
17
- import { HIcon } from '../../icon/icon.js';
18
19
  import { SelectOptionMapper } from './model/select_option_mapper.js';
19
20
  import { SelectControlUtils } from './select_utils.js';
21
+ import { HSelectCloseBtn } from './components/select_close_btn.js';
20
22
 
21
23
  let HSelect = class HSelect extends PhoenixLightLitElement {
22
24
  constructor() {
23
25
  super();
24
26
  this.multiselect = false;
25
27
  this.opened = false;
28
+ this.offset = 2;
26
29
  this._searchValue = '';
27
30
  this._$options = {};
28
31
  this._$dropdown = createRef();
@@ -30,6 +33,10 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
30
33
  this._$optionsList = createRef();
31
34
  this._$dropdownContent = createRef();
32
35
  this._selectContext = new ContextProviderController(this);
36
+ this._setDropdownContentWidth = () => {
37
+ if (this._$dropdownContent.value)
38
+ this._$dropdownContent.value.style.width = `${this.getBoundingClientRect().width}px`;
39
+ };
33
40
  this._handleOptionDeselect = (event) => {
34
41
  const selectedOption = this._selectController.getSelectOption(event.detail);
35
42
  if (!selectedOption)
@@ -62,6 +69,8 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
62
69
  };
63
70
  this._closeSelect = () => {
64
71
  var _a;
72
+ if (!this.opened)
73
+ return;
65
74
  (_a = this._$dropdown.value) === null || _a === void 0 ? void 0 : _a.hide();
66
75
  this._searchValue = '';
67
76
  this.opened = false;
@@ -69,19 +78,35 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
69
78
  this._clearOptions = () => {
70
79
  this._selectController.deselectOptions();
71
80
  };
81
+ this._handleResize = debounce_1(() => {
82
+ this._closeSelect();
83
+ this._setDropdownContentWidth();
84
+ }, SELECT_RESIZE_DEBOUNCE_TIME);
72
85
  const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
73
86
  $options.forEach(($option) => $option.setAttribute('slot', SELECT_SLOT_NAMES.content));
74
87
  }
75
88
  updated(changedProperties) {
76
89
  super.updated(changedProperties);
77
- if (changedProperties.has('opened'))
78
- this.opened ? this.classList.add(SELECT_CSS_CLASSES.selectOpened) : this.classList.remove(SELECT_CSS_CLASSES.selectOpened);
90
+ if (changedProperties.has('opened')) {
91
+ if (this.opened) {
92
+ this.classList.add(SELECT_CSS_CLASSES.selectOpened);
93
+ this._focusElementAfterSelectOpened();
94
+ }
95
+ else {
96
+ this.classList.remove(SELECT_CSS_CLASSES.selectOpened);
97
+ }
98
+ }
79
99
  if (this._$optionsList.value && !this._listBoxController)
80
100
  this._listBoxController = new ListBoxKeyboardController({
81
101
  host: this,
82
102
  $list: this._$optionsList.value
83
103
  });
84
104
  }
105
+ _focusElementAfterSelectOpened() {
106
+ var _a, _b;
107
+ const $searchInput = (_a = this._$search.value) === null || _a === void 0 ? void 0 : _a.querySelector('[role="search"]');
108
+ $searchInput ? $searchInput.focus() : (_b = this._$optionsList.value) === null || _b === void 0 ? void 0 : _b.focus();
109
+ }
85
110
  connectedCallback() {
86
111
  super.connectedCallback();
87
112
  this.classList.add(SELECT_CSS_CLASSES.select);
@@ -89,7 +114,8 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
89
114
  this._selectContext.provide(SELECT_CONTEXTS.selectedOptions$, this._selectController.selectedOptions$);
90
115
  this._selectContext.provide(SELECT_CONTEXTS.isMultiselect, this.multiselect);
91
116
  const $options = Array.from(this.querySelectorAll(SELECT_RELATED_COMPONENTS_NAMES.option));
92
- this._selectController.options$.subscribe(new Observer((selectedOptions) => this._updateOptionsView(selectedOptions)));
117
+ this._optionsObserver = new Observer((selectedOptions) => this._updateOptionsView(selectedOptions));
118
+ this._selectController.options$.subscribe(this._optionsObserver);
93
119
  this._$options = $options.reduce((acc, $option) => {
94
120
  if (acc[$option.value] !== undefined)
95
121
  throw Error('Select options must hava a unique values.');
@@ -98,17 +124,30 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
98
124
  [$option.value]: $option
99
125
  };
100
126
  }, {});
101
- this._selectController.options$.notify($options.map(SelectOptionMapper.toModel));
127
+ const options = $options.map(SelectOptionMapper.toModel);
128
+ this._selectController.options$.notify(options);
129
+ if (options.length)
130
+ this._selectController.selectedOptions$.notify(options.filter((option) => option.selected));
102
131
  this._setupEvents();
103
132
  }
133
+ attributeChangedCallback(name, _old, value) {
134
+ super.attributeChangedCallback(name, _old, value);
135
+ switch (name) {
136
+ case 'error':
137
+ this.error ? this.classList.add(SELECT_CSS_CLASSES.selectError) : this.classList.remove(SELECT_CSS_CLASSES.selectError);
138
+ break;
139
+ case 'disabled':
140
+ this.disabled ? this.classList.add(SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(SELECT_CSS_CLASSES.selectDisabled);
141
+ }
142
+ }
104
143
  firstUpdated(props) {
105
144
  super.firstUpdated(props);
106
- if (this._$dropdownContent.value)
107
- this._$dropdownContent.value.style.width = `${this.getBoundingClientRect().width}px`;
145
+ this._setDropdownContentWidth();
108
146
  }
109
147
  _setupEvents() {
110
148
  this.addEventListener(SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);
111
149
  this.addEventListener(SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);
150
+ window.addEventListener('resize', this._handleResize);
112
151
  }
113
152
  _appendNewHTMLOption(option, position) {
114
153
  const $list = this._$optionsList.value;
@@ -141,6 +180,11 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
141
180
  replaceOptions(options) {
142
181
  this._selectController.replaceOptions(options);
143
182
  }
183
+ disconnectedCallback() {
184
+ super.disconnectedCallback();
185
+ this._selectController.options$.unsubscribe(this._optionsObserver);
186
+ window.removeEventListener('resize', this._handleResize);
187
+ }
144
188
  render() {
145
189
  var _a;
146
190
  const options = (_a = this._selectController.options$.getValue()) !== null && _a !== void 0 ? _a : [];
@@ -150,41 +194,48 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
150
194
  @dropdown.showed=${() => (this.opened = true)}
151
195
  @dropdown.hidden=${this._closeSelect}
152
196
  name=${this.controlName}
197
+ offset=${this.offset}
153
198
  >
154
- <h-dropdown-toggler name=${this.controlName}">
155
- ${this.getSlot(SELECT_SLOT_NAMES.input)}
156
- </h-dropdown-toggler>
199
+ <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(SELECT_SLOT_NAMES.input)} </h-dropdown-toggler>
157
200
 
158
201
  <h-dropdown-content class=${SELECT_CSS_CLASSES.selectContent} ${ref(this._$dropdownContent)} name=${this.controlName}>
159
- <h-select-close-btn @click=${this._closeSelect}></h-select-close-btn>
202
+ <h-select-close-btn @selectCloseBtn.close=${this._closeSelect}></h-select-close-btn>
160
203
 
161
204
  ${options.length > MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH
162
205
  ? html `<h-select-search
163
- class=${SELECT_CSS_CLASSES.selectSearch}
164
- ${ref(this._$search)}
165
- .value=${this._searchValue}
166
- @selectSearch.search=${this._handleSearch}
167
- ></h-select-search>`
206
+ class=${SELECT_CSS_CLASSES.selectSearch}
207
+ ${ref(this._$search)}
208
+ .value=${this._searchValue}
209
+ @selectSearch.search=${this._handleSearch}
210
+ ></h-select-search>`
168
211
  : nothing}
169
212
  ${this.hasSlot(SELECT_SLOT_NAMES.content)
170
213
  ? html `
171
- <h-options
172
- class=${SELECT_CSS_CLASSES.selectOptions}
173
- ${ref(this._$optionsList)}
174
- @selectOptions.clicked=${this._handleOptionClicked}
175
- >
176
- ${this.getSlot(SELECT_SLOT_NAMES.content)}
177
- </h-options>
178
- `
214
+ <h-options
215
+ class=${SELECT_CSS_CLASSES.selectOptions}
216
+ ${ref(this._$optionsList)}
217
+ @selectOptions.clicked=${this._handleOptionClicked}
218
+ >
219
+ ${this.getSlot(SELECT_SLOT_NAMES.content)}
220
+ </h-options>
221
+ `
222
+ : nothing}
223
+ ${!this._selectController.visibleOptionsCount && Object.keys(this._$options).length
224
+ ? html `<div>
225
+ <p class=${SELECT_CSS_CLASSES.selectNoResult}>
226
+ Brak wyników dla: <em class=${SELECT_CSS_CLASSES.selectSearchedPhrase}>"${this._searchValue}"</em>
227
+ </p>
228
+ </div>`
179
229
  : nothing}
180
- ${!this._selectController.visibleOptionsCount ? html `<p>brak wyników dla ${this._searchValue}</p>` : nothing}
181
230
  ${this.multiselect && this._selectController.selectedOptionsCount >= 1
182
231
  ? html `
183
- <section class=${SELECT_CSS_CLASSES.selectFooter}>
184
- <button class="btn btn_secondary" @click=${this._clearOptions}>clear</button>
185
- <h-select-close-btn class="btn btn_primary" @click=${this._closeSelect}>ok</h-select-close-btn>
186
- </section>
187
- `
232
+ <section class=${SELECT_CSS_CLASSES.selectFooter}>
233
+ <button class="btn btn_secondary btn_xs" @click=${this._clearOptions}>clear</button>
234
+ <h-select-close-btn class="btn btn_primary btn_xs" @selectCloseBtn.close=${this._closeSelect}
235
+ >ok</h-select-close-btn
236
+ >
237
+ </section>
238
+ `
188
239
  : nothing}
189
240
  </h-dropdown-content>
190
241
  </h-dropdown>
@@ -195,7 +246,8 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
195
246
  };
196
247
  HSelect._components = {
197
248
  search: HSelectSearch,
198
- icon: HIcon
249
+ icon: HIcon,
250
+ closeBtn: HSelectCloseBtn
199
251
  };
200
252
  __decorate([
201
253
  property({ type: String }),
@@ -209,6 +261,18 @@ __decorate([
209
261
  property({ type: Boolean }),
210
262
  __metadata("design:type", Boolean)
211
263
  ], HSelect.prototype, "opened", void 0);
264
+ __decorate([
265
+ property({ type: Number }),
266
+ __metadata("design:type", Number)
267
+ ], HSelect.prototype, "offset", void 0);
268
+ __decorate([
269
+ property({ type: Boolean }),
270
+ __metadata("design:type", Boolean)
271
+ ], HSelect.prototype, "error", void 0);
272
+ __decorate([
273
+ property({ type: Boolean }),
274
+ __metadata("design:type", Boolean)
275
+ ], HSelect.prototype, "disabled", void 0);
212
276
  __decorate([
213
277
  state(),
214
278
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,+CAAmD;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,16 @@ export declare const SELECT_EVENT_NAMES: {
11
11
  readonly deselectOption: "selectOption.deselect";
12
12
  };
13
13
  export declare const MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH = 6;
14
+ export declare const SELECT_RESIZE_DEBOUNCE_TIME = 100;
14
15
  export declare const SELECT_CSS_CLASSES: {
15
16
  readonly select: "select";
16
17
  readonly selectOpened: "select_opened";
18
+ readonly selectError: "select_error";
19
+ readonly selectDisabled: "select_disabled";
17
20
  readonly selectSearch: "select__search";
18
21
  readonly selectOptions: "select__options";
19
22
  readonly selectContent: "select__content";
20
23
  readonly selectFooter: "select__footer";
24
+ readonly selectNoResult: "select__no-result";
25
+ readonly selectSearchedPhrase: "select__searched-phrase";
21
26
  };
@@ -11,15 +11,20 @@ const SELECT_EVENT_NAMES = {
11
11
  deselectOption: 'selectOption.deselect'
12
12
  };
13
13
  const MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH = 6;
14
+ const SELECT_RESIZE_DEBOUNCE_TIME = 100;
14
15
  const baseSelectClass = 'select';
15
16
  const SELECT_CSS_CLASSES = {
16
17
  select: baseSelectClass,
17
18
  selectOpened: `${baseSelectClass}_opened`,
19
+ selectError: `${baseSelectClass}_error`,
20
+ selectDisabled: `${baseSelectClass}_disabled`,
18
21
  selectSearch: `${baseSelectClass}__search`,
19
22
  selectOptions: `${baseSelectClass}__options`,
20
23
  selectContent: `${baseSelectClass}__content`,
21
- selectFooter: `${baseSelectClass}__footer`
24
+ selectFooter: `${baseSelectClass}__footer`,
25
+ selectNoResult: `${baseSelectClass}__no-result`,
26
+ selectSearchedPhrase: `${baseSelectClass}__searched-phrase`
22
27
  };
23
28
 
24
- export { MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_CONTEXTS, SELECT_CSS_CLASSES, SELECT_EVENT_NAMES, SELECT_SLOT_NAMES };
29
+ export { MIN_NUMBER_OF_OPTIONS_TO_SHOW_SEARCH, SELECT_CONTEXTS, SELECT_CSS_CLASSES, SELECT_EVENT_NAMES, SELECT_RESIZE_DEBOUNCE_TIME, SELECT_SLOT_NAMES };
25
30
  //# sourceMappingURL=select_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;"}
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;"}
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.e
2
2
  import { property } from 'lit/decorators';
3
3
  import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
4
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
5
- import classnames from '../../../../../../external/classnames/index.js';
5
+ import classnames from '../../../../external/classnames/index.js';
6
6
  import { BASE_FORM_CONTROL_PROPS } from '../controllers/props_synchronizing/control_props_sync_controller_constants.js';
7
7
  import { ControlPropsSyncProviderController } from '../controllers/props_synchronizing/control_props_sync_provider_controller.js';
8
8
  import { CHECKBOX_PROPS_TO_SYNC } from '../checkbox/checkbox_constants.js';
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,0CAA8C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,7 +2,7 @@ import { __decorate, __metadata } from '../../../../../../external/tslib/tslib.e
2
2
  import { property } from 'lit/decorators';
3
3
  import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
4
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
5
- import classnames from '../../../../../../external/classnames/index.js';
5
+ import classnames from '../../../../external/classnames/index.js';
6
6
  import { BASE_FORM_CONTROL_PROPS } from '../controllers/props_synchronizing/control_props_sync_controller_constants.js';
7
7
  import { ControlPropsSyncProviderController } from '../controllers/props_synchronizing/control_props_sync_provider_controller.js';
8
8
  import { TEXTAREA_PROPS_TO_SYNC, TEXTAREA_CONTROL_CSS_CLASSES } from './textarea_constants.js';
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,gDAAoD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA,uBAAuB,0CAA8C;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -4,7 +4,7 @@ import { property } from 'lit/decorators';
4
4
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
5
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
6
  import { ICON_CSS_CLASSES, ICON_SIZES_CSS_CLASS_MAP } from './icon_constants.js';
7
- import classnames from '../../../../../external/classnames/index.js';
7
+ import classnames from '../../../external/classnames/index.js';
8
8
  import { namespacedAttribute } from '../../directives/namespaced_attribure_directive.js';
9
9
 
10
10
  var HIcon_1;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA,uBAAuB,6CAAiD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA,uBAAuB,uCAA2C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -56,7 +56,7 @@ export declare const CALCULATOR_DIRECTIONS: {
56
56
  export declare const NON_STATIC_POSITIONS: string[];
57
57
  export declare const OVERFLOW_SCROLL = "scroll";
58
58
  export declare const OVERFLOW_AUTO = "auto";
59
- export declare const DEFAULT_THROTTLE_WAIT_TIME = 300;
59
+ export declare const DEFAULT_THROTTLE_WAIT_TIME = 150;
60
60
  export declare const DEFAULT_SCROLL_THROTTLE_WAIT_TIME = 15;
61
61
  export declare const SHRINK_MODE_BOTTOM_MARGIN = 20;
62
62
  export declare const SHRINK_MODE_MIN_HEIGHT = 80;
@@ -39,7 +39,7 @@ const CALCULATOR_DIRECTIONS = {
39
39
  const NON_STATIC_POSITIONS = ['relative', 'absolute', 'fixed', 'sticky'];
40
40
  const OVERFLOW_SCROLL = 'scroll';
41
41
  const OVERFLOW_AUTO = 'auto';
42
- const DEFAULT_THROTTLE_WAIT_TIME = 300;
42
+ const DEFAULT_THROTTLE_WAIT_TIME = 150;
43
43
  const DEFAULT_SCROLL_THROTTLE_WAIT_TIME = 15;
44
44
  const SHRINK_MODE_BOTTOM_MARGIN = 20;
45
45
  const SHRINK_MODE_MIN_HEIGHT = 80;
@@ -1,7 +1,7 @@
1
1
  import { noChange } from 'lit';
2
- import { Observer } from '../core/classes/observer/observer.js';
3
2
  import { directive as e } from '../../../../external/lit/external/lit-html/directive.js';
4
3
  import { AsyncDirective as c } from '../../../../external/lit/external/lit-html/async-directive.js';
4
+ import { Observer } from '../core/classes/observer/observer.js';
5
5
 
6
6
  class ObserveDirective extends c {
7
7
  render(observable, render) {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA,+BAA+B,yDAAiE;AAChG,oCAAoC,+DAAuE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;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,+BAA+B,yDAAiE;AAChG,oCAAoC,+DAAuE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,6 +2,7 @@ export { DEFAULT_SLOT_NAME } from './core/phoenix_light_lit_element/phoenix_ligh
2
2
  export { PhoenixLightLitElement } from './core/phoenix_light_lit_element/phoenix_light_lit_element.js';
3
3
  export { KeystrokesController } from './controllers/keystrokes_controller/keystrokes_controller.js';
4
4
  export { BtnController } from './controllers/btn_controller/btn_controller.js';
5
+ export { HIcon } from './components/icon/icon.js';
5
6
  export { HOption } from './components/form/select/components/option/select_option.js';
6
7
  export { HOptionContent } from './components/form/select/components/option/select_option_content.js';
7
8
  export { HOptions } from './components/form/select/components/select_options.js';
@@ -17,7 +18,6 @@ export { ToggleElementAriaController } from './controllers/toggle_element_aria_c
17
18
  export { HDropdownToggler } from './components/dropdown/dropdown_toggler.js';
18
19
  export { RelativePositionController } from './controllers/relative_position_controller/relative_position_controller.js';
19
20
  export { HDropdown } from './components/dropdown/dropdown.js';
20
- export { HIcon } from './components/icon/icon.js';
21
21
  export { HSelect } from './components/form/select/select.js';
22
22
  export { HModal } from './components/modal/modal.js';
23
23
  export { HModalOpener } from './components/modal/modal_opener.js';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.1.0-9",
5
+ "version": "1.1.1",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "@splidejs/splide": "^4.0.7"
31
31
  },
32
32
  "devDependencies": {
33
- "@dreamcommerce/utilities": "^1.1.0-1",
33
+ "@dreamcommerce/utilities": "^1.1.0",
34
34
  "@shoper/jest_config": "^0.0.0",
35
35
  "@shoper/tsconfig": "^0.0.0",
36
36
  "@splidejs/splide": "4.0.7",