@shoper/phoenix_design_system 1.2.13 → 1.2.15

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 +60 -23
  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 +3 -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 +9 -3
  47. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches.js +62 -25
  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 +2 -3
  50. package/build/esm/packages/phoenix/src/components/color_swatches/color_swatches_constants.js +3 -5
  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
@@ -12,16 +12,23 @@ exports.HOptions = class HOptions extends phoenix_light_lit_element.PhoenixLight
12
12
  constructor() {
13
13
  super();
14
14
  this._dispatchClickedEvent = ({ detail }) => {
15
- this.dispatchEvent(new CustomEvent(select_components_constatns.SELECT_OPTIONS_EVENT_NAMES.clicked, {
15
+ this._dispatchEvent(select_components_constatns.SELECT_OPTIONS_EVENT_NAMES.clicked, detail.$option);
16
+ };
17
+ this._dispatchUpdatedEvent = ({ detail }) => {
18
+ this._dispatchEvent(select_components_constatns.SELECT_OPTIONS_EVENT_NAMES.updated, detail.$option);
19
+ };
20
+ this._dispatchEvent = (eventName, $option) => {
21
+ this.dispatchEvent(new CustomEvent(eventName, {
16
22
  bubbles: true,
17
23
  detail: {
18
- $option: detail.$option
24
+ $option
19
25
  }
20
26
  }));
21
27
  };
22
28
  this.setAttribute('role', 'listbox');
23
29
  utilities.UiDomUtils.makeNavigable(this);
24
30
  this.addEventListener(select_components_constatns.SELECT_OPTION_EVENT_NAMES.clicked, this._dispatchClickedEvent);
31
+ this.addEventListener(select_components_constatns.SELECT_OPTION_EVENT_NAMES.updated, this._dispatchUpdatedEvent);
25
32
  }
26
33
  };
27
34
  exports.HOptions = tslib_es6.__decorate([
@@ -1 +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;"}
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;AACA;"}
@@ -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,27 @@
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
+ private _$colorSwatchesChildren;
11
+ selectColors($colors: HColorItem[] | HColorItem): void;
12
+ clearAllColors(): void;
7
13
  connectedCallback(): void;
8
14
  private _addCssClasses;
9
15
  private _hideItems;
10
16
  private _showAllItemsEvent;
11
17
  private _setupEvents;
12
18
  private _handleColorClicked;
19
+ private _toggleColorItem;
13
20
  private _handleColorClickedForMultipleMode;
14
21
  private _handleColorClickedForSingleMode;
15
22
  private _toggleSelectedAttribute;
16
23
  private _isColorAlreadyExistInArray;
17
24
  private _removeExistingColorFromArray;
18
- private _dispatchColorSelectEvent;
19
- private _setColorsDispatchValue;
20
- private _getOnlyColorValues;
25
+ private _dispatchColorChangeEvent;
26
+ protected render(): TemplateResult;
21
27
  }
@@ -1,8 +1,11 @@
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';
5
- import { COLOR_SWATCHES_EVENT_NAMES, COLOR_ITEM_TAG_NAME, COLOR_SWATCHES_CSS_CLASSES, COLOR_SWATCHES_HIDDEN_ATTRIBUTE } from './color_swatches_constants.js';
7
+ import 'lit-html';
8
+ import { COLOR_SWATCHES_EVENT_NAMES, COLOR_ITEM_TAG_NAME, COLOR_SWATCHES_CSS_CLASSES, COLOR_SWATCHES_TAG_NAME, 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';
8
11
 
@@ -11,43 +14,75 @@ 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));
37
66
  this.classList.add(COLOR_SWATCHES_CSS_CLASSES.colorSwatches);
38
67
  }
39
68
  _hideItems(numberOfVisibleColors) {
40
- this.querySelectorAll(COLOR_ITEM_TAG_NAME).forEach(($colorItem, index) => {
69
+ var _a;
70
+ this._$colorSwatchesChildren = (_a = document.querySelector(COLOR_SWATCHES_TAG_NAME)) === null || _a === void 0 ? void 0 : _a.children;
71
+ if (!this._$colorSwatchesChildren)
72
+ return;
73
+ Array.from(this._$colorSwatchesChildren).forEach(($colorSwatchesChild, index) => {
41
74
  if (index > numberOfVisibleColors - 1) {
42
- $colorItem.setAttribute(COLOR_SWATCHES_HIDDEN_ATTRIBUTE, '');
75
+ $colorSwatchesChild.setAttribute(COLOR_SWATCHES_HIDDEN_ATTRIBUTE, '');
43
76
  }
44
77
  });
45
78
  }
46
79
  _showAllItemsEvent() {
47
80
  this.addEventListener(SHOW_MORE_EVENT_NAMES.showMore, () => {
48
81
  var _a;
49
- this.querySelectorAll(COLOR_ITEM_TAG_NAME).forEach(($colorItem) => {
50
- $colorItem.removeAttribute(COLOR_SWATCHES_HIDDEN_ATTRIBUTE);
82
+ if (!this._$colorSwatchesChildren)
83
+ return;
84
+ Array.from(this._$colorSwatchesChildren).forEach(($colorSwatchesChild) => {
85
+ $colorSwatchesChild.removeAttribute(COLOR_SWATCHES_HIDDEN_ATTRIBUTE);
51
86
  });
52
87
  (_a = this.querySelector('h-color-swatches-show-more')) === null || _a === void 0 ? void 0 : _a.setAttribute(COLOR_SWATCHES_HIDDEN_ATTRIBUTE, '');
53
88
  });
@@ -55,12 +90,14 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
55
90
  _setupEvents() {
56
91
  this.addEventListener(COLOR_ITEM_EVENT_NAMES.selected, this._handleColorClicked);
57
92
  }
93
+ _toggleColorItem($colorItem) {
94
+ this.multiple ? this._handleColorClickedForMultipleMode($colorItem) : this._handleColorClickedForSingleMode($colorItem);
95
+ }
58
96
  _handleColorClickedForMultipleMode($colorItem) {
59
97
  !this._isColorAlreadyExistInArray($colorItem)
60
98
  ? (this.selectedColors = [...this.selectedColors, $colorItem])
61
99
  : this._removeExistingColorFromArray($colorItem);
62
100
  this._toggleSelectedAttribute($colorItem);
63
- this._dispatchColorSelectEvent();
64
101
  }
65
102
  _handleColorClickedForSingleMode($colorItem) {
66
103
  const $previouslySelected = this.selectedColors[0];
@@ -68,7 +105,6 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
68
105
  if ($previouslySelected && $previouslySelected !== $colorItem)
69
106
  $previouslySelected.removeAttribute(COLOR_ITEM_SELECTED_ATTRIBUTE);
70
107
  this.selectedColors = $previouslySelected === $colorItem ? [] : [$colorItem];
71
- this._dispatchColorSelectEvent();
72
108
  }
73
109
  _toggleSelectedAttribute($colorItem) {
74
110
  $colorItem.hasAttribute(COLOR_ITEM_SELECTED_ATTRIBUTE)
@@ -82,15 +118,12 @@ let HColorSwatches = class HColorSwatches extends PhoenixLightLitElement {
82
118
  const indexOfAlreadyExistingColor = this.selectedColors.indexOf($colorItem);
83
119
  this.selectedColors.splice(indexOfAlreadyExistingColor, 1);
84
120
  }
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);
121
+ render() {
122
+ return html `
123
+ ${this.getSlot('default')}
124
+ ${this._$colors.length > this.numberOfVisibleColors &&
125
+ html `<h-color-swatches-show-more>${this.showMoreBtnText}</h-color-swatches-show-more>`}
126
+ `;
94
127
  }
95
128
  };
96
129
  __decorate([
@@ -102,9 +135,13 @@ __decorate([
102
135
  __metadata("design:type", Number)
103
136
  ], HColorSwatches.prototype, "numberOfVisibleColors", void 0);
104
137
  __decorate([
105
- state(),
138
+ property(),
106
139
  __metadata("design:type", Array)
107
140
  ], HColorSwatches.prototype, "selectedColors", void 0);
141
+ __decorate([
142
+ property({ type: String, attribute: 'show-more-btn-text' }),
143
+ __metadata("design:type", Object)
144
+ ], HColorSwatches.prototype, "showMoreBtnText", void 0);
108
145
  HColorSwatches = __decorate([
109
146
  phoenixCustomElement('h-color-swatches')
110
147
  ], HColorSwatches);