@choice-ui/react 1.5.5 → 1.5.6
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.
|
@@ -94,6 +94,7 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
94
94
|
const allowMouseUpRef = useRef(true);
|
|
95
95
|
const selectTimeoutRef = useRef();
|
|
96
96
|
const scrollRef = useRef(null);
|
|
97
|
+
const isMouseDownFromTriggerRef = useRef(false);
|
|
97
98
|
const refs = useMemo(
|
|
98
99
|
() => ({
|
|
99
100
|
list: listRef,
|
|
@@ -102,7 +103,8 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
102
103
|
allowSelect: allowSelectRef,
|
|
103
104
|
allowMouseUp: allowMouseUpRef,
|
|
104
105
|
selectTimeout: selectTimeoutRef,
|
|
105
|
-
scroll: scrollRef
|
|
106
|
+
scroll: scrollRef,
|
|
107
|
+
isMouseDownFromTrigger: isMouseDownFromTriggerRef
|
|
106
108
|
}),
|
|
107
109
|
[]
|
|
108
110
|
// refs are stable references, no dependencies needed
|
|
@@ -232,6 +234,7 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
232
234
|
} else {
|
|
233
235
|
refs.allowSelect.current = false;
|
|
234
236
|
refs.allowMouseUp.current = true;
|
|
237
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
235
238
|
}
|
|
236
239
|
}, [isControlledOpen]);
|
|
237
240
|
const { handleArrowScroll, handleArrowHide, scrollProps } = useMenuScroll({
|
|
@@ -319,6 +322,13 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
319
322
|
},
|
|
320
323
|
onMouseUp: () => {
|
|
321
324
|
if (!refs.allowMouseUp.current || customActive) return;
|
|
325
|
+
if (refs.isMouseDownFromTrigger.current) {
|
|
326
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
327
|
+
if (!isDisabled) {
|
|
328
|
+
handleSelect(currentSelectableIndex);
|
|
329
|
+
}
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
322
332
|
if (refs.allowSelect.current) {
|
|
323
333
|
handleSelect(currentSelectableIndex);
|
|
324
334
|
}
|
|
@@ -380,6 +390,9 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
380
390
|
onTouchStart() {
|
|
381
391
|
setTouch(true);
|
|
382
392
|
},
|
|
393
|
+
onMouseDown() {
|
|
394
|
+
refs.isMouseDownFromTrigger.current = true;
|
|
395
|
+
},
|
|
383
396
|
onPointerMove({ pointerType }) {
|
|
384
397
|
if (pointerType !== "touch") {
|
|
385
398
|
setTouch(false);
|
|
@@ -399,6 +412,9 @@ var SelectComponent = memo(function SelectComponent2(props) {
|
|
|
399
412
|
{
|
|
400
413
|
lockScroll: !touch,
|
|
401
414
|
className: tcx("z-menu", focusManagerProps.modal ? "" : "pointer-events-none"),
|
|
415
|
+
onMouseUp: () => {
|
|
416
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
417
|
+
},
|
|
402
418
|
children: /* @__PURE__ */ jsx(
|
|
403
419
|
FloatingFocusManager,
|
|
404
420
|
{
|
|
@@ -94,6 +94,7 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
94
94
|
const allowMouseUpRef = useRef(true);
|
|
95
95
|
const selectTimeoutRef = useRef();
|
|
96
96
|
const scrollRef = useRef(null);
|
|
97
|
+
const isMouseDownFromTriggerRef = useRef(false);
|
|
97
98
|
const refs = useMemo(
|
|
98
99
|
() => ({
|
|
99
100
|
list: listRef,
|
|
@@ -102,7 +103,8 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
102
103
|
allowSelect: allowSelectRef,
|
|
103
104
|
allowMouseUp: allowMouseUpRef,
|
|
104
105
|
selectTimeout: selectTimeoutRef,
|
|
105
|
-
scroll: scrollRef
|
|
106
|
+
scroll: scrollRef,
|
|
107
|
+
isMouseDownFromTrigger: isMouseDownFromTriggerRef
|
|
106
108
|
}),
|
|
107
109
|
[]
|
|
108
110
|
// refs are stable references, no dependencies needed
|
|
@@ -232,6 +234,7 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
232
234
|
} else {
|
|
233
235
|
refs.allowSelect.current = false;
|
|
234
236
|
refs.allowMouseUp.current = true;
|
|
237
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
235
238
|
}
|
|
236
239
|
}, [isControlledOpen]);
|
|
237
240
|
const { handleArrowScroll, handleArrowHide, scrollProps } = useMenuScroll({
|
|
@@ -319,6 +322,13 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
319
322
|
},
|
|
320
323
|
onMouseUp: () => {
|
|
321
324
|
if (!refs.allowMouseUp.current || customActive) return;
|
|
325
|
+
if (refs.isMouseDownFromTrigger.current) {
|
|
326
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
327
|
+
if (!isDisabled) {
|
|
328
|
+
handleSelect(currentSelectableIndex);
|
|
329
|
+
}
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
322
332
|
if (refs.allowSelect.current) {
|
|
323
333
|
handleSelect(currentSelectableIndex);
|
|
324
334
|
}
|
|
@@ -380,6 +390,9 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
380
390
|
onTouchStart() {
|
|
381
391
|
setTouch(true);
|
|
382
392
|
},
|
|
393
|
+
onMouseDown() {
|
|
394
|
+
refs.isMouseDownFromTrigger.current = true;
|
|
395
|
+
},
|
|
383
396
|
onPointerMove({ pointerType }) {
|
|
384
397
|
if (pointerType !== "touch") {
|
|
385
398
|
setTouch(false);
|
|
@@ -399,6 +412,9 @@ const SelectComponent = memo(function SelectComponent2(props) {
|
|
|
399
412
|
{
|
|
400
413
|
lockScroll: !touch,
|
|
401
414
|
className: tcx("z-menu", focusManagerProps.modal ? "" : "pointer-events-none"),
|
|
415
|
+
onMouseUp: () => {
|
|
416
|
+
refs.isMouseDownFromTrigger.current = false;
|
|
417
|
+
},
|
|
402
418
|
children: /* @__PURE__ */ jsx(
|
|
403
419
|
FloatingFocusManager,
|
|
404
420
|
{
|
package/package.json
CHANGED