code7-leia 0.1.122 → 0.1.124

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.
@@ -986,6 +986,9 @@ var MultiSelect = function MultiSelect(_ref) {
986
986
  var _useState = React.useState(false),
987
987
  expanded = _useState[0],
988
988
  setExpanded = _useState[1];
989
+ var _useState2 = React.useState(''),
990
+ newOption = _useState2[0],
991
+ setNewOption = _useState2[1];
989
992
  var handleCheckboxChange = function handleCheckboxChange(value) {
990
993
  setPresset(function (prevPresset) {
991
994
  if (prevPresset.includes(value)) {
@@ -998,15 +1001,39 @@ var MultiSelect = function MultiSelect(_ref) {
998
1001
  });
999
1002
  };
1000
1003
  var showCheckboxes = function showCheckboxes() {
1001
- if (!expanded) {
1002
- setExpanded(true);
1003
- } else {
1004
- setExpanded(false);
1004
+ setExpanded(!expanded);
1005
+ };
1006
+ var handleInputChange = function handleInputChange(event) {
1007
+ setNewOption(event.target.value);
1008
+ };
1009
+ var handleInputKeyPress = function handleInputKeyPress(event) {
1010
+ if (event.key === 'Enter') {
1011
+ event.preventDefault();
1012
+ var trimmedOption = newOption.trim();
1013
+ if (trimmedOption !== '' && !options.some(function (option) {
1014
+ return option.value === trimmedOption;
1015
+ })) {
1016
+ setPresset(function (prevPresset) {
1017
+ return [].concat(prevPresset, [trimmedOption]);
1018
+ });
1019
+ }
1020
+ setNewOption('');
1005
1021
  }
1006
1022
  };
1007
1023
  return React__default.createElement("form", null, React__default.createElement(MultiSelectWrapper, null, React__default.createElement(SelectBox, {
1008
1024
  onClick: showCheckboxes
1009
- }, React__default.createElement("select", null, React__default.createElement("option", null, "Select an option")), React__default.createElement(OverSelect, null)), React__default.createElement(Checkboxes, {
1025
+ }, React__default.createElement("select", null, presset.map(function (option, index) {
1026
+ return React__default.createElement("option", {
1027
+ key: index,
1028
+ value: option
1029
+ }, option);
1030
+ })), React__default.createElement(OverSelect, null, React__default.createElement("input", {
1031
+ type: "text",
1032
+ placeholder: "Add new option",
1033
+ value: newOption,
1034
+ onChange: handleInputChange,
1035
+ onKeyPress: handleInputKeyPress
1036
+ }))), React__default.createElement(Checkboxes, {
1010
1037
  style: {
1011
1038
  display: expanded ? 'block' : 'none'
1012
1039
  }