@abcagency/hc-ui-components 1.4.23 → 1.5.2
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/contexts/mapListContext.js +12 -1
- package/dist/contexts/mapListContext.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js +34 -21
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +103 -30
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +12 -4
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +37 -15
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +9 -8
- package/dist/packages/hc-ui-components/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js +8 -6
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js +5 -4
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js +5 -3
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js +24 -3
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js +9 -9
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js +6 -4
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js +4 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js +6 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js +17 -6
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js +4 -2
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js +8 -5
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js +77 -31
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js +46 -38
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js +2 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +39 -15
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-previous/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js +16 -16
- package/dist/packages/hc-ui-components/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js +8086 -7852
- package/dist/packages/hc-ui-components/node_modules/@react-google-maps/api/dist/esm.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/@remix-run/router/dist/router.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/react-virtual/dist/esm/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js +213 -152
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js +6 -2
- package/dist/packages/hc-ui-components/node_modules/@tanstack/virtual-core/dist/esm/utils.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js +3 -2
- package/dist/packages/hc-ui-components/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +12 -8
- package/dist/packages/hc-ui-components/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js +6 -6
- package/dist/packages/hc-ui-components/node_modules/react-router/dist/index.js.map +1 -1
- package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js +7 -7
- package/dist/packages/hc-ui-components/node_modules/react-router-dom/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/contexts/mapListContext.tsx +13 -1
|
@@ -13,12 +13,12 @@ import { useId } from '../../react-id/dist/index.js';
|
|
|
13
13
|
import { createPopperScope, Anchor, Content, Arrow, Root as Root2$1 } from '../../react-popper/dist/index.js';
|
|
14
14
|
import { Portal as Portal$1 } from '../../react-portal/dist/index.js';
|
|
15
15
|
import { Primitive } from '../../react-primitive/dist/index.js';
|
|
16
|
-
import {
|
|
16
|
+
import { createSlot } from '../../react-slot/dist/index.js';
|
|
17
17
|
import { useCallbackRef } from '../../react-use-callback-ref/dist/index.js';
|
|
18
18
|
import { useControllableState } from '../../react-use-controllable-state/dist/index.js';
|
|
19
19
|
import { useLayoutEffect as useLayoutEffect2 } from '../../react-use-layout-effect/dist/index.js';
|
|
20
20
|
import { usePrevious } from '../../react-use-previous/dist/index.js';
|
|
21
|
-
import {
|
|
21
|
+
import { VISUALLY_HIDDEN_STYLES } from '../../react-visually-hidden/dist/index.js';
|
|
22
22
|
import { hideOthers } from '../../../aria-hidden/dist/es2015/index.js';
|
|
23
23
|
import ReactRemoveScroll from '../../../react-remove-scroll/dist/es2015/Combination.js';
|
|
24
24
|
import { j as jsxRuntimeExports } from '../../../../../../apps/test-react-app/node_modules/react/jsx-runtime.js';
|
|
@@ -48,25 +48,28 @@ var Select = (props) => {
|
|
|
48
48
|
name,
|
|
49
49
|
autoComplete,
|
|
50
50
|
disabled,
|
|
51
|
-
required
|
|
51
|
+
required,
|
|
52
|
+
form
|
|
52
53
|
} = props;
|
|
53
54
|
const popperScope = usePopperScope(__scopeSelect);
|
|
54
55
|
const [trigger, setTrigger] = React.useState(null);
|
|
55
56
|
const [valueNode, setValueNode] = React.useState(null);
|
|
56
57
|
const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);
|
|
57
58
|
const direction = useDirection(dir);
|
|
58
|
-
const [open
|
|
59
|
+
const [open, setOpen] = useControllableState({
|
|
59
60
|
prop: openProp,
|
|
60
|
-
defaultProp: defaultOpen,
|
|
61
|
-
onChange: onOpenChange
|
|
61
|
+
defaultProp: defaultOpen ?? false,
|
|
62
|
+
onChange: onOpenChange,
|
|
63
|
+
caller: SELECT_NAME
|
|
62
64
|
});
|
|
63
65
|
const [value, setValue] = useControllableState({
|
|
64
66
|
prop: valueProp,
|
|
65
67
|
defaultProp: defaultValue,
|
|
66
|
-
onChange: onValueChange
|
|
68
|
+
onChange: onValueChange,
|
|
69
|
+
caller: SELECT_NAME
|
|
67
70
|
});
|
|
68
71
|
const triggerPointerDownPosRef = React.useRef(null);
|
|
69
|
-
const isFormControl = trigger ?
|
|
72
|
+
const isFormControl = trigger ? form || !!trigger.closest("form") : true;
|
|
70
73
|
const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());
|
|
71
74
|
const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
|
|
72
75
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Root2$1, { ...popperScope, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -107,7 +110,7 @@ var Select = (props) => {
|
|
|
107
110
|
}
|
|
108
111
|
) }),
|
|
109
112
|
isFormControl ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
110
|
-
|
|
113
|
+
SelectBubbleInput,
|
|
111
114
|
{
|
|
112
115
|
"aria-hidden": true,
|
|
113
116
|
required,
|
|
@@ -117,6 +120,7 @@ var Select = (props) => {
|
|
|
117
120
|
value,
|
|
118
121
|
onChange: (event) => setValue(event.target.value),
|
|
119
122
|
disabled,
|
|
123
|
+
form,
|
|
120
124
|
children: [
|
|
121
125
|
value === void 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("option", { value: "" }) : null,
|
|
122
126
|
Array.from(nativeOptionsSet)
|
|
@@ -138,6 +142,7 @@ var SelectTrigger = React.forwardRef(
|
|
|
138
142
|
const isDisabled = context.disabled || disabled;
|
|
139
143
|
const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);
|
|
140
144
|
const getItems = useCollection(__scopeSelect);
|
|
145
|
+
const pointerTypeRef = React.useRef("touch");
|
|
141
146
|
const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {
|
|
142
147
|
const enabledItems = getItems().filter((item) => !item.disabled);
|
|
143
148
|
const currentItem = enabledItems.find((item) => item.value === context.value);
|
|
@@ -146,11 +151,17 @@ var SelectTrigger = React.forwardRef(
|
|
|
146
151
|
context.onValueChange(nextItem.value);
|
|
147
152
|
}
|
|
148
153
|
});
|
|
149
|
-
const handleOpen = () => {
|
|
154
|
+
const handleOpen = (pointerEvent) => {
|
|
150
155
|
if (!isDisabled) {
|
|
151
156
|
context.onOpenChange(true);
|
|
152
157
|
resetTypeahead();
|
|
153
158
|
}
|
|
159
|
+
if (pointerEvent) {
|
|
160
|
+
context.triggerPointerDownPosRef.current = {
|
|
161
|
+
x: Math.round(pointerEvent.pageX),
|
|
162
|
+
y: Math.round(pointerEvent.pageY)
|
|
163
|
+
};
|
|
164
|
+
}
|
|
154
165
|
};
|
|
155
166
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
156
167
|
Primitive.button,
|
|
@@ -170,18 +181,18 @@ var SelectTrigger = React.forwardRef(
|
|
|
170
181
|
ref: composedRefs,
|
|
171
182
|
onClick: composeEventHandlers(triggerProps.onClick, (event) => {
|
|
172
183
|
event.currentTarget.focus();
|
|
184
|
+
if (pointerTypeRef.current !== "mouse") {
|
|
185
|
+
handleOpen(event);
|
|
186
|
+
}
|
|
173
187
|
}),
|
|
174
188
|
onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {
|
|
189
|
+
pointerTypeRef.current = event.pointerType;
|
|
175
190
|
const target = event.target;
|
|
176
191
|
if (target.hasPointerCapture(event.pointerId)) {
|
|
177
192
|
target.releasePointerCapture(event.pointerId);
|
|
178
193
|
}
|
|
179
|
-
if (event.button === 0 && event.ctrlKey === false) {
|
|
180
|
-
handleOpen();
|
|
181
|
-
context.triggerPointerDownPosRef.current = {
|
|
182
|
-
x: Math.round(event.pageX),
|
|
183
|
-
y: Math.round(event.pageY)
|
|
184
|
-
};
|
|
194
|
+
if (event.button === 0 && event.ctrlKey === false && event.pointerType === "mouse") {
|
|
195
|
+
handleOpen(event);
|
|
185
196
|
event.preventDefault();
|
|
186
197
|
}
|
|
187
198
|
}),
|
|
@@ -258,6 +269,7 @@ SelectContent.displayName = CONTENT_NAME;
|
|
|
258
269
|
var CONTENT_MARGIN = 10;
|
|
259
270
|
var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);
|
|
260
271
|
var CONTENT_IMPL_NAME = "SelectContentImpl";
|
|
272
|
+
var Slot = createSlot("SelectContent.RemoveScroll");
|
|
261
273
|
var SelectContentImpl = React.forwardRef(
|
|
262
274
|
(props, forwardedRef) => {
|
|
263
275
|
const {
|
|
@@ -516,7 +528,15 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
|
|
|
516
528
|
const minContentWidth = triggerRect.width + leftDelta;
|
|
517
529
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
518
530
|
const rightEdge = window.innerWidth - CONTENT_MARGIN;
|
|
519
|
-
const clampedLeft = clamp(left, [
|
|
531
|
+
const clampedLeft = clamp(left, [
|
|
532
|
+
CONTENT_MARGIN,
|
|
533
|
+
// Prevents the content from going off the starting edge of the
|
|
534
|
+
// viewport. It may still go off the ending edge, but this can be
|
|
535
|
+
// controlled by the user since they may want to manage overflow in a
|
|
536
|
+
// specific way.
|
|
537
|
+
// https://github.com/radix-ui/primitives/issues/2049
|
|
538
|
+
Math.max(CONTENT_MARGIN, rightEdge - contentWidth)
|
|
539
|
+
]);
|
|
520
540
|
contentWrapper.style.minWidth = minContentWidth + "px";
|
|
521
541
|
contentWrapper.style.left = clampedLeft + "px";
|
|
522
542
|
} else {
|
|
@@ -526,7 +546,10 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
|
|
|
526
546
|
const minContentWidth = triggerRect.width + rightDelta;
|
|
527
547
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
528
548
|
const leftEdge = window.innerWidth - CONTENT_MARGIN;
|
|
529
|
-
const clampedRight = clamp(right, [
|
|
549
|
+
const clampedRight = clamp(right, [
|
|
550
|
+
CONTENT_MARGIN,
|
|
551
|
+
Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
|
|
552
|
+
]);
|
|
530
553
|
contentWrapper.style.minWidth = minContentWidth + "px";
|
|
531
554
|
contentWrapper.style.right = clampedRight + "px";
|
|
532
555
|
}
|
|
@@ -551,7 +574,7 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
|
|
|
551
574
|
const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
|
|
552
575
|
const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
|
|
553
576
|
if (willAlignWithoutTopOverflow) {
|
|
554
|
-
const isLastItem = selectedItem === items[items.length - 1].ref.current;
|
|
577
|
+
const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;
|
|
555
578
|
contentWrapper.style.bottom = "0px";
|
|
556
579
|
const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
|
|
557
580
|
const clampedTriggerMiddleToBottomEdge = Math.max(
|
|
@@ -562,7 +585,7 @@ var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
|
|
|
562
585
|
const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
|
|
563
586
|
contentWrapper.style.height = height + "px";
|
|
564
587
|
} else {
|
|
565
|
-
const isFirstItem = selectedItem === items[0].ref.current;
|
|
588
|
+
const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;
|
|
566
589
|
contentWrapper.style.top = "0px";
|
|
567
590
|
const clampedTopEdgeToTriggerMiddle = Math.max(
|
|
568
591
|
topEdgeToTriggerMiddle,
|
|
@@ -710,7 +733,11 @@ var SelectViewport = React.forwardRef(
|
|
|
710
733
|
// (independent of the scrollUpButton).
|
|
711
734
|
position: "relative",
|
|
712
735
|
flex: 1,
|
|
713
|
-
|
|
736
|
+
// Viewport should only be scrollable in the vertical direction.
|
|
737
|
+
// This won't work in vertical writing modes, so we'll need to
|
|
738
|
+
// revisit this if/when that is supported
|
|
739
|
+
// https://developer.chrome.com/blog/vertical-form-controls
|
|
740
|
+
overflow: "hidden auto",
|
|
714
741
|
...viewportProps.style
|
|
715
742
|
},
|
|
716
743
|
onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {
|
|
@@ -783,6 +810,7 @@ var SelectItem = React.forwardRef(
|
|
|
783
810
|
(node) => contentContext.itemRefCallback?.(node, value, disabled)
|
|
784
811
|
);
|
|
785
812
|
const textId = useId();
|
|
813
|
+
const pointerTypeRef = React.useRef("touch");
|
|
786
814
|
const handleSelect = () => {
|
|
787
815
|
if (!disabled) {
|
|
788
816
|
context.onValueChange(value);
|
|
@@ -827,11 +855,20 @@ var SelectItem = React.forwardRef(
|
|
|
827
855
|
ref: composedRefs,
|
|
828
856
|
onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),
|
|
829
857
|
onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),
|
|
830
|
-
|
|
858
|
+
onClick: composeEventHandlers(itemProps.onClick, () => {
|
|
859
|
+
if (pointerTypeRef.current !== "mouse") handleSelect();
|
|
860
|
+
}),
|
|
861
|
+
onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {
|
|
862
|
+
if (pointerTypeRef.current === "mouse") handleSelect();
|
|
863
|
+
}),
|
|
864
|
+
onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {
|
|
865
|
+
pointerTypeRef.current = event.pointerType;
|
|
866
|
+
}),
|
|
831
867
|
onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {
|
|
868
|
+
pointerTypeRef.current = event.pointerType;
|
|
832
869
|
if (disabled) {
|
|
833
870
|
contentContext.onItemLeave?.();
|
|
834
|
-
} else {
|
|
871
|
+
} else if (pointerTypeRef.current === "mouse") {
|
|
835
872
|
event.currentTarget.focus({ preventScroll: true });
|
|
836
873
|
}
|
|
837
874
|
}),
|
|
@@ -1024,17 +1061,15 @@ var SelectArrow = React.forwardRef(
|
|
|
1024
1061
|
}
|
|
1025
1062
|
);
|
|
1026
1063
|
SelectArrow.displayName = ARROW_NAME;
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
}
|
|
1030
|
-
var BubbleSelect = React.forwardRef(
|
|
1031
|
-
(props, forwardedRef) => {
|
|
1032
|
-
const { value, ...selectProps } = props;
|
|
1064
|
+
var BUBBLE_INPUT_NAME = "SelectBubbleInput";
|
|
1065
|
+
var SelectBubbleInput = React.forwardRef(
|
|
1066
|
+
({ __scopeSelect, value, ...props }, forwardedRef) => {
|
|
1033
1067
|
const ref = React.useRef(null);
|
|
1034
1068
|
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
1035
1069
|
const prevValue = usePrevious(value);
|
|
1036
1070
|
React.useEffect(() => {
|
|
1037
1071
|
const select = ref.current;
|
|
1072
|
+
if (!select) return;
|
|
1038
1073
|
const selectProto = window.HTMLSelectElement.prototype;
|
|
1039
1074
|
const descriptor = Object.getOwnPropertyDescriptor(
|
|
1040
1075
|
selectProto,
|
|
@@ -1047,10 +1082,21 @@ var BubbleSelect = React.forwardRef(
|
|
|
1047
1082
|
select.dispatchEvent(event);
|
|
1048
1083
|
}
|
|
1049
1084
|
}, [prevValue, value]);
|
|
1050
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1085
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
1086
|
+
Primitive.select,
|
|
1087
|
+
{
|
|
1088
|
+
...props,
|
|
1089
|
+
style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },
|
|
1090
|
+
ref: composedRefs,
|
|
1091
|
+
defaultValue: value
|
|
1092
|
+
}
|
|
1093
|
+
);
|
|
1051
1094
|
}
|
|
1052
1095
|
);
|
|
1053
|
-
|
|
1096
|
+
SelectBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
1097
|
+
function shouldShowPlaceholder(value) {
|
|
1098
|
+
return value === "" || value === void 0;
|
|
1099
|
+
}
|
|
1054
1100
|
function useTypeaheadSearch(onSearchChange) {
|
|
1055
1101
|
const handleSearchChange = useCallbackRef(onSearchChange);
|
|
1056
1102
|
const searchRef = React.useRef("");
|