@shoper/phoenix_design_system 1.2.13 → 1.2.14

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 (100) hide show
  1. package/build/cjs/packages/phoenix/src/components/color_swatches/color_item/color_item.js +12 -7
  2. package/build/cjs/packages/phoenix/src/components/color_swatches/color_item/color_item.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/color_swatches/color_item/color_item_constants.js +12 -0
  4. package/build/cjs/packages/phoenix/src/components/color_swatches/color_item/color_item_constants.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/color_swatches/color_swatches.js +50 -19
  6. package/build/cjs/packages/phoenix/src/components/color_swatches/color_swatches.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/color_swatches/color_swatches_constants.js +1 -4
  8. package/build/cjs/packages/phoenix/src/components/color_swatches/color_swatches_constants.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +20 -1
  10. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  11. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_constants.js +5 -1
  12. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_constants.js.map +1 -1
  13. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +32 -6
  14. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  15. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control_constants.js +4 -0
  16. package/build/cjs/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control_constants.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js +6 -1
  18. package/build/cjs/packages/phoenix/src/components/form/file_picker/file_picker.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/form/radio/radio_constants.js +9 -1
  20. package/build/cjs/packages/phoenix/src/components/form/radio/radio_constants.js.map +1 -1
  21. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js +23 -7
  22. package/build/cjs/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  23. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js +4 -2
  24. package/build/cjs/packages/phoenix/src/components/form/select/components/select_components_constatns.js.map +1 -1
  25. package/build/cjs/packages/phoenix/src/components/form/select/components/select_options.js +9 -2
  26. package/build/cjs/packages/phoenix/src/components/form/select/components/select_options.js.map +1 -1
  27. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +11 -1
  28. package/build/cjs/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
  29. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js +2 -1
  30. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -1
  31. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js +1 -0
  32. package/build/cjs/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  33. package/build/cjs/packages/phoenix/src/components/form/select/select.js +25 -29
  34. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  35. package/build/cjs/packages/phoenix/src/index.js +10 -7
  36. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  37. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item.d.ts +3 -1
  38. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item.js +13 -8
  39. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item.js.map +1 -1
  40. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_constants.d.ts +9 -0
  41. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_constants.js +11 -1
  42. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_constants.js.map +1 -1
  43. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_types.d.ts +3 -5
  44. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_types.js +2 -1
  45. package/build/esm/packages/phoenix/src/components/color_swatches/color_item/color_item_types.js.map +1 -1
  46. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches.d.ts +8 -3
  47. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches.js +51 -20
  48. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches.js.map +1 -1
  49. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_constants.d.ts +1 -3
  50. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_constants.js +1 -4
  51. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_constants.js.map +1 -1
  52. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_types.d.ts +8 -3
  53. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_types.js +1 -1
  54. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_types.js.map +1 -1
  55. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +4 -0
  56. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +21 -2
  57. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  58. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.d.ts +3 -0
  59. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.js +5 -2
  60. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_constants.js.map +1 -1
  61. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.d.ts +2 -0
  62. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.js +1 -0
  63. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_types.js.map +1 -1
  64. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.d.ts +6 -0
  65. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js +34 -8
  66. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control.js.map +1 -1
  67. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control_constants.d.ts +3 -0
  68. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control_constants.js +4 -1
  69. package/build/esm/packages/phoenix/src/components/form/color_swatches_control/color_swatches_control_constants.js.map +1 -1
  70. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js +6 -1
  71. package/build/esm/packages/phoenix/src/components/form/file_picker/file_picker.js.map +1 -1
  72. package/build/esm/packages/phoenix/src/components/form/radio/radio_constants.d.ts +6 -0
  73. package/build/esm/packages/phoenix/src/components/form/radio/radio_constants.js +9 -2
  74. package/build/esm/packages/phoenix/src/components/form/radio/radio_constants.js.map +1 -1
  75. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.d.ts +4 -0
  76. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js +23 -7
  77. package/build/esm/packages/phoenix/src/components/form/select/components/option/select_option.js.map +1 -1
  78. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.d.ts +2 -0
  79. package/build/esm/packages/phoenix/src/components/form/select/components/select_components_constatns.js +4 -2
  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/select_options.d.ts +2 -0
  82. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.js +9 -2
  83. package/build/esm/packages/phoenix/src/components/form/select/components/select_options.js.map +1 -1
  84. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.d.ts +1 -0
  85. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js +11 -1
  86. package/build/esm/packages/phoenix/src/components/form/select/controllers/base_select_controller.js.map +1 -1
  87. package/build/esm/packages/phoenix/src/components/form/select/controllers/select_controllers_types.d.ts +1 -0
  88. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.d.ts +1 -0
  89. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js +2 -1
  90. package/build/esm/packages/phoenix/src/components/form/select/model/select_option.js.map +1 -1
  91. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_constants.d.ts +1 -0
  92. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js +1 -0
  93. package/build/esm/packages/phoenix/src/components/form/select/model/select_option_mapper.js.map +1 -1
  94. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +2 -3
  95. package/build/esm/packages/phoenix/src/components/form/select/select.js +25 -29
  96. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  97. package/build/esm/packages/phoenix/src/index.d.ts +3 -0
  98. package/build/esm/packages/phoenix/src/index.js +3 -2
  99. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  100. package/package.json +1 -1
@@ -63,8 +63,18 @@ class BaseSelectController {
63
63
  this.selectedOptions$.notify([]);
64
64
  this.requestUpdate();
65
65
  }
66
+ updateOption(value, newOptions) {
67
+ const option = this.getOption(value);
68
+ if (!option)
69
+ return;
70
+ Object.entries(newOptions).forEach(([key, value]) => {
71
+ option[key] = value;
72
+ });
73
+ this.requestUpdate();
74
+ }
66
75
  filter(value) {
67
- const selectOptions = this.options$.getValue();
76
+ var _a;
77
+ const selectOptions = (_a = this.options$.getValue()) === null || _a === void 0 ? void 0 : _a.filter((option) => !option.inactive);
68
78
  if (!selectOptions)
69
79
  return;
70
80
  const filtered = utilities.SearchingUtils.fuzzySearch(value, selectOptions, 'content');
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  class SelectOption {
6
- constructor({ selected = false, hidden = false, disabled = false, value, content }) {
6
+ constructor({ selected = false, hidden = false, disabled = false, value, content, inactive = false }) {
7
7
  this.value = value;
8
8
  this.selected = selected;
9
9
  this.hidden = hidden;
10
10
  this.disabled = disabled;
11
11
  this.content = content;
12
+ this.inactive = inactive;
12
13
  }
13
14
  static create(options) {
14
15
  return new SelectOption(options);
@@ -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;"}
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;"}
@@ -15,6 +15,7 @@ class SelectOptionMapper {
15
15
  value: $option.value,
16
16
  disabled: $option.disabled,
17
17
  hidden: $option.hidden,
18
+ inactive: $option.inactive,
18
19
  content: optionContent,
19
20
  selected: $option.selected
20
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;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;"}
@@ -16,7 +16,6 @@ var observable_directive = require('../../../directives/observable_directive.js'
16
16
  var select_toggler = require('./components/toggler/select_toggler.js');
17
17
  var context_provider_controller = require('../../../core/context/context_provider_controller.js');
18
18
  var ref_js = require('lit-html/directives/ref.js');
19
- var global_constants = require('../../../global_constants.js');
20
19
  var dropdown_content = require('../../dropdown/dropdown_content.js');
21
20
  var dropdown_toggler = require('../../dropdown/dropdown_toggler.js');
22
21
  var debounce = require('../../../../../../external/lodash/debounce.js');
@@ -44,17 +43,6 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
44
43
  this._$optionsList = ref_js.createRef();
45
44
  this._$dropdownContent = ref_js.createRef();
46
45
  this._selectContext = new context_provider_controller.ContextProviderController(this);
47
- this._setDropdownContentWidth = (width) => {
48
- const $dropdown = this._$dropdownContent.value;
49
- if (!$dropdown)
50
- return;
51
- if (!width) {
52
- $dropdown.style.removeProperty('width');
53
- return;
54
- }
55
- if (width)
56
- $dropdown.style.width = `${width !== null && width !== void 0 ? width : ''}px`;
57
- };
58
46
  this._handleOptionDeselect = (event) => {
59
47
  const selectedOption = this._selectController.getOption(event.detail);
60
48
  if (!selectedOption)
@@ -65,7 +53,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
65
53
  this._updateOptionsView = (options) => {
66
54
  if (options.length < Object.keys(this._$options).length)
67
55
  this._removeHTMLOptions(options.map((option) => option.value));
68
- options.forEach((option, index) => {
56
+ options
57
+ .filter((option) => !option.inactive)
58
+ .forEach((option, index) => {
69
59
  const { selected, value } = option;
70
60
  const $option = this._$options[value];
71
61
  if (!$option) {
@@ -75,12 +65,19 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
75
65
  select_utils.SelectControlUtils.syncHTMLOptionWithModel(option, $option);
76
66
  if (!selected)
77
67
  return;
78
- $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
68
+ this.updateOptionAriaAttribute($option);
79
69
  });
80
70
  };
81
71
  this._handleOptionClicked = (event) => {
82
72
  this._selectOption(event.detail.$option.value);
83
73
  };
74
+ this._handleOptionUpdated = ({ detail }) => {
75
+ const $option = detail.$option;
76
+ this._selectController.updateOption($option.value, {
77
+ inactive: $option.inactive,
78
+ hidden: $option.hidden
79
+ });
80
+ };
84
81
  this._handleDropdownHidden = () => {
85
82
  this._searchValue = '';
86
83
  this.opened = false;
@@ -96,11 +93,12 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
96
93
  this._dispatchChangeEvent();
97
94
  };
98
95
  this._dispatchChangeEvent = () => {
99
- this.dispatchEvent(new Event('change'));
96
+ this.dispatchEvent(new Event('change', {
97
+ bubbles: true
98
+ }));
100
99
  };
101
100
  this._handleResize = debounce['default'](() => {
102
101
  this._closeSelect();
103
- this._setDropdownContentWidth(this._getDropdownContentWidth());
104
102
  }, select_constants.SELECT_RESIZE_DEBOUNCE_TIME);
105
103
  const $options = Array.from(this.querySelectorAll(select_components_constatns.SELECT_RELATED_COMPONENTS_NAMES.option));
106
104
  $options.forEach(($option) => $option.setAttribute('slot', select_constants.SELECT_SLOT_NAMES.content));
@@ -119,11 +117,8 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
119
117
  }
120
118
  set selectedIndex(index) {
121
119
  const option = Object.values(this._$options)[index];
122
- if (!option) {
123
- this._selectController.deselectAll();
124
- return;
125
- }
126
- this._selectOption(option.value);
120
+ option ? this._selectOption(option.value) : this._selectController.deselectAll();
121
+ Object.values(this._$options).forEach(($option) => this.updateOptionAriaAttribute($option));
127
122
  }
128
123
  get selectedOptions() {
129
124
  var _a;
@@ -194,10 +189,6 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
194
189
  this.disabled ? this.classList.add(select_constants.SELECT_CSS_CLASSES.selectDisabled) : this.classList.remove(select_constants.SELECT_CSS_CLASSES.selectDisabled);
195
190
  }
196
191
  }
197
- firstUpdated(props) {
198
- super.firstUpdated(props);
199
- this._setDropdownContentWidth(this._getDropdownContentWidth());
200
- }
201
192
  _setupEvents() {
202
193
  this.addEventListener(select_constants.SELECT_EVENT_NAMES.deselectOption, this._handleOptionDeselect);
203
194
  this.addEventListener(select_components_constatns.SELECT_CLOSE_BTN_EVENT_NAMES.close, this._closeSelect);
@@ -210,10 +201,15 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
210
201
  const { value, selected } = option;
211
202
  const $option = select_utils.SelectControlUtils.createHTMLOption(option);
212
203
  if (selected)
213
- $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
204
+ this.updateOptionAriaAttribute($option);
214
205
  this._$options[value] = $option;
215
206
  select_utils.SelectControlUtils.appendHTMLOption($option, $list, position);
216
207
  }
208
+ updateOptionAriaAttribute($option) {
209
+ !$option.selected
210
+ ? $option.removeAttribute(this.multiple ? 'aria-checked' : 'aria-selected')
211
+ : $option.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
212
+ }
217
213
  _removeHTMLOptions(optionsValues) {
218
214
  this._$options = select_utils.SelectControlUtils.removeHTMLOptions(Object.values(this._$options), optionsValues);
219
215
  }
@@ -246,11 +242,9 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
246
242
  disconnectedCallback() {
247
243
  super.disconnectedCallback();
248
244
  this._selectController.options$.unsubscribe(this._optionsObserver);
245
+ this._$options = {};
249
246
  window.removeEventListener('resize', this._handleResize);
250
247
  }
251
- _getDropdownContentWidth() {
252
- return document.documentElement.clientWidth < global_constants.BREAKPOINTS.xs ? undefined : this.getBoundingClientRect().width;
253
- }
254
248
  _getClonedPlaceholderElement() {
255
249
  return this.$placeholder instanceof HTMLElement ? this.$placeholder.cloneNode(true) : this.$placeholder;
256
250
  }
@@ -267,6 +261,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
267
261
  @dropdown.hidden=${this._handleDropdownHidden}
268
262
  name="${this.controlName}$"
269
263
  offset=${this.offset}
264
+ content-width="full"
270
265
  >
271
266
  <h-dropdown-toggler name=${this.controlName}> ${this.getSlot(select_constants.SELECT_SLOT_NAMES.toggler)} </h-dropdown-toggler>
272
267
 
@@ -298,6 +293,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
298
293
  : ''}"
299
294
  ${ref_js.ref(this._$optionsList)}
300
295
  @selectOptions.clicked=${this._handleOptionClicked}
296
+ @selectOptions.updated=${this._handleOptionUpdated}
301
297
  >
302
298
  ${this.getSlot(select_constants.SELECT_SLOT_NAMES.content)}
303
299
  </h-options>
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+CAAmD;AAC3E;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -69,9 +69,10 @@ var toggle_button_group = require('./components/groups/toggle_button_group/toggl
69
69
  var toggle_button = require('./components/groups/toggle_button_group/toggle_button.js');
70
70
  var click_outside_controller_messages = require('./controllers/click_outside_controller/click_outside_controller_messages.js');
71
71
  var backdrop = require('./components/backdrop/backdrop.js');
72
- var color_swatches_control = require('./components/form/color_swatches_control/color_swatches_control.js');
72
+ var color_swatches_control_constants = require('./components/form/color_swatches_control/color_swatches_control_constants.js');
73
73
  var color_item = require('./components/color_swatches/color_item/color_item.js');
74
74
  var color_swatches = require('./components/color_swatches/color_swatches.js');
75
+ var color_swatches_control = require('./components/form/color_swatches_control/color_swatches_control.js');
75
76
  var show_more = require('./components/color_swatches/show-more/show_more.js');
76
77
  var visibility_controller = require('./controllers/visibility_controller/visibility_controller.js');
77
78
  var slider = require('./components/slider/slider.js');
@@ -340,6 +341,7 @@ Object.defineProperty(exports, 'HSwitchControl', {
340
341
  });
341
342
  exports.RADIO_CONTROL_CSS_CLASSES = radio_constants.RADIO_CONTROL_CSS_CLASSES;
342
343
  exports.RADIO_CONTROL_EVENTS = radio_constants.RADIO_CONTROL_EVENTS;
344
+ exports.RADIO_CONTROL_VARIANTS = radio_constants.RADIO_CONTROL_VARIANTS;
343
345
  exports.RADIO_SLOTS = radio_constants.RADIO_SLOTS;
344
346
  Object.defineProperty(exports, 'HRadio', {
345
347
  enumerable: true,
@@ -421,12 +423,7 @@ Object.defineProperty(exports, 'HBackdrop', {
421
423
  return backdrop.HBackdrop;
422
424
  }
423
425
  });
424
- Object.defineProperty(exports, 'HColorSwatchesControl', {
425
- enumerable: true,
426
- get: function () {
427
- return color_swatches_control.HColorSwatchesControl;
428
- }
429
- });
426
+ exports.COLOR_SWATCHES_CONTROL_EVENT_NAMES = color_swatches_control_constants.COLOR_SWATCHES_CONTROL_EVENT_NAMES;
430
427
  Object.defineProperty(exports, 'HColorItem', {
431
428
  enumerable: true,
432
429
  get: function () {
@@ -439,6 +436,12 @@ Object.defineProperty(exports, 'HColorSwatches', {
439
436
  return color_swatches.HColorSwatches;
440
437
  }
441
438
  });
439
+ Object.defineProperty(exports, 'HColorSwatchesControl', {
440
+ enumerable: true,
441
+ get: function () {
442
+ return color_swatches_control.HColorSwatchesControl;
443
+ }
444
+ });
442
445
  Object.defineProperty(exports, 'HColorSwatchesShowMore', {
443
446
  enumerable: true,
444
447
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,10 +1,12 @@
1
1
  import { PhoenixLightLitElement } from "../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ import type { TColorItemSize } from "./color_item_types";
2
3
  export declare class HColorItem extends PhoenixLightLitElement {
3
4
  color: string;
5
+ value: string;
4
6
  label?: string;
5
7
  disabled: boolean;
6
8
  selected: boolean;
7
- small: boolean;
9
+ size?: TColorItemSize;
8
10
  unclickable: boolean;
9
11
  private _btnController;
10
12
  constructor();
@@ -4,15 +4,13 @@ import { ColorUtils } from '@dreamcommerce/utilities';
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 { BtnController } from '../../../controllers/btn_controller/btn_controller.js';
7
- import { COLOR_SWATCHES_CSS_CLASSES } from '../color_swatches_constants.js';
8
- import { COLOR_ITEM_EVENT_NAMES, COLOR_ITEM_SELECTED_ATTRIBUTE } from './color_item_constants.js';
7
+ import { COLOR_ITEM_EVENT_NAMES, COLOR_ITEM_CSS_CLASSES, COLOR_ITEM_SELECTED_ATTRIBUTE } from './color_item_constants.js';
9
8
 
10
9
  let HColorItem = class HColorItem extends PhoenixLightLitElement {
11
10
  constructor() {
12
11
  super();
13
12
  this.disabled = false;
14
13
  this.selected = false;
15
- this.small = false;
16
14
  this.unclickable = false;
17
15
  this._dispatchClickedEvent = () => {
18
16
  this.dispatchEvent(new Event(COLOR_ITEM_EVENT_NAMES.selected, {
@@ -28,8 +26,11 @@ let HColorItem = class HColorItem extends PhoenixLightLitElement {
28
26
  this._syncAriaPressed();
29
27
  this.setAttribute('aria-label', this.label ? this.label : this.color);
30
28
  this.unclickable && this.removeAttribute('tabindex');
31
- this.classList.add(COLOR_SWATCHES_CSS_CLASSES.colorItem);
32
- this.small && this.classList.add(COLOR_SWATCHES_CSS_CLASSES.colorItemSmall);
29
+ this.classList.add(COLOR_ITEM_CSS_CLASSES.colorItem);
30
+ if (!this.value)
31
+ this.value = this.color;
32
+ if (this.size)
33
+ this.classList.add(COLOR_ITEM_CSS_CLASSES[this.size]);
33
34
  }
34
35
  attributeChangedCallback(name, value, newValue) {
35
36
  super.attributeChangedCallback(name, value, newValue);
@@ -54,6 +55,10 @@ __decorate([
54
55
  property({ type: String }),
55
56
  __metadata("design:type", String)
56
57
  ], HColorItem.prototype, "color", void 0);
58
+ __decorate([
59
+ property({ type: String }),
60
+ __metadata("design:type", String)
61
+ ], HColorItem.prototype, "value", void 0);
57
62
  __decorate([
58
63
  property({ type: String }),
59
64
  __metadata("design:type", String)
@@ -67,9 +72,9 @@ __decorate([
67
72
  __metadata("design:type", Boolean)
68
73
  ], HColorItem.prototype, "selected", void 0);
69
74
  __decorate([
70
- property({ type: Boolean }),
71
- __metadata("design:type", Boolean)
72
- ], HColorItem.prototype, "small", void 0);
75
+ property({ type: String }),
76
+ __metadata("design:type", String)
77
+ ], HColorItem.prototype, "size", void 0);
73
78
  __decorate([
74
79
  property({ type: Boolean }),
75
80
  __metadata("design:type", Boolean)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4 +1,13 @@
1
1
  export declare const COLOR_ITEM_EVENT_NAMES: {
2
2
  readonly selected: "colorItemSelected";
3
3
  };
4
+ export declare const COLOR_ITEM_SIZES: {
5
+ readonly s: "s";
6
+ readonly xs: "xs";
7
+ };
8
+ export declare const COLOR_ITEM_CSS_CLASSES: {
9
+ readonly colorItem: "color-item";
10
+ readonly s: "color-item_s";
11
+ readonly xs: "color-item_xs";
12
+ };
4
13
  export declare const COLOR_ITEM_SELECTED_ATTRIBUTE = "selected";
@@ -1,7 +1,17 @@
1
+ const colorItemBaseCssClass = 'color-item';
1
2
  const COLOR_ITEM_EVENT_NAMES = {
2
3
  selected: 'colorItemSelected'
3
4
  };
5
+ const COLOR_ITEM_SIZES = {
6
+ s: 's',
7
+ xs: 'xs'
8
+ };
9
+ const COLOR_ITEM_CSS_CLASSES = {
10
+ colorItem: colorItemBaseCssClass,
11
+ [COLOR_ITEM_SIZES.s]: `${colorItemBaseCssClass}_s`,
12
+ [COLOR_ITEM_SIZES.xs]: `${colorItemBaseCssClass}_xs`
13
+ };
4
14
  const COLOR_ITEM_SELECTED_ATTRIBUTE = 'selected';
5
15
 
6
- export { COLOR_ITEM_EVENT_NAMES, COLOR_ITEM_SELECTED_ATTRIBUTE };
16
+ export { COLOR_ITEM_CSS_CLASSES, COLOR_ITEM_EVENT_NAMES, COLOR_ITEM_SELECTED_ATTRIBUTE, COLOR_ITEM_SIZES };
7
17
  //# sourceMappingURL=color_item_constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;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;"}
@@ -1,5 +1,3 @@
1
- export declare type TColorItemConstructorOptions = {
2
- color: string;
3
- label: string;
4
- disabled: boolean;
5
- };
1
+ import { Any } from 'ts-toolbelt';
2
+ import { COLOR_ITEM_SIZES } from "./color_item_constants";
3
+ export declare type TColorItemSize = Any.Keys<typeof COLOR_ITEM_SIZES>;
@@ -1,2 +1,3 @@
1
- export {};
1
+ import 'ts-toolbelt';
2
+ import '@phoenixRoot/components/color_swatches/color_item/color_item_constants';
2
3
  //# sourceMappingURL=color_item_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"color_item_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/color_swatches/color_item/color_item_types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"color_item_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/color_swatches/color_item/color_item_types.ts"],"names":[],"mappings":"AAAA,OAAoB,aAAa,CAAC;AAClC,OAAiC,wEAAwE,CAAC"}
@@ -1,21 +1,26 @@
1
1
  import { HColorItem } from "./color_item/color_item";
2
2
  import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
+ import { TemplateResult } from 'lit-html';
3
4
  export declare class HColorSwatches extends PhoenixLightLitElement {
4
5
  multiple: boolean;
5
6
  numberOfVisibleColors: number;
6
7
  selectedColors: HColorItem[];
8
+ showMoreBtnText: string;
9
+ private _$colors;
10
+ selectColors($colors: HColorItem[] | HColorItem): void;
11
+ clearAllColors(): void;
7
12
  connectedCallback(): void;
8
13
  private _addCssClasses;
9
14
  private _hideItems;
10
15
  private _showAllItemsEvent;
11
16
  private _setupEvents;
12
17
  private _handleColorClicked;
18
+ private _toggleColorItem;
13
19
  private _handleColorClickedForMultipleMode;
14
20
  private _handleColorClickedForSingleMode;
15
21
  private _toggleSelectedAttribute;
16
22
  private _isColorAlreadyExistInArray;
17
23
  private _removeExistingColorFromArray;
18
- private _dispatchColorSelectEvent;
19
- private _setColorsDispatchValue;
20
- private _getOnlyColorValues;
24
+ private _dispatchColorChangeEvent;
25
+ protected render(): TemplateResult;
21
26
  }
@@ -1,7 +1,10 @@
1
1
  import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
- import { property, state } from 'lit/decorators';
2
+ import { html } from 'lit';
3
+ import { property } from 'lit/decorators';
4
+ import { ArrayUtils } from '@dreamcommerce/utilities';
3
5
  import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
4
6
  import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
7
+ import 'lit-html';
5
8
  import { COLOR_SWATCHES_EVENT_NAMES, COLOR_ITEM_TAG_NAME, COLOR_SWATCHES_CSS_CLASSES, COLOR_SWATCHES_HIDDEN_ATTRIBUTE } from './color_swatches_constants.js';
6
9
  import { COLOR_ITEM_EVENT_NAMES, COLOR_ITEM_SELECTED_ATTRIBUTE } from './color_item/color_item_constants.js';
7
10
  import { SHOW_MORE_EVENT_NAMES } from './show-more/show_more_constants.js';
@@ -11,26 +14,52 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
11
14
  super(...arguments);
12
15
  this.multiple = false;
13
16
  this.selectedColors = [];
17
+ this.showMoreBtnText = 'Pokaż wszystkie kolory';
14
18
  this._handleColorClicked = ({ target }) => {
15
19
  const $colorItem = target;
16
- this.multiple ? this._handleColorClickedForMultipleMode($colorItem) : this._handleColorClickedForSingleMode($colorItem);
20
+ this._toggleColorItem($colorItem);
21
+ this._dispatchColorChangeEvent($colorItem);
17
22
  };
18
- this._dispatchColorSelectEvent = () => {
19
- const detail = {
20
- colors: this._setColorsDispatchValue(this.selectedColors)
21
- };
22
- this.dispatchEvent(new CustomEvent(COLOR_SWATCHES_EVENT_NAMES.selected, {
23
+ this._dispatchColorChangeEvent = ($colorItem) => {
24
+ const colorsDetails = this.selectedColors.reduce(({ colors: colorsSoFar, values: valuesSoFar }, color) => {
25
+ return {
26
+ colors: [...colorsSoFar, color.color],
27
+ values: [...colorsSoFar, color.value]
28
+ };
29
+ }, {
30
+ colors: [],
31
+ values: []
32
+ });
33
+ this.dispatchEvent(new CustomEvent(COLOR_SWATCHES_EVENT_NAMES.change, {
23
34
  bubbles: true,
24
- detail
35
+ detail: {
36
+ ...colorsDetails,
37
+ $colorItem
38
+ }
25
39
  }));
26
40
  };
27
41
  }
42
+ selectColors($colors) {
43
+ const colorsArr = ArrayUtils.makeAsArray($colors);
44
+ if (!colorsArr.length) {
45
+ this.clearAllColors();
46
+ return;
47
+ }
48
+ colorsArr.forEach(($color) => this._toggleColorItem($color));
49
+ }
50
+ clearAllColors() {
51
+ [...this.selectedColors].forEach(($color) => {
52
+ this._toggleColorItem($color);
53
+ });
54
+ }
28
55
  connectedCallback() {
29
56
  super.connectedCallback();
30
57
  this._setupEvents();
31
58
  this._addCssClasses();
32
59
  this.numberOfVisibleColors && this._hideItems(this.numberOfVisibleColors);
33
60
  this._showAllItemsEvent();
61
+ this.selectedColors = [...this.querySelectorAll('h-color-item[selected]')];
62
+ this._$colors = [...this.querySelectorAll('h-color-item')];
34
63
  }
35
64
  _addCssClasses() {
36
65
  this.querySelectorAll(COLOR_ITEM_TAG_NAME).forEach(($colorItem) => $colorItem.classList.add(COLOR_SWATCHES_CSS_CLASSES.colorSwatchesItem));
@@ -55,12 +84,14 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
55
84
  _setupEvents() {
56
85
  this.addEventListener(COLOR_ITEM_EVENT_NAMES.selected, this._handleColorClicked);
57
86
  }
87
+ _toggleColorItem($colorItem) {
88
+ this.multiple ? this._handleColorClickedForMultipleMode($colorItem) : this._handleColorClickedForSingleMode($colorItem);
89
+ }
58
90
  _handleColorClickedForMultipleMode($colorItem) {
59
91
  !this._isColorAlreadyExistInArray($colorItem)
60
92
  ? (this.selectedColors = [...this.selectedColors, $colorItem])
61
93
  : this._removeExistingColorFromArray($colorItem);
62
94
  this._toggleSelectedAttribute($colorItem);
63
- this._dispatchColorSelectEvent();
64
95
  }
65
96
  _handleColorClickedForSingleMode($colorItem) {
66
97
  const $previouslySelected = this.selectedColors[0];
@@ -68,7 +99,6 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
68
99
  if ($previouslySelected && $previouslySelected !== $colorItem)
69
100
  $previouslySelected.removeAttribute(COLOR_ITEM_SELECTED_ATTRIBUTE);
70
101
  this.selectedColors = $previouslySelected === $colorItem ? [] : [$colorItem];
71
- this._dispatchColorSelectEvent();
72
102
  }
73
103
  _toggleSelectedAttribute($colorItem) {
74
104
  $colorItem.hasAttribute(COLOR_ITEM_SELECTED_ATTRIBUTE)
@@ -82,15 +112,12 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
82
112
  const indexOfAlreadyExistingColor = this.selectedColors.indexOf($colorItem);
83
113
  this.selectedColors.splice(indexOfAlreadyExistingColor, 1);
84
114
  }
85
- _setColorsDispatchValue(selectedColors) {
86
- if (this.selectedColors.length > 1)
87
- return this._getOnlyColorValues(selectedColors);
88
- if (this.selectedColors.length === 1)
89
- return selectedColors[0].color;
90
- return '';
91
- }
92
- _getOnlyColorValues(selectedColors) {
93
- return selectedColors.map((selectedColor) => selectedColor.color);
115
+ render() {
116
+ return html `
117
+ ${this.getSlot('default')}
118
+ ${this._$colors.length > this.numberOfVisibleColors &&
119
+ html `<h-color-swatches-show-more>${this.showMoreBtnText}</h-color-swatches-show-more>`}
120
+ `;
94
121
  }
95
122
  };
96
123
  __decorate([
@@ -102,9 +129,13 @@ __decorate([
102
129
  __metadata("design:type", Number)
103
130
  ], HColorSwatches.prototype, "numberOfVisibleColors", void 0);
104
131
  __decorate([
105
- state(),
132
+ property(),
106
133
  __metadata("design:type", Array)
107
134
  ], HColorSwatches.prototype, "selectedColors", void 0);
135
+ __decorate([
136
+ property({ type: String, attribute: 'show-more-btn-text' }),
137
+ __metadata("design:type", Object)
138
+ ], HColorSwatches.prototype, "showMoreBtnText", void 0);
108
139
  HColorSwatches = __decorate([
109
140
  phoenixCustomElement('h-color-swatches')
110
141
  ], HColorSwatches);
@@ -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;"}
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;"}
@@ -1,12 +1,10 @@
1
1
  export declare const COLOR_ITEM_TAG_NAME = "h-color-item";
2
2
  export declare const COLOR_SWATCHES_CSS_CLASSES: {
3
- readonly colorItem: "color-item";
4
- readonly colorItemSmall: "color-item_small";
5
3
  readonly colorSwatches: "color-swatches";
6
4
  readonly colorSwatchesItem: "color-swatches__color-item";
7
5
  };
8
6
  export declare const COLOR_SWATCHES_EVENT_NAMES: {
9
- readonly selected: "colorSwatchesSelected";
7
+ readonly change: "change";
10
8
  readonly markDisabledItems: "markDisabledItems";
11
9
  };
12
10
  export declare const COLOR_SWATCHES_HIDDEN_ATTRIBUTE = "hidden";
@@ -1,14 +1,11 @@
1
1
  const colorSwatchesBaseCssClass = 'color-swatches';
2
- const colorItemBaseCssClass = 'color-item';
3
2
  const COLOR_ITEM_TAG_NAME = 'h-color-item';
4
3
  const COLOR_SWATCHES_CSS_CLASSES = {
5
- colorItem: colorItemBaseCssClass,
6
- colorItemSmall: `${colorItemBaseCssClass}_small`,
7
4
  colorSwatches: colorSwatchesBaseCssClass,
8
5
  colorSwatchesItem: `${colorSwatchesBaseCssClass}__color-item`
9
6
  };
10
7
  const COLOR_SWATCHES_EVENT_NAMES = {
11
- selected: 'colorSwatchesSelected',
8
+ change: 'change',
12
9
  markDisabledItems: 'markDisabledItems'
13
10
  };
14
11
  const COLOR_SWATCHES_HIDDEN_ATTRIBUTE = 'hidden';
@@ -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;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,3 +1,8 @@
1
- export interface IColorSelectValue {
2
- colors: string | string[] | undefined;
3
- }
1
+ import { HColorItem } from "./color_item/color_item";
2
+ export declare type TSelectedColorsObject = {
3
+ colors: string[];
4
+ values: string[];
5
+ };
6
+ export declare type TColorSwatchesControlChangeEventDetail = TSelectedColorsObject & {
7
+ $colorItem: HColorItem;
8
+ };