ywana-core8 0.0.137 → 0.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -924,7 +924,9 @@ var DropDown = function DropDown(props) {
924
924
  _props$options = props.options,
925
925
  options = _props$options === void 0 ? [] : _props$options,
926
926
  value = props.value,
927
- onChange = props.onChange;
927
+ onChange = props.onChange,
928
+ _props$canFilter = props.canFilter,
929
+ canFilter = _props$canFilter === void 0 ? false : _props$canFilter;
928
930
 
929
931
  var _useState = React.useState(false),
930
932
  open = _useState[0],
@@ -934,6 +936,9 @@ var DropDown = function DropDown(props) {
934
936
  label = _useState2[0],
935
937
  setLabel = _useState2[1];
936
938
 
939
+ var _useState3 = React.useState(),
940
+ filter = _useState3[0];
941
+
937
942
  React.useEffect(function () {
938
943
  if (Array.isArray(options)) {
939
944
  var option = options.find(function (option) {
@@ -943,6 +948,14 @@ var DropDown = function DropDown(props) {
943
948
  }
944
949
  }, [value]);
945
950
 
951
+ function change(id, value) {
952
+ if (canFilter) {
953
+ setFilter(value);
954
+ } else {
955
+ if (onChange) onChange(id, value);
956
+ }
957
+ }
958
+
946
959
  function toggle() {
947
960
  if (site) {
948
961
  site.changeFocus({
@@ -965,11 +978,20 @@ var DropDown = function DropDown(props) {
965
978
  setOpen(false);
966
979
  }
967
980
 
981
+ var items = open == true && Array.isArray(options) ? options.filter(function (option) {
982
+ return canFilter === false || filter.toUpperCase().indexOf(option.label.toUpperCase()) >= 0;
983
+ }).map(function (option) {
984
+ return /*#__PURE__*/React__default["default"].createElement("li", {
985
+ key: option.value,
986
+ value: option.value
987
+ }, option.label);
988
+ }) : null;
968
989
  return /*#__PURE__*/React__default["default"].createElement("div", {
969
990
  className: "dropdown"
970
991
  }, /*#__PURE__*/React__default["default"].createElement(TextField, _extends({}, props, {
971
992
  onClick: toggle,
972
- value: label
993
+ value: label,
994
+ onChange: change
973
995
  })), /*#__PURE__*/React__default["default"].createElement(Icon, {
974
996
  icon: "expand_more",
975
997
  clickable: true,
@@ -977,12 +999,7 @@ var DropDown = function DropDown(props) {
977
999
  action: toggle
978
1000
  }), open == true ? /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", {
979
1001
  onClick: select
980
- }, Array.isArray(options) ? options.map(function (option) {
981
- return /*#__PURE__*/React__default["default"].createElement("li", {
982
- key: option.value,
983
- value: option.value
984
- }, option.label);
985
- }) : null)) : null);
1002
+ }, items)) : null);
986
1003
  };
987
1004
 
988
1005
  var isFunction$1 = function isFunction(value) {