@mw-kit/mw-ui 1.7.93 → 1.7.94

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.
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { useSelectReturn } from '../interfaces';
3
- import { Option, SelectProps } from './interfaces';
4
- declare const useSelect: (props: SelectProps, [highlight, setHighlight]: [number, React.Dispatch<React.SetStateAction<number>>], [options, setOptions]: [Option[], React.Dispatch<React.SetStateAction<Option[]>>], setOpen: React.Dispatch<React.SetStateAction<boolean>>) => useSelectReturn;
1
+ import { useSelect } from '../interfaces';
2
+ import { SelectProps } from './interfaces';
3
+ declare const useSelect: useSelect<SelectProps>;
5
4
  export default useSelect;
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import { useSelectReturn } from '../interfaces';
3
- import { Option, SelectProps } from './interfaces';
4
- declare const useSelectMultiple: (props: SelectProps, [highlight, setHighlight]: [number, React.Dispatch<React.SetStateAction<number>>], [options, setOptions]: [Option[], React.Dispatch<React.SetStateAction<Option[]>>], _setOpen: React.Dispatch<React.SetStateAction<boolean>>) => useSelectReturn;
1
+ import { useSelect } from '../interfaces';
2
+ import { SelectProps } from './interfaces';
3
+ declare const useSelectMultiple: useSelect<SelectProps>;
5
4
  export default useSelectMultiple;
@@ -48,4 +48,5 @@ export interface useSelectReturn {
48
48
  onClear?: () => void;
49
49
  dirty?: InputProps['dirty'];
50
50
  }
51
+ export declare type useSelect<Props extends CommonProps> = (props: Props, highlight: [number, React.Dispatch<React.SetStateAction<number>>], options: [Option[], React.Dispatch<React.SetStateAction<Option[]>>], setOpen: React.Dispatch<React.SetStateAction<boolean>>) => useSelectReturn;
51
52
  export {};
@@ -24,7 +24,11 @@ export interface CommonProps extends Omit<AbsoluteContainerProps, 'children' | '
24
24
  export interface MenuProps<T extends GenericObject = GenericObject> extends CommonProps, Pick<ScrollContainerProps, 'onScrollEnd' | 'loading' | 'before' | 'after'> {
25
25
  open: boolean;
26
26
  close: () => void;
27
- options: Option<T>[];
27
+ options: (Option<T> & {
28
+ labelComponent?: OptionLabelComponent<T>;
29
+ onClick?: (index: number, option: T, event: React.MouseEvent) => void;
30
+ rules?: Rule<T>[];
31
+ })[];
28
32
  scrollSpacing?: ScrollContainerProps['spacing'];
29
33
  scrollTabIndex?: number;
30
34
  emptyContent?: ReactNode;
package/dist/index.js CHANGED
@@ -13041,8 +13041,6 @@ var MenuComponent = function MenuComponent(props, ref) {
13041
13041
  var absoluteContainerProps = filterObject(props, ['scrollSpacing', 'scrollTabIndex', 'label', 'rules', 'onClickOption', 'onScrollEnd', 'before', 'after', 'close', 'options', 'loading', 'children', 'emptyContent', 'highlight'], {
13042
13042
  itemSpacing: 's1'
13043
13043
  });
13044
- var rules = props.rules || [];
13045
- var LabelComponent = props.label || EmptyLabel;
13046
13044
  return React__default.createElement(Container$2, Object.assign({}, absoluteContainerProps, {
13047
13045
  ref: ref
13048
13046
  }), React__default.createElement(React__default.Fragment, null, React__default.createElement(ScrollContainer, {
@@ -13074,14 +13072,14 @@ var MenuComponent = function MenuComponent(props, ref) {
13074
13072
  };
13075
13073
 
13076
13074
  if (!disabled) {
13077
- var rule = rules.map(function (rule) {
13075
+ var rule = (option.rules || props.rules || []).map(function (rule) {
13078
13076
  return rule(index, data);
13079
13077
  }).find(function (result) {
13080
13078
  return result !== true;
13081
13079
  });
13082
13080
 
13083
13081
  if (rule === true || rule === undefined) {
13084
- var _onClick = props.onClickOption || function () {};
13082
+ var _onClick = option.onClick || props.onClickOption || function () {};
13085
13083
 
13086
13084
  onClick = function onClick(e) {
13087
13085
  _onClick(index, option.data, e);
@@ -13114,6 +13112,7 @@ var MenuComponent = function MenuComponent(props, ref) {
13114
13112
  }
13115
13113
 
13116
13114
  OptionContent.displayName = 'OptionContent';
13115
+ var LabelComponent = option.labelComponent || props.label || EmptyLabel;
13117
13116
  return React__default.createElement(React__default.Fragment, {
13118
13117
  key: index
13119
13118
  }, React__default.createElement(OptionContent, null, React__default.createElement(Option, {
@@ -14705,11 +14704,11 @@ var useNavigation = function useNavigation(props) {
14705
14704
  }
14706
14705
  }, [highlight, options, rules]);
14707
14706
 
14708
- var onFocus = function onFocus(e) {
14707
+ var onFocus = function onFocus() {
14709
14708
  setHighlight(0);
14710
14709
  };
14711
14710
 
14712
- var onBlur = function onBlur(e) {
14711
+ var onBlur = function onBlur() {
14713
14712
  setHighlight(-1);
14714
14713
  };
14715
14714
 
@@ -15059,7 +15058,7 @@ var parseValue = function parseValue(value) {
15059
15058
  return parsed;
15060
15059
  };
15061
15060
 
15062
- var useSelectMultiple = function useSelectMultiple(props, _ref, _ref2, _setOpen) {
15061
+ var useSelectMultiple = function useSelectMultiple(props, _ref, _ref2) {
15063
15062
  var highlight = _ref[0],
15064
15063
  setHighlight = _ref[1];
15065
15064
  var options = _ref2[0],