@etsoo/materialui 1.0.25 → 1.0.27

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/lib/SelectEx.d.ts CHANGED
@@ -45,6 +45,10 @@ export declare type SelectExProps<T extends object, D extends DataTypes.Keys<T>
45
45
  * Item click handler
46
46
  */
47
47
  onItemClick?: (event: React.MouseEvent, option: T) => void;
48
+ /**
49
+ * Item mouse down handler
50
+ */
51
+ onItemMouseDown?: (event: React.MouseEvent, option: T) => void;
48
52
  /**
49
53
  * On load data handler
50
54
  */
package/lib/SelectEx.js CHANGED
@@ -11,7 +11,7 @@ import { Utils } from '@etsoo/shared';
11
11
  export function SelectEx(props) {
12
12
  var _a;
13
13
  // Destruct
14
- const { defaultValue, idField = 'id', error, helperText, inputRequired, itemIconRenderer, itemStyle, label, labelField = 'label', loadData, onItemChange, onItemClick, onLoadData, multiple = false, name, options, search = false, autoAddBlankItem = search, value, onChange, fullWidth, ...rest } = props;
14
+ const { defaultValue, idField = 'id', error, helperText, inputRequired, itemIconRenderer, itemStyle, label, labelField = 'label', loadData, onItemChange, onItemClick, onItemMouseDown, onLoadData, multiple = false, name, options, search = false, autoAddBlankItem = search, value, onChange, fullWidth, ...rest } = props;
15
15
  // Options state
16
16
  const [localOptions, setOptions] = React.useState([]);
17
17
  const isMounted = React.useRef(true);
@@ -159,8 +159,10 @@ export function SelectEx(props) {
159
159
  return (React.createElement(MenuItem, { key: id, value: id, onClick: (event) => {
160
160
  if (onItemClick) {
161
161
  onItemClick(event, option);
162
- if (event.defaultPrevented)
163
- return;
162
+ }
163
+ }, onMouseDown: (event) => {
164
+ if (onItemMouseDown) {
165
+ onItemMouseDown(event, option);
164
166
  }
165
167
  }, style: itemStyle == null
166
168
  ? undefined
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/materialui",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
4
4
  "description": "TypeScript Material-UI Implementation",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -53,7 +53,7 @@
53
53
  "@emotion/styled": "^11.10.4",
54
54
  "@etsoo/appscript": "^1.2.96",
55
55
  "@etsoo/notificationbase": "^1.1.7",
56
- "@etsoo/react": "^1.6.1",
56
+ "@etsoo/react": "^1.6.2",
57
57
  "@etsoo/shared": "^1.1.57",
58
58
  "@mui/icons-material": "^5.10.6",
59
59
  "@mui/material": "^5.10.6",
package/src/SelectEx.tsx CHANGED
@@ -79,6 +79,11 @@ export type SelectExProps<
79
79
  */
80
80
  onItemClick?: (event: React.MouseEvent, option: T) => void;
81
81
 
82
+ /**
83
+ * Item mouse down handler
84
+ */
85
+ onItemMouseDown?: (event: React.MouseEvent, option: T) => void;
86
+
82
87
  /**
83
88
  * On load data handler
84
89
  */
@@ -119,6 +124,7 @@ export function SelectEx<
119
124
  loadData,
120
125
  onItemChange,
121
126
  onItemClick,
127
+ onItemMouseDown,
122
128
  onLoadData,
123
129
  multiple = false,
124
130
  name,
@@ -325,7 +331,11 @@ export function SelectEx<
325
331
  onClick={(event) => {
326
332
  if (onItemClick) {
327
333
  onItemClick(event, option);
328
- if (event.defaultPrevented) return;
334
+ }
335
+ }}
336
+ onMouseDown={(event) => {
337
+ if (onItemMouseDown) {
338
+ onItemMouseDown(event, option);
329
339
  }
330
340
  }}
331
341
  style={