@tamagui/select 2.0.0-rc.4 → 2.0.0-rc.40
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/cjs/BubbleSelect.cjs +28 -23
- package/dist/cjs/BubbleSelect.native.js +12 -10
- package/dist/cjs/BubbleSelect.native.js.map +1 -1
- package/dist/cjs/Select.cjs +402 -376
- package/dist/cjs/Select.native.js +428 -414
- package/dist/cjs/Select.native.js.map +1 -1
- package/dist/cjs/SelectContent.cjs +73 -66
- package/dist/cjs/SelectContent.native.js +12 -10
- package/dist/cjs/SelectContent.native.js.map +1 -1
- package/dist/cjs/SelectImpl.cjs +239 -176
- package/dist/cjs/SelectImpl.native.js +21 -16
- package/dist/cjs/SelectImpl.native.js.map +1 -1
- package/dist/cjs/SelectItem.cjs +189 -137
- package/dist/cjs/SelectItem.native.js +211 -164
- package/dist/cjs/SelectItem.native.js.map +1 -1
- package/dist/cjs/SelectItemText.cjs +82 -68
- package/dist/cjs/SelectItemText.native.js +81 -69
- package/dist/cjs/SelectItemText.native.js.map +1 -1
- package/dist/cjs/SelectScrollButton.cjs +104 -83
- package/dist/cjs/SelectScrollButton.native.js +17 -15
- package/dist/cjs/SelectScrollButton.native.js.map +1 -1
- package/dist/cjs/SelectTrigger.cjs +81 -77
- package/dist/cjs/SelectTrigger.native.js +43 -40
- package/dist/cjs/SelectTrigger.native.js.map +1 -1
- package/dist/cjs/SelectViewport.cjs +141 -103
- package/dist/cjs/SelectViewport.native.js +39 -37
- package/dist/cjs/SelectViewport.native.js.map +1 -1
- package/dist/cjs/constants.cjs +19 -17
- package/dist/cjs/constants.native.js +19 -17
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/context.cjs +38 -27
- package/dist/cjs/context.native.js +46 -38
- package/dist/cjs/context.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/useSelectBreakpointActive.cjs +13 -11
- package/dist/cjs/useSelectBreakpointActive.native.js +17 -15
- package/dist/cjs/useSelectBreakpointActive.native.js.map +1 -1
- package/dist/esm/BubbleSelect.mjs +16 -13
- package/dist/esm/BubbleSelect.mjs.map +1 -1
- package/dist/esm/Select.mjs +356 -331
- package/dist/esm/Select.mjs.map +1 -1
- package/dist/esm/Select.native.js +381 -369
- package/dist/esm/Select.native.js.map +1 -1
- package/dist/esm/SelectContent.mjs +55 -39
- package/dist/esm/SelectContent.mjs.map +1 -1
- package/dist/esm/SelectImpl.mjs +208 -147
- package/dist/esm/SelectImpl.mjs.map +1 -1
- package/dist/esm/SelectImpl.native.js +4 -1
- package/dist/esm/SelectImpl.native.js.map +1 -1
- package/dist/esm/SelectItem.mjs +157 -107
- package/dist/esm/SelectItem.mjs.map +1 -1
- package/dist/esm/SelectItem.native.js +180 -135
- package/dist/esm/SelectItem.native.js.map +1 -1
- package/dist/esm/SelectItemText.mjs +50 -38
- package/dist/esm/SelectItemText.mjs.map +1 -1
- package/dist/esm/SelectItemText.native.js +50 -40
- package/dist/esm/SelectItemText.native.js.map +1 -1
- package/dist/esm/SelectScrollButton.mjs +74 -55
- package/dist/esm/SelectScrollButton.mjs.map +1 -1
- package/dist/esm/SelectScrollButton.native.js +5 -5
- package/dist/esm/SelectScrollButton.native.js.map +1 -1
- package/dist/esm/SelectTrigger.mjs +51 -49
- package/dist/esm/SelectTrigger.mjs.map +1 -1
- package/dist/esm/SelectTrigger.native.js +13 -12
- package/dist/esm/SelectTrigger.native.js.map +1 -1
- package/dist/esm/SelectViewport.mjs +108 -83
- package/dist/esm/SelectViewport.mjs.map +1 -1
- package/dist/esm/SelectViewport.native.js +7 -7
- package/dist/esm/SelectViewport.native.js.map +1 -1
- package/dist/esm/constants.mjs +7 -7
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +7 -7
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/context.mjs +22 -14
- package/dist/esm/context.mjs.map +1 -1
- package/dist/esm/context.native.js +30 -25
- package/dist/esm/context.native.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/useSelectBreakpointActive.mjs +1 -1
- package/dist/esm/useSelectBreakpointActive.mjs.map +1 -1
- package/dist/esm/useSelectBreakpointActive.native.js +1 -1
- package/dist/esm/useSelectBreakpointActive.native.js.map +1 -1
- package/dist/jsx/BubbleSelect.mjs +16 -13
- package/dist/jsx/BubbleSelect.mjs.map +1 -1
- package/dist/jsx/BubbleSelect.native.js +12 -10
- package/dist/jsx/BubbleSelect.native.js.map +1 -1
- package/dist/jsx/Select.mjs +356 -331
- package/dist/jsx/Select.mjs.map +1 -1
- package/dist/jsx/Select.native.js +428 -414
- package/dist/jsx/Select.native.js.map +1 -1
- package/dist/jsx/SelectContent.mjs +55 -39
- package/dist/jsx/SelectContent.mjs.map +1 -1
- package/dist/jsx/SelectContent.native.js +12 -10
- package/dist/jsx/SelectContent.native.js.map +1 -1
- package/dist/jsx/SelectImpl.mjs +208 -147
- package/dist/jsx/SelectImpl.mjs.map +1 -1
- package/dist/jsx/SelectImpl.native.js +21 -16
- package/dist/jsx/SelectImpl.native.js.map +1 -1
- package/dist/jsx/SelectItem.mjs +157 -107
- package/dist/jsx/SelectItem.mjs.map +1 -1
- package/dist/jsx/SelectItem.native.js +211 -164
- package/dist/jsx/SelectItem.native.js.map +1 -1
- package/dist/jsx/SelectItemText.mjs +50 -38
- package/dist/jsx/SelectItemText.mjs.map +1 -1
- package/dist/jsx/SelectItemText.native.js +81 -69
- package/dist/jsx/SelectItemText.native.js.map +1 -1
- package/dist/jsx/SelectScrollButton.mjs +74 -55
- package/dist/jsx/SelectScrollButton.mjs.map +1 -1
- package/dist/jsx/SelectScrollButton.native.js +17 -15
- package/dist/jsx/SelectScrollButton.native.js.map +1 -1
- package/dist/jsx/SelectTrigger.mjs +51 -49
- package/dist/jsx/SelectTrigger.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.native.js +43 -40
- package/dist/jsx/SelectTrigger.native.js.map +1 -1
- package/dist/jsx/SelectViewport.mjs +108 -83
- package/dist/jsx/SelectViewport.mjs.map +1 -1
- package/dist/jsx/SelectViewport.native.js +39 -37
- package/dist/jsx/SelectViewport.native.js.map +1 -1
- package/dist/jsx/constants.mjs +7 -7
- package/dist/jsx/constants.mjs.map +1 -1
- package/dist/jsx/constants.native.js +19 -17
- package/dist/jsx/constants.native.js.map +1 -1
- package/dist/jsx/context.mjs +22 -14
- package/dist/jsx/context.mjs.map +1 -1
- package/dist/jsx/context.native.js +46 -38
- package/dist/jsx/context.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -6
- package/dist/jsx/index.native.js +7 -5
- package/dist/jsx/types.native.js +7 -5
- package/dist/jsx/useSelectBreakpointActive.mjs +1 -1
- package/dist/jsx/useSelectBreakpointActive.mjs.map +1 -1
- package/dist/jsx/useSelectBreakpointActive.native.js +17 -15
- package/dist/jsx/useSelectBreakpointActive.native.js.map +1 -1
- package/package.json +31 -35
- package/src/Select.tsx +16 -1
- package/src/SelectContent.tsx +47 -36
- package/src/SelectImpl.tsx +51 -49
- package/src/SelectItem.tsx +17 -7
- package/src/SelectScrollButton.tsx +1 -1
- package/src/SelectTrigger.tsx +1 -1
- package/src/SelectViewport.tsx +42 -22
- package/src/context.tsx +4 -0
- package/src/types.tsx +44 -4
- package/types/Select.d.ts +2 -2
- package/types/Select.d.ts.map +1 -1
- package/types/SelectContent.d.ts +1 -1
- package/types/SelectContent.d.ts.map +1 -1
- package/types/SelectImpl.d.ts.map +1 -1
- package/types/SelectItem.d.ts.map +1 -1
- package/types/SelectTrigger.d.ts +1 -1
- package/types/SelectViewport.d.ts.map +1 -1
- package/types/context.d.ts +1 -0
- package/types/context.d.ts.map +1 -1
- package/types/types.d.ts +33 -3
- package/types/types.d.ts.map +1 -1
- package/dist/cjs/BubbleSelect.js +0 -34
- package/dist/cjs/BubbleSelect.js.map +0 -6
- package/dist/cjs/Select.js +0 -402
- package/dist/cjs/Select.js.map +0 -6
- package/dist/cjs/SelectContent.js +0 -57
- package/dist/cjs/SelectContent.js.map +0 -6
- package/dist/cjs/SelectImpl.js +0 -222
- package/dist/cjs/SelectImpl.js.map +0 -6
- package/dist/cjs/SelectItem.js +0 -166
- package/dist/cjs/SelectItem.js.map +0 -6
- package/dist/cjs/SelectItemText.js +0 -64
- package/dist/cjs/SelectItemText.js.map +0 -6
- package/dist/cjs/SelectScrollButton.js +0 -105
- package/dist/cjs/SelectScrollButton.js.map +0 -6
- package/dist/cjs/SelectTrigger.js +0 -81
- package/dist/cjs/SelectTrigger.js.map +0 -6
- package/dist/cjs/SelectViewport.js +0 -114
- package/dist/cjs/SelectViewport.js.map +0 -6
- package/dist/cjs/constants.js +0 -27
- package/dist/cjs/constants.js.map +0 -6
- package/dist/cjs/context.js +0 -33
- package/dist/cjs/context.js.map +0 -6
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/useSelectBreakpointActive.js +0 -25
- package/dist/cjs/useSelectBreakpointActive.js.map +0 -6
- package/dist/esm/BubbleSelect.js +0 -17
- package/dist/esm/BubbleSelect.js.map +0 -6
- package/dist/esm/Select.js +0 -412
- package/dist/esm/Select.js.map +0 -6
- package/dist/esm/SelectContent.js +0 -39
- package/dist/esm/SelectContent.js.map +0 -6
- package/dist/esm/SelectImpl.js +0 -223
- package/dist/esm/SelectImpl.js.map +0 -6
- package/dist/esm/SelectItem.js +0 -148
- package/dist/esm/SelectItem.js.map +0 -6
- package/dist/esm/SelectItemText.js +0 -46
- package/dist/esm/SelectItemText.js.map +0 -6
- package/dist/esm/SelectScrollButton.js +0 -87
- package/dist/esm/SelectScrollButton.js.map +0 -6
- package/dist/esm/SelectTrigger.js +0 -61
- package/dist/esm/SelectTrigger.js.map +0 -6
- package/dist/esm/SelectViewport.js +0 -112
- package/dist/esm/SelectViewport.js.map +0 -6
- package/dist/esm/constants.js +0 -11
- package/dist/esm/constants.js.map +0 -6
- package/dist/esm/context.js +0 -19
- package/dist/esm/context.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/useSelectBreakpointActive.js +0 -9
- package/dist/esm/useSelectBreakpointActive.js.map +0 -6
- package/dist/jsx/BubbleSelect.js +0 -17
- package/dist/jsx/BubbleSelect.js.map +0 -6
- package/dist/jsx/Select.js +0 -412
- package/dist/jsx/Select.js.map +0 -6
- package/dist/jsx/SelectContent.js +0 -39
- package/dist/jsx/SelectContent.js.map +0 -6
- package/dist/jsx/SelectImpl.js +0 -223
- package/dist/jsx/SelectImpl.js.map +0 -6
- package/dist/jsx/SelectItem.js +0 -148
- package/dist/jsx/SelectItem.js.map +0 -6
- package/dist/jsx/SelectItemText.js +0 -46
- package/dist/jsx/SelectItemText.js.map +0 -6
- package/dist/jsx/SelectScrollButton.js +0 -87
- package/dist/jsx/SelectScrollButton.js.map +0 -6
- package/dist/jsx/SelectTrigger.js +0 -61
- package/dist/jsx/SelectTrigger.js.map +0 -6
- package/dist/jsx/SelectViewport.js +0 -112
- package/dist/jsx/SelectViewport.js.map +0 -6
- package/dist/jsx/constants.js +0 -11
- package/dist/jsx/constants.js.map +0 -6
- package/dist/jsx/context.js +0 -19
- package/dist/jsx/context.js.map +0 -6
- package/dist/jsx/types.js +0 -1
- package/dist/jsx/types.js.map +0 -6
- package/dist/jsx/useSelectBreakpointActive.js +0 -9
- package/dist/jsx/useSelectBreakpointActive.js.map +0 -6
package/dist/esm/SelectImpl.js
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
autoUpdate,
|
|
3
|
-
inner,
|
|
4
|
-
offset,
|
|
5
|
-
size,
|
|
6
|
-
useClick,
|
|
7
|
-
useDismiss,
|
|
8
|
-
useFloating,
|
|
9
|
-
useInnerOffset,
|
|
10
|
-
useInteractions,
|
|
11
|
-
useListNavigation,
|
|
12
|
-
useRole,
|
|
13
|
-
useTypeahead
|
|
14
|
-
} from "@floating-ui/react";
|
|
15
|
-
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
16
|
-
import { useEvent, useIsTouchDevice } from "@tamagui/core";
|
|
17
|
-
import * as React from "react";
|
|
18
|
-
import { flushSync } from "react-dom";
|
|
19
|
-
import { SCROLL_ARROW_THRESHOLD } from "./constants";
|
|
20
|
-
import {
|
|
21
|
-
SelectItemParentProvider,
|
|
22
|
-
SelectProvider,
|
|
23
|
-
useSelectContext,
|
|
24
|
-
useSelectItemParentContext
|
|
25
|
-
} from "./context";
|
|
26
|
-
import { jsx } from "react/jsx-runtime";
|
|
27
|
-
const SelectInlineImpl = (props) => {
|
|
28
|
-
const { scope, children, open = !1, listContentRef, setActiveIndexFast } = props, selectContext = useSelectContext(scope), selectItemParentContext = useSelectItemParentContext(scope), { setActiveIndex, selectedIndex, activeIndexRef } = selectContext, { setOpen, setSelectedIndex } = selectItemParentContext, [scrollTop, setScrollTop] = React.useState(0), touch = useIsTouchDevice(), listItemsRef = React.useRef([]), overflowRef = React.useRef(null), upArrowRef = React.useRef(null), downArrowRef = React.useRef(null), allowSelectRef = React.useRef(!1), allowMouseUpRef = React.useRef(!0), selectTimeoutRef = React.useRef(null), state = React.useRef({
|
|
29
|
-
isMouseOutside: !1,
|
|
30
|
-
isTyping: !1
|
|
31
|
-
}), [controlledScrolling, setControlledScrolling] = React.useState(!1), [fallback, setFallback] = React.useState(!1), [innerOffset, setInnerOffset] = React.useState(0), [blockSelection, setBlockSelection] = React.useState(!1), floatingStyle = React.useRef({});
|
|
32
|
-
React.useEffect(() => {
|
|
33
|
-
open ? setActiveIndexFast(selectedIndex ?? 0) : (setScrollTop(0), setFallback(!1), setActiveIndexFast(null), setControlledScrolling(!1));
|
|
34
|
-
}, [open, selectedIndex, setActiveIndexFast]), useIsomorphicLayoutEffect(() => {
|
|
35
|
-
if (!open) return;
|
|
36
|
-
const mouseUp = (e) => {
|
|
37
|
-
state.current.isMouseOutside && setOpen(!1);
|
|
38
|
-
};
|
|
39
|
-
return document.addEventListener("mouseup", mouseUp), () => {
|
|
40
|
-
document.removeEventListener("mouseup", mouseUp);
|
|
41
|
-
};
|
|
42
|
-
}, [open]);
|
|
43
|
-
const { x, y, strategy, context, refs, update } = useFloating({
|
|
44
|
-
open,
|
|
45
|
-
onOpenChange: setOpen,
|
|
46
|
-
placement: "bottom-start",
|
|
47
|
-
whileElementsMounted: autoUpdate,
|
|
48
|
-
// eslint-disable-next-line no-constant-condition
|
|
49
|
-
middleware: [
|
|
50
|
-
size({
|
|
51
|
-
apply({
|
|
52
|
-
rects: {
|
|
53
|
-
reference: { width }
|
|
54
|
-
}
|
|
55
|
-
}) {
|
|
56
|
-
Object.assign(floatingStyle.current, {
|
|
57
|
-
minWidth: width + 8
|
|
58
|
-
}), refs.floating.current && Object.assign(refs.floating.current.style, floatingStyle.current);
|
|
59
|
-
}
|
|
60
|
-
}),
|
|
61
|
-
inner({
|
|
62
|
-
listRef: listItemsRef,
|
|
63
|
-
overflowRef,
|
|
64
|
-
index: selectedIndex,
|
|
65
|
-
offset: innerOffset,
|
|
66
|
-
onFallbackChange: setFallback,
|
|
67
|
-
padding: 10,
|
|
68
|
-
minItemsVisible: touch ? 10 : 4,
|
|
69
|
-
referenceOverflowThreshold: 20
|
|
70
|
-
}),
|
|
71
|
-
offset({ crossAxis: -5 })
|
|
72
|
-
]
|
|
73
|
-
}), floatingRef = refs.floating, showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD, showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD, isScrollable = showDownArrow || showUpArrow;
|
|
74
|
-
useIsomorphicLayoutEffect(() => {
|
|
75
|
-
if (!(typeof window > "u"))
|
|
76
|
-
return window.addEventListener("resize", update), open && update(), () => window.removeEventListener("resize", update);
|
|
77
|
-
}, [update, open]);
|
|
78
|
-
const onMatch = useEvent((index) => (open ? setActiveIndex : setSelectedIndex)(index)), interactionsProps = [
|
|
79
|
-
useClick(context, { event: "mousedown", keyboardHandlers: !1 }),
|
|
80
|
-
useDismiss(context, { outsidePress: !1 }),
|
|
81
|
-
useRole(context, { role: "listbox" }),
|
|
82
|
-
useInnerOffset(context, {
|
|
83
|
-
enabled: !fallback && isScrollable,
|
|
84
|
-
onChange: setInnerOffset,
|
|
85
|
-
overflowRef,
|
|
86
|
-
scrollRef: refs.floating
|
|
87
|
-
}),
|
|
88
|
-
useListNavigation(context, {
|
|
89
|
-
listRef: listItemsRef,
|
|
90
|
-
activeIndex: selectContext.activeIndex ?? 0,
|
|
91
|
-
selectedIndex,
|
|
92
|
-
// wrap onNavigate to prevent floating-ui from resetting activeIndex to null on focus loss
|
|
93
|
-
onNavigate: (index) => {
|
|
94
|
-
index !== null && setActiveIndex(index);
|
|
95
|
-
},
|
|
96
|
-
scrollItemIntoView: !1
|
|
97
|
-
}),
|
|
98
|
-
useTypeahead(context, {
|
|
99
|
-
listRef: listContentRef,
|
|
100
|
-
onMatch,
|
|
101
|
-
selectedIndex,
|
|
102
|
-
activeIndex: selectContext.activeIndex,
|
|
103
|
-
onTypingChange: (e) => {
|
|
104
|
-
state.current.isTyping = e;
|
|
105
|
-
}
|
|
106
|
-
})
|
|
107
|
-
], interactions = useInteractions(
|
|
108
|
-
// unfortunately these memos will just always break due to floating-ui context always changing :/
|
|
109
|
-
React.useMemo(() => interactionsProps, interactionsProps)
|
|
110
|
-
), interactionsContext = React.useMemo(() => ({
|
|
111
|
-
...interactions,
|
|
112
|
-
getReferenceProps() {
|
|
113
|
-
return interactions.getReferenceProps({
|
|
114
|
-
ref: refs.reference,
|
|
115
|
-
className: "SelectTrigger",
|
|
116
|
-
onKeyDown(event) {
|
|
117
|
-
(event.key === "Enter" || event.code === "Space" || event.key === " " && !state.current.isTyping) && (event.preventDefault(), setOpen(!0));
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
},
|
|
121
|
-
getFloatingProps(props2) {
|
|
122
|
-
return interactions.getFloatingProps({
|
|
123
|
-
ref: refs.floating,
|
|
124
|
-
className: "Select",
|
|
125
|
-
...props2,
|
|
126
|
-
style: {
|
|
127
|
-
position: strategy,
|
|
128
|
-
top: y ?? "",
|
|
129
|
-
left: x ?? "",
|
|
130
|
-
outline: 0,
|
|
131
|
-
scrollbarWidth: "none",
|
|
132
|
-
...floatingStyle.current,
|
|
133
|
-
...props2?.style
|
|
134
|
-
},
|
|
135
|
-
onPointerEnter() {
|
|
136
|
-
setControlledScrolling(!1), state.current.isMouseOutside = !1;
|
|
137
|
-
},
|
|
138
|
-
onPointerLeave() {
|
|
139
|
-
state.current.isMouseOutside = !0;
|
|
140
|
-
},
|
|
141
|
-
onPointerMove() {
|
|
142
|
-
state.current.isMouseOutside = !1, setControlledScrolling(!1);
|
|
143
|
-
},
|
|
144
|
-
onKeyDown() {
|
|
145
|
-
setControlledScrolling(!0);
|
|
146
|
-
},
|
|
147
|
-
onContextMenu(e) {
|
|
148
|
-
e.preventDefault();
|
|
149
|
-
},
|
|
150
|
-
onScroll(event) {
|
|
151
|
-
flushSync(() => {
|
|
152
|
-
setScrollTop(event.currentTarget.scrollTop);
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
}), [refs.reference.current, x, y, refs.floating.current, interactions]);
|
|
158
|
-
return useIsomorphicLayoutEffect(() => {
|
|
159
|
-
if (open)
|
|
160
|
-
return allowMouseUpRef.current = !1, selectTimeoutRef.current = setTimeout(() => {
|
|
161
|
-
allowSelectRef.current = !0, allowMouseUpRef.current = !0;
|
|
162
|
-
}, 300), () => {
|
|
163
|
-
clearTimeout(selectTimeoutRef.current);
|
|
164
|
-
};
|
|
165
|
-
allowSelectRef.current = !1, allowMouseUpRef.current = !0, setInnerOffset(0), setFallback(!1), setBlockSelection(!1);
|
|
166
|
-
}, [open]), useIsomorphicLayoutEffect(() => {
|
|
167
|
-
!open && state.current.isMouseOutside && (state.current.isMouseOutside = !1);
|
|
168
|
-
}, [open]), useIsomorphicLayoutEffect(() => {
|
|
169
|
-
function onPointerDown(e) {
|
|
170
|
-
const target = e.target;
|
|
171
|
-
refs.floating.current?.contains(target) || upArrowRef.current?.contains(target) || downArrowRef.current?.contains(target) || (setOpen(!1), setControlledScrolling(!1));
|
|
172
|
-
}
|
|
173
|
-
if (open)
|
|
174
|
-
return document.addEventListener("pointerdown", onPointerDown), () => {
|
|
175
|
-
document.removeEventListener("pointerdown", onPointerDown);
|
|
176
|
-
};
|
|
177
|
-
}, [open, refs, setOpen]), React.useEffect(() => {
|
|
178
|
-
if (!open) return;
|
|
179
|
-
const scrollActiveIntoView = (index) => {
|
|
180
|
-
controlledScrolling && index != null && listItemsRef.current[index]?.scrollIntoView({ block: "nearest" }), setScrollTop(refs.floating.current?.scrollTop ?? 0);
|
|
181
|
-
};
|
|
182
|
-
return scrollActiveIntoView(activeIndexRef.current), selectItemParentContext.activeIndexSubscribe(scrollActiveIntoView);
|
|
183
|
-
}, [open, refs, controlledScrolling, selectItemParentContext.activeIndexSubscribe]), React.useEffect(() => {
|
|
184
|
-
open && fallback && selectedIndex != null && listItemsRef.current[selectedIndex]?.scrollIntoView({ block: "nearest" });
|
|
185
|
-
}, [open, fallback, selectedIndex]), useIsomorphicLayoutEffect(() => {
|
|
186
|
-
refs.floating.current && fallback && (refs.floating.current.style.maxHeight = "");
|
|
187
|
-
}, [refs, fallback]), /* @__PURE__ */ jsx(
|
|
188
|
-
SelectProvider,
|
|
189
|
-
{
|
|
190
|
-
scope,
|
|
191
|
-
...selectContext,
|
|
192
|
-
setScrollTop,
|
|
193
|
-
setInnerOffset,
|
|
194
|
-
fallback,
|
|
195
|
-
floatingContext: context,
|
|
196
|
-
canScrollDown: !!showDownArrow,
|
|
197
|
-
canScrollUp: !!showUpArrow,
|
|
198
|
-
controlledScrolling,
|
|
199
|
-
blockSelection,
|
|
200
|
-
upArrowRef,
|
|
201
|
-
downArrowRef,
|
|
202
|
-
update,
|
|
203
|
-
children: /* @__PURE__ */ jsx(
|
|
204
|
-
SelectItemParentProvider,
|
|
205
|
-
{
|
|
206
|
-
scope,
|
|
207
|
-
...selectItemParentContext,
|
|
208
|
-
allowMouseUpRef,
|
|
209
|
-
allowSelectRef,
|
|
210
|
-
dataRef: context.dataRef,
|
|
211
|
-
interactions: interactionsContext,
|
|
212
|
-
listRef: listItemsRef,
|
|
213
|
-
selectTimeoutRef,
|
|
214
|
-
children
|
|
215
|
-
}
|
|
216
|
-
)
|
|
217
|
-
}
|
|
218
|
-
);
|
|
219
|
-
};
|
|
220
|
-
export {
|
|
221
|
-
SelectInlineImpl
|
|
222
|
-
};
|
|
223
|
-
//# sourceMappingURL=SelectImpl.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SelectImpl.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["props"]
|
|
6
|
-
}
|
package/dist/esm/SelectItem.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
|
-
import { createStyledContext } from "@tamagui/core";
|
|
4
|
-
import { ListItem } from "@tamagui/list-item";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import { useSelectItemParentContext } from "./context";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
const ITEM_NAME = "SelectItem", {
|
|
9
|
-
Provider: SelectItemContextProvider,
|
|
10
|
-
useStyledContext: useSelectItemContext
|
|
11
|
-
} = createStyledContext(null, ITEM_NAME), SelectItem = ListItem.Frame.styleable(
|
|
12
|
-
function(props, forwardedRef) {
|
|
13
|
-
const {
|
|
14
|
-
scope,
|
|
15
|
-
value,
|
|
16
|
-
disabled = !1,
|
|
17
|
-
textValue: textValueProp,
|
|
18
|
-
index,
|
|
19
|
-
...restProps
|
|
20
|
-
} = props, context = useSelectItemParentContext(scope), {
|
|
21
|
-
setSelectedIndex,
|
|
22
|
-
listRef,
|
|
23
|
-
setOpen,
|
|
24
|
-
onChange,
|
|
25
|
-
activeIndexSubscribe,
|
|
26
|
-
valueSubscribe,
|
|
27
|
-
allowMouseUpRef,
|
|
28
|
-
allowSelectRef,
|
|
29
|
-
setValueAtIndex,
|
|
30
|
-
selectTimeoutRef,
|
|
31
|
-
dataRef,
|
|
32
|
-
interactions,
|
|
33
|
-
shouldRenderWebNative,
|
|
34
|
-
size,
|
|
35
|
-
onActiveChange,
|
|
36
|
-
initialValue,
|
|
37
|
-
setActiveIndexFast
|
|
38
|
-
} = context, [isSelected, setSelected] = React.useState(initialValue === value);
|
|
39
|
-
useIsomorphicLayoutEffect(() => {
|
|
40
|
-
initialValue === value && setSelectedIndex(index);
|
|
41
|
-
}, []), React.useEffect(() => activeIndexSubscribe((i) => {
|
|
42
|
-
index === i && (onActiveChange(value, index), isWeb && listRef?.current[index]?.focus());
|
|
43
|
-
}), [index]), React.useEffect(() => valueSubscribe((val) => {
|
|
44
|
-
setSelected(val === value);
|
|
45
|
-
}), [value]);
|
|
46
|
-
const textId = React.useId(), refCallback = React.useCallback(
|
|
47
|
-
(node) => {
|
|
48
|
-
isWeb && node instanceof HTMLElement && listRef && (listRef.current[index] = node);
|
|
49
|
-
},
|
|
50
|
-
[index, listRef]
|
|
51
|
-
), composedRefs = useComposedRefs(forwardedRef, refCallback);
|
|
52
|
-
useIsomorphicLayoutEffect(() => {
|
|
53
|
-
setValueAtIndex(index, value);
|
|
54
|
-
}, [index, setValueAtIndex, value]);
|
|
55
|
-
function handleSelect() {
|
|
56
|
-
setSelectedIndex(index), onChange(value), setOpen(!1);
|
|
57
|
-
}
|
|
58
|
-
const selectItemProps = React.useMemo(() => interactions ? interactions.getItemProps({
|
|
59
|
-
onTouchMove() {
|
|
60
|
-
allowSelectRef.current = !0, allowMouseUpRef.current = !1;
|
|
61
|
-
},
|
|
62
|
-
onTouchEnd() {
|
|
63
|
-
allowSelectRef.current = !1, allowMouseUpRef.current = !0;
|
|
64
|
-
},
|
|
65
|
-
onKeyDown(event) {
|
|
66
|
-
if (event.key === "Enter" || event.key === " " && !dataRef?.current.typing)
|
|
67
|
-
event.preventDefault(), handleSelect();
|
|
68
|
-
else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
69
|
-
event.preventDefault(), event.stopPropagation();
|
|
70
|
-
const itemCount = listRef?.current.length ?? 0;
|
|
71
|
-
if (itemCount === 0) return;
|
|
72
|
-
let nextIndex;
|
|
73
|
-
event.key === "ArrowDown" ? nextIndex = index + 1 >= itemCount ? 0 : index + 1 : nextIndex = index - 1 < 0 ? itemCount - 1 : index - 1, setActiveIndexFast?.(nextIndex);
|
|
74
|
-
} else
|
|
75
|
-
allowSelectRef.current = !0;
|
|
76
|
-
},
|
|
77
|
-
onClick() {
|
|
78
|
-
allowSelectRef.current && handleSelect();
|
|
79
|
-
},
|
|
80
|
-
onMouseUp() {
|
|
81
|
-
if (!allowMouseUpRef.current) {
|
|
82
|
-
allowMouseUpRef.current = !0, allowSelectRef.current = !0;
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(() => {
|
|
86
|
-
allowSelectRef.current = !0;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}) : {
|
|
90
|
-
onPress: handleSelect
|
|
91
|
-
}, [handleSelect, index, listRef, setActiveIndexFast]);
|
|
92
|
-
return /* @__PURE__ */ jsx(
|
|
93
|
-
SelectItemContextProvider,
|
|
94
|
-
{
|
|
95
|
-
scope,
|
|
96
|
-
value,
|
|
97
|
-
textId: textId || "",
|
|
98
|
-
isSelected,
|
|
99
|
-
children: shouldRenderWebNative ? /* @__PURE__ */ jsx("option", { value, children: props.children }) : /* @__PURE__ */ jsx(
|
|
100
|
-
ListItem.Frame,
|
|
101
|
-
{
|
|
102
|
-
render: "div",
|
|
103
|
-
componentName: ITEM_NAME,
|
|
104
|
-
ref: composedRefs,
|
|
105
|
-
role: "option",
|
|
106
|
-
"aria-labelledby": textId,
|
|
107
|
-
"aria-selected": isSelected,
|
|
108
|
-
"data-state": isSelected ? "active" : "inactive",
|
|
109
|
-
"aria-disabled": disabled || void 0,
|
|
110
|
-
"data-disabled": disabled ? "" : void 0,
|
|
111
|
-
tabIndex: disabled ? void 0 : -1,
|
|
112
|
-
...!props.unstyled && {
|
|
113
|
-
cursor: "default",
|
|
114
|
-
size,
|
|
115
|
-
outlineOffset: -0.5,
|
|
116
|
-
zIndex: 100,
|
|
117
|
-
hoverStyle: {
|
|
118
|
-
backgroundColor: "$backgroundHover"
|
|
119
|
-
},
|
|
120
|
-
pressStyle: {
|
|
121
|
-
backgroundColor: "$backgroundPress"
|
|
122
|
-
},
|
|
123
|
-
focusStyle: {
|
|
124
|
-
backgroundColor: "$backgroundFocus"
|
|
125
|
-
},
|
|
126
|
-
focusVisibleStyle: {
|
|
127
|
-
outlineColor: "$outlineColor",
|
|
128
|
-
outlineWidth: 1,
|
|
129
|
-
outlineStyle: "solid"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
...restProps,
|
|
133
|
-
...selectItemProps
|
|
134
|
-
}
|
|
135
|
-
)
|
|
136
|
-
}
|
|
137
|
-
);
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
disableTheme: !0
|
|
141
|
-
}
|
|
142
|
-
);
|
|
143
|
-
export {
|
|
144
|
-
SelectItem,
|
|
145
|
-
SelectItemContextProvider,
|
|
146
|
-
useSelectItemContext
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=SelectItem.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SelectItem.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { styled, useIsomorphicLayoutEffect } from "@tamagui/core";
|
|
3
|
-
import { SizableText } from "@tamagui/text";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { useSelectItemParentContext } from "./context";
|
|
6
|
-
import { useSelectItemContext } from "./SelectItem";
|
|
7
|
-
import { Fragment, jsx } from "react/jsx-runtime";
|
|
8
|
-
const ITEM_TEXT_NAME = "SelectItemText", SelectItemTextFrame = styled(SizableText, {
|
|
9
|
-
name: ITEM_TEXT_NAME,
|
|
10
|
-
variants: {
|
|
11
|
-
unstyled: {
|
|
12
|
-
false: {
|
|
13
|
-
userSelect: "none",
|
|
14
|
-
color: "$color",
|
|
15
|
-
ellipsis: !0
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
defaultVariants: {
|
|
20
|
-
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
21
|
-
}
|
|
22
|
-
}), SelectItemText = SelectItemTextFrame.styleable(
|
|
23
|
-
function(props, forwardedRef) {
|
|
24
|
-
const { scope, className, ...itemTextProps } = props, itemParentContext = useSelectItemParentContext(scope), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref), itemContext = useSelectItemContext(scope), contents = React.useRef(null);
|
|
25
|
-
return contents.current = /* @__PURE__ */ jsx(
|
|
26
|
-
SelectItemTextFrame,
|
|
27
|
-
{
|
|
28
|
-
className,
|
|
29
|
-
size: itemParentContext.size,
|
|
30
|
-
id: itemContext.textId,
|
|
31
|
-
...itemTextProps,
|
|
32
|
-
ref: composedRefs
|
|
33
|
-
}
|
|
34
|
-
), useIsomorphicLayoutEffect(() => {
|
|
35
|
-
itemParentContext.initialValue === itemContext.value && itemParentContext.setSelectedItem(contents.current);
|
|
36
|
-
}, []), useIsomorphicLayoutEffect(() => itemParentContext.valueSubscribe((val) => {
|
|
37
|
-
val === itemContext.value && itemParentContext.setSelectedItem(contents.current);
|
|
38
|
-
}), [itemContext.value]), itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ jsx(Fragment, { children: props.children }) : /* @__PURE__ */ jsx(Fragment, { children: contents.current });
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
export {
|
|
42
|
-
ITEM_TEXT_NAME,
|
|
43
|
-
SelectItemText,
|
|
44
|
-
SelectItemTextFrame
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=SelectItemText.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SelectItemText.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAEhC,SAAS,QAAQ,iCAAiC;AAClD,SAAS,mBAAmB;AAC5B,YAAY,WAAW;AAEvB,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AA6C/B,SAwBO,UAxBP;AAtCC,MAAM,iBAAiB,kBAEjB,sBAAsB,OAAO,aAAa;AAAA,EACrD,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAMY,iBAAiB,oBAAoB;AAAA,EAChD,SAAwB,OAAO,cAAc;AAC3C,UAAM,EAAE,OAAO,WAAW,GAAG,cAAc,IAAI,OAGzC,oBAAoB,2BAA2B,KAAK,GACpD,MAAM,MAAM,OAAkC,IAAI,GAClD,eAAe,gBAAgB,cAAc,GAAG,GAChD,cAAc,qBAAqB,KAAK,GACxC,WAAW,MAAM,OAAwB,IAAI;AA4BnD,WAxBA,SAAS,UACP;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAM,kBAAkB;AAAA,QACxB,IAAI,YAAY;AAAA,QACf,GAAG;AAAA,QACJ,KAAK;AAAA;AAAA,IACP,GAGF,0BAA0B,MAAM;AAC9B,MAAI,kBAAkB,iBAAiB,YAAY,SACjD,kBAAkB,gBAAgB,SAAS,OAAO;AAAA,IAEtD,GAAG,CAAC,CAAC,GAEL,0BAA0B,MACjB,kBAAkB,eAAe,CAAC,QAAQ;AAC/C,MAAI,QAAQ,YAAY,SACtB,kBAAkB,gBAAgB,SAAS,OAAO;AAAA,IAEtD,CAAC,GACA,CAAC,YAAY,KAAK,CAAC,GAElB,kBAAkB,wBACb,gCAAG,gBAAM,UAAS,IAGpB,gCAAG,mBAAS,SAAQ;AAAA,EAC7B;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { autoUpdate, offset, useFloating } from "@floating-ui/react";
|
|
2
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
3
|
-
import { YStack } from "@tamagui/stacks";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { flushSync } from "react-dom";
|
|
6
|
-
import { useSelectContext } from "./context";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
const SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton", SelectScrollUpButton = React.forwardRef((props, forwardedRef) => /* @__PURE__ */ jsx(
|
|
9
|
-
SelectScrollButtonImpl,
|
|
10
|
-
{
|
|
11
|
-
componentName: SCROLL_UP_BUTTON_NAME,
|
|
12
|
-
...props,
|
|
13
|
-
dir: "up",
|
|
14
|
-
ref: forwardedRef
|
|
15
|
-
}
|
|
16
|
-
));
|
|
17
|
-
SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
|
|
18
|
-
const SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton", SelectScrollDownButton = React.forwardRef((props, forwardedRef) => /* @__PURE__ */ jsx(
|
|
19
|
-
SelectScrollButtonImpl,
|
|
20
|
-
{
|
|
21
|
-
componentName: SCROLL_DOWN_BUTTON_NAME,
|
|
22
|
-
...props,
|
|
23
|
-
dir: "down",
|
|
24
|
-
ref: forwardedRef
|
|
25
|
-
}
|
|
26
|
-
));
|
|
27
|
-
SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
|
|
28
|
-
const SelectScrollButtonImpl = React.memo(
|
|
29
|
-
React.forwardRef(
|
|
30
|
-
(props, forwardedRef) => {
|
|
31
|
-
const { scope, dir, componentName, ...scrollIndicatorProps } = props, { forceUpdate, open, fallback, setScrollTop, setInnerOffset, ...context } = useSelectContext(scope), floatingRef = context.floatingContext?.refs.floating, statusRef = React.useRef("idle"), isVisible = context[dir === "down" ? "canScrollDown" : "canScrollUp"], frameRef = React.useRef(null), { x, y, refs, strategy } = useFloating({
|
|
32
|
-
open: open && isVisible,
|
|
33
|
-
strategy: "fixed",
|
|
34
|
-
elements: {
|
|
35
|
-
reference: floatingRef?.current
|
|
36
|
-
},
|
|
37
|
-
placement: dir === "up" ? "top" : "bottom",
|
|
38
|
-
middleware: [offset(({ rects }) => -rects.floating.height)],
|
|
39
|
-
whileElementsMounted: (...args) => autoUpdate(...args, { animationFrame: !0 })
|
|
40
|
-
}), composedRef = useComposedRefs(forwardedRef, refs.setFloating);
|
|
41
|
-
if (!isVisible)
|
|
42
|
-
return null;
|
|
43
|
-
const onScroll = (amount) => {
|
|
44
|
-
const floating = floatingRef;
|
|
45
|
-
floating && (fallback ? floating.current && (floating.current.scrollTop -= amount, flushSync(() => setScrollTop(floating.current?.scrollTop ?? 0))) : flushSync(() => setInnerOffset((value) => value - amount)));
|
|
46
|
-
};
|
|
47
|
-
return /* @__PURE__ */ jsx(
|
|
48
|
-
YStack,
|
|
49
|
-
{
|
|
50
|
-
ref: composedRef,
|
|
51
|
-
componentName,
|
|
52
|
-
"aria-hidden": !0,
|
|
53
|
-
...scrollIndicatorProps,
|
|
54
|
-
zIndex: 1e3,
|
|
55
|
-
position: strategy,
|
|
56
|
-
left: x || 0,
|
|
57
|
-
top: y || 0,
|
|
58
|
-
width: `calc(${(floatingRef?.current?.offsetWidth ?? 0) - 2}px)`,
|
|
59
|
-
onPointerEnter: () => {
|
|
60
|
-
statusRef.current = "active";
|
|
61
|
-
let prevNow = Date.now();
|
|
62
|
-
function frame() {
|
|
63
|
-
const element = floatingRef?.current;
|
|
64
|
-
if (element) {
|
|
65
|
-
const currentNow = Date.now(), msElapsed = currentNow - prevNow;
|
|
66
|
-
prevNow = currentNow;
|
|
67
|
-
const pixelsToScroll = msElapsed / 2, remainingPixels = dir === "up" ? element.scrollTop : element.scrollHeight - element.clientHeight - element.scrollTop, scrollRemaining = dir === "up" ? element.scrollTop - pixelsToScroll > 0 : element.scrollTop + pixelsToScroll < element.scrollHeight - element.clientHeight;
|
|
68
|
-
onScroll(
|
|
69
|
-
dir === "up" ? Math.min(pixelsToScroll, remainingPixels) : Math.max(-pixelsToScroll, -remainingPixels)
|
|
70
|
-
), scrollRemaining && (frameRef.current = requestAnimationFrame(frame));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
cancelAnimationFrame(frameRef.current), frameRef.current = requestAnimationFrame(frame);
|
|
74
|
-
},
|
|
75
|
-
onPointerLeave: () => {
|
|
76
|
-
statusRef.current = "idle", cancelAnimationFrame(frameRef.current);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
)
|
|
82
|
-
);
|
|
83
|
-
export {
|
|
84
|
-
SelectScrollDownButton,
|
|
85
|
-
SelectScrollUpButton
|
|
86
|
-
};
|
|
87
|
-
//# sourceMappingURL=SelectScrollButton.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SelectScrollButton.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { ListItem } from "@tamagui/list-item";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { useSelectContext, useSelectItemParentContext } from "./context";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
const TRIGGER_NAME = "SelectTrigger", isPointerCoarse = typeof window < "u" ? window.matchMedia("(pointer:coarse)").matches : !0, SelectTrigger = React.forwardRef(
|
|
7
|
-
function(props, forwardedRef) {
|
|
8
|
-
const { scope, disabled = !1, unstyled = !1, ...triggerProps } = props, context = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs(
|
|
9
|
-
forwardedRef,
|
|
10
|
-
context.floatingContext?.refs.setReference
|
|
11
|
-
);
|
|
12
|
-
return itemParentContext.shouldRenderWebNative ? null : /* @__PURE__ */ jsx(
|
|
13
|
-
ListItem,
|
|
14
|
-
{
|
|
15
|
-
componentName: TRIGGER_NAME,
|
|
16
|
-
unstyled,
|
|
17
|
-
render: "button",
|
|
18
|
-
type: "button",
|
|
19
|
-
id: itemParentContext.id,
|
|
20
|
-
...!unstyled && {
|
|
21
|
-
focusVisibleStyle: {
|
|
22
|
-
outlineStyle: "solid",
|
|
23
|
-
outlineWidth: 2,
|
|
24
|
-
outlineColor: "$outlineColor"
|
|
25
|
-
},
|
|
26
|
-
borderWidth: 1,
|
|
27
|
-
size: itemParentContext.size
|
|
28
|
-
},
|
|
29
|
-
role: "combobox",
|
|
30
|
-
"aria-haspopup": "listbox",
|
|
31
|
-
"aria-expanded": context.open,
|
|
32
|
-
"aria-autocomplete": "none",
|
|
33
|
-
dir: context.dir,
|
|
34
|
-
disabled,
|
|
35
|
-
"data-disabled": disabled ? "" : void 0,
|
|
36
|
-
...triggerProps,
|
|
37
|
-
ref: composedRefs,
|
|
38
|
-
...itemParentContext.interactions ? {
|
|
39
|
-
...itemParentContext.interactions.getReferenceProps(),
|
|
40
|
-
...isPointerCoarse ? {
|
|
41
|
-
onPress() {
|
|
42
|
-
itemParentContext.setOpen(!context.open);
|
|
43
|
-
}
|
|
44
|
-
} : {
|
|
45
|
-
onMouseDown() {
|
|
46
|
-
context.floatingContext?.update(), itemParentContext.setOpen(!context.open);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
} : {
|
|
50
|
-
onPress() {
|
|
51
|
-
itemParentContext.setOpen(!context.open);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
|
-
export {
|
|
59
|
-
SelectTrigger
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=SelectTrigger.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/SelectTrigger.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,uBAAuB;AAGhC,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAEvB,SAAS,kBAAkB,kCAAkC;AAiCvD;AA3BN,MAAM,eAAe,iBAIf,kBACJ,OAAO,SAAW,MACd,OAAO,WAAW,kBAAkB,EAAE,UACtC,IAEO,gBAAgB,MAAM;AAAA,EACjC,SAAuB,OAA2B,cAAc;AAC9D,UAAM,EAAE,OAAO,WAAW,IAAO,WAAW,IAAO,GAAG,aAAa,IAAI,OAEjE,UAAU,iBAAiB,KAAK,GAChC,oBAAoB,2BAA2B,KAAK,GACpD,eAAe;AAAA,MACnB;AAAA,MACA,QAAQ,iBAAiB,KAAK;AAAA,IAChC;AAIA,WAAI,kBAAkB,wBACb,OAIP;AAAA,MAAC;AAAA;AAAA,QACC,eAAe;AAAA,QACf;AAAA,QACA,QAAO;AAAA,QACP,MAAK;AAAA,QACL,IAAI,kBAAkB;AAAA,QACrB,GAAI,CAAC,YAAY;AAAA,UAChB,mBAAmB;AAAA,YACjB,cAAc;AAAA,YACd,cAAc;AAAA,YACd,cAAc;AAAA,UAChB;AAAA,UACA,aAAa;AAAA,UACb,MAAM,kBAAkB;AAAA,QAC1B;AAAA,QACA,MAAK;AAAA,QACL,iBAAc;AAAA,QACd,iBAAe,QAAQ;AAAA,QACvB,qBAAkB;AAAA,QAClB,KAAK,QAAQ;AAAA,QACb;AAAA,QACA,iBAAe,WAAW,KAAK;AAAA,QAC9B,GAAG;AAAA,QACJ,KAAK;AAAA,QACJ,GAA4C,kBAAkB,eAC3D;AAAA,UACE,GAAG,kBAAkB,aAAa,kBAAkB;AAAA,UACpD,GAAI,kBACA;AAAA,YACE,UAAU;AACR,gCAAkB,QAAQ,CAAC,QAAQ,IAAI;AAAA,YACzC;AAAA,UACF,IACA;AAAA,YACE,cAAc;AACZ,sBAAQ,iBAAiB,OAAO,GAChC,kBAAkB,QAAQ,CAAC,QAAQ,IAAI;AAAA,YACzC;AAAA,UACF;AAAA,QACN,IACA;AAAA,UACE,UAAU;AACR,8BAAkB,QAAQ,CAAC,QAAQ,IAAI;AAAA,UACzC;AAAA,QACF;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|