@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.
Files changed (242) hide show
  1. package/dist/cjs/BubbleSelect.cjs +28 -23
  2. package/dist/cjs/BubbleSelect.native.js +12 -10
  3. package/dist/cjs/BubbleSelect.native.js.map +1 -1
  4. package/dist/cjs/Select.cjs +402 -376
  5. package/dist/cjs/Select.native.js +428 -414
  6. package/dist/cjs/Select.native.js.map +1 -1
  7. package/dist/cjs/SelectContent.cjs +73 -66
  8. package/dist/cjs/SelectContent.native.js +12 -10
  9. package/dist/cjs/SelectContent.native.js.map +1 -1
  10. package/dist/cjs/SelectImpl.cjs +239 -176
  11. package/dist/cjs/SelectImpl.native.js +21 -16
  12. package/dist/cjs/SelectImpl.native.js.map +1 -1
  13. package/dist/cjs/SelectItem.cjs +189 -137
  14. package/dist/cjs/SelectItem.native.js +211 -164
  15. package/dist/cjs/SelectItem.native.js.map +1 -1
  16. package/dist/cjs/SelectItemText.cjs +82 -68
  17. package/dist/cjs/SelectItemText.native.js +81 -69
  18. package/dist/cjs/SelectItemText.native.js.map +1 -1
  19. package/dist/cjs/SelectScrollButton.cjs +104 -83
  20. package/dist/cjs/SelectScrollButton.native.js +17 -15
  21. package/dist/cjs/SelectScrollButton.native.js.map +1 -1
  22. package/dist/cjs/SelectTrigger.cjs +81 -77
  23. package/dist/cjs/SelectTrigger.native.js +43 -40
  24. package/dist/cjs/SelectTrigger.native.js.map +1 -1
  25. package/dist/cjs/SelectViewport.cjs +141 -103
  26. package/dist/cjs/SelectViewport.native.js +39 -37
  27. package/dist/cjs/SelectViewport.native.js.map +1 -1
  28. package/dist/cjs/constants.cjs +19 -17
  29. package/dist/cjs/constants.native.js +19 -17
  30. package/dist/cjs/constants.native.js.map +1 -1
  31. package/dist/cjs/context.cjs +38 -27
  32. package/dist/cjs/context.native.js +46 -38
  33. package/dist/cjs/context.native.js.map +1 -1
  34. package/dist/cjs/index.cjs +7 -5
  35. package/dist/cjs/index.native.js +7 -5
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/types.cjs +7 -5
  38. package/dist/cjs/types.native.js +7 -5
  39. package/dist/cjs/types.native.js.map +1 -1
  40. package/dist/cjs/useSelectBreakpointActive.cjs +13 -11
  41. package/dist/cjs/useSelectBreakpointActive.native.js +17 -15
  42. package/dist/cjs/useSelectBreakpointActive.native.js.map +1 -1
  43. package/dist/esm/BubbleSelect.mjs +16 -13
  44. package/dist/esm/BubbleSelect.mjs.map +1 -1
  45. package/dist/esm/Select.mjs +356 -331
  46. package/dist/esm/Select.mjs.map +1 -1
  47. package/dist/esm/Select.native.js +381 -369
  48. package/dist/esm/Select.native.js.map +1 -1
  49. package/dist/esm/SelectContent.mjs +55 -39
  50. package/dist/esm/SelectContent.mjs.map +1 -1
  51. package/dist/esm/SelectImpl.mjs +208 -147
  52. package/dist/esm/SelectImpl.mjs.map +1 -1
  53. package/dist/esm/SelectImpl.native.js +4 -1
  54. package/dist/esm/SelectImpl.native.js.map +1 -1
  55. package/dist/esm/SelectItem.mjs +157 -107
  56. package/dist/esm/SelectItem.mjs.map +1 -1
  57. package/dist/esm/SelectItem.native.js +180 -135
  58. package/dist/esm/SelectItem.native.js.map +1 -1
  59. package/dist/esm/SelectItemText.mjs +50 -38
  60. package/dist/esm/SelectItemText.mjs.map +1 -1
  61. package/dist/esm/SelectItemText.native.js +50 -40
  62. package/dist/esm/SelectItemText.native.js.map +1 -1
  63. package/dist/esm/SelectScrollButton.mjs +74 -55
  64. package/dist/esm/SelectScrollButton.mjs.map +1 -1
  65. package/dist/esm/SelectScrollButton.native.js +5 -5
  66. package/dist/esm/SelectScrollButton.native.js.map +1 -1
  67. package/dist/esm/SelectTrigger.mjs +51 -49
  68. package/dist/esm/SelectTrigger.mjs.map +1 -1
  69. package/dist/esm/SelectTrigger.native.js +13 -12
  70. package/dist/esm/SelectTrigger.native.js.map +1 -1
  71. package/dist/esm/SelectViewport.mjs +108 -83
  72. package/dist/esm/SelectViewport.mjs.map +1 -1
  73. package/dist/esm/SelectViewport.native.js +7 -7
  74. package/dist/esm/SelectViewport.native.js.map +1 -1
  75. package/dist/esm/constants.mjs +7 -7
  76. package/dist/esm/constants.mjs.map +1 -1
  77. package/dist/esm/constants.native.js +7 -7
  78. package/dist/esm/constants.native.js.map +1 -1
  79. package/dist/esm/context.mjs +22 -14
  80. package/dist/esm/context.mjs.map +1 -1
  81. package/dist/esm/context.native.js +30 -25
  82. package/dist/esm/context.native.js.map +1 -1
  83. package/dist/esm/index.js +2 -2
  84. package/dist/esm/index.js.map +1 -6
  85. package/dist/esm/useSelectBreakpointActive.mjs +1 -1
  86. package/dist/esm/useSelectBreakpointActive.mjs.map +1 -1
  87. package/dist/esm/useSelectBreakpointActive.native.js +1 -1
  88. package/dist/esm/useSelectBreakpointActive.native.js.map +1 -1
  89. package/dist/jsx/BubbleSelect.mjs +16 -13
  90. package/dist/jsx/BubbleSelect.mjs.map +1 -1
  91. package/dist/jsx/BubbleSelect.native.js +12 -10
  92. package/dist/jsx/BubbleSelect.native.js.map +1 -1
  93. package/dist/jsx/Select.mjs +356 -331
  94. package/dist/jsx/Select.mjs.map +1 -1
  95. package/dist/jsx/Select.native.js +428 -414
  96. package/dist/jsx/Select.native.js.map +1 -1
  97. package/dist/jsx/SelectContent.mjs +55 -39
  98. package/dist/jsx/SelectContent.mjs.map +1 -1
  99. package/dist/jsx/SelectContent.native.js +12 -10
  100. package/dist/jsx/SelectContent.native.js.map +1 -1
  101. package/dist/jsx/SelectImpl.mjs +208 -147
  102. package/dist/jsx/SelectImpl.mjs.map +1 -1
  103. package/dist/jsx/SelectImpl.native.js +21 -16
  104. package/dist/jsx/SelectImpl.native.js.map +1 -1
  105. package/dist/jsx/SelectItem.mjs +157 -107
  106. package/dist/jsx/SelectItem.mjs.map +1 -1
  107. package/dist/jsx/SelectItem.native.js +211 -164
  108. package/dist/jsx/SelectItem.native.js.map +1 -1
  109. package/dist/jsx/SelectItemText.mjs +50 -38
  110. package/dist/jsx/SelectItemText.mjs.map +1 -1
  111. package/dist/jsx/SelectItemText.native.js +81 -69
  112. package/dist/jsx/SelectItemText.native.js.map +1 -1
  113. package/dist/jsx/SelectScrollButton.mjs +74 -55
  114. package/dist/jsx/SelectScrollButton.mjs.map +1 -1
  115. package/dist/jsx/SelectScrollButton.native.js +17 -15
  116. package/dist/jsx/SelectScrollButton.native.js.map +1 -1
  117. package/dist/jsx/SelectTrigger.mjs +51 -49
  118. package/dist/jsx/SelectTrigger.mjs.map +1 -1
  119. package/dist/jsx/SelectTrigger.native.js +43 -40
  120. package/dist/jsx/SelectTrigger.native.js.map +1 -1
  121. package/dist/jsx/SelectViewport.mjs +108 -83
  122. package/dist/jsx/SelectViewport.mjs.map +1 -1
  123. package/dist/jsx/SelectViewport.native.js +39 -37
  124. package/dist/jsx/SelectViewport.native.js.map +1 -1
  125. package/dist/jsx/constants.mjs +7 -7
  126. package/dist/jsx/constants.mjs.map +1 -1
  127. package/dist/jsx/constants.native.js +19 -17
  128. package/dist/jsx/constants.native.js.map +1 -1
  129. package/dist/jsx/context.mjs +22 -14
  130. package/dist/jsx/context.mjs.map +1 -1
  131. package/dist/jsx/context.native.js +46 -38
  132. package/dist/jsx/context.native.js.map +1 -1
  133. package/dist/jsx/index.js +2 -2
  134. package/dist/jsx/index.js.map +1 -6
  135. package/dist/jsx/index.native.js +7 -5
  136. package/dist/jsx/types.native.js +7 -5
  137. package/dist/jsx/useSelectBreakpointActive.mjs +1 -1
  138. package/dist/jsx/useSelectBreakpointActive.mjs.map +1 -1
  139. package/dist/jsx/useSelectBreakpointActive.native.js +17 -15
  140. package/dist/jsx/useSelectBreakpointActive.native.js.map +1 -1
  141. package/package.json +31 -35
  142. package/src/Select.tsx +16 -1
  143. package/src/SelectContent.tsx +47 -36
  144. package/src/SelectImpl.tsx +51 -49
  145. package/src/SelectItem.tsx +17 -7
  146. package/src/SelectScrollButton.tsx +1 -1
  147. package/src/SelectTrigger.tsx +1 -1
  148. package/src/SelectViewport.tsx +42 -22
  149. package/src/context.tsx +4 -0
  150. package/src/types.tsx +44 -4
  151. package/types/Select.d.ts +2 -2
  152. package/types/Select.d.ts.map +1 -1
  153. package/types/SelectContent.d.ts +1 -1
  154. package/types/SelectContent.d.ts.map +1 -1
  155. package/types/SelectImpl.d.ts.map +1 -1
  156. package/types/SelectItem.d.ts.map +1 -1
  157. package/types/SelectTrigger.d.ts +1 -1
  158. package/types/SelectViewport.d.ts.map +1 -1
  159. package/types/context.d.ts +1 -0
  160. package/types/context.d.ts.map +1 -1
  161. package/types/types.d.ts +33 -3
  162. package/types/types.d.ts.map +1 -1
  163. package/dist/cjs/BubbleSelect.js +0 -34
  164. package/dist/cjs/BubbleSelect.js.map +0 -6
  165. package/dist/cjs/Select.js +0 -402
  166. package/dist/cjs/Select.js.map +0 -6
  167. package/dist/cjs/SelectContent.js +0 -57
  168. package/dist/cjs/SelectContent.js.map +0 -6
  169. package/dist/cjs/SelectImpl.js +0 -222
  170. package/dist/cjs/SelectImpl.js.map +0 -6
  171. package/dist/cjs/SelectItem.js +0 -166
  172. package/dist/cjs/SelectItem.js.map +0 -6
  173. package/dist/cjs/SelectItemText.js +0 -64
  174. package/dist/cjs/SelectItemText.js.map +0 -6
  175. package/dist/cjs/SelectScrollButton.js +0 -105
  176. package/dist/cjs/SelectScrollButton.js.map +0 -6
  177. package/dist/cjs/SelectTrigger.js +0 -81
  178. package/dist/cjs/SelectTrigger.js.map +0 -6
  179. package/dist/cjs/SelectViewport.js +0 -114
  180. package/dist/cjs/SelectViewport.js.map +0 -6
  181. package/dist/cjs/constants.js +0 -27
  182. package/dist/cjs/constants.js.map +0 -6
  183. package/dist/cjs/context.js +0 -33
  184. package/dist/cjs/context.js.map +0 -6
  185. package/dist/cjs/index.js +0 -16
  186. package/dist/cjs/index.js.map +0 -6
  187. package/dist/cjs/types.js +0 -14
  188. package/dist/cjs/types.js.map +0 -6
  189. package/dist/cjs/useSelectBreakpointActive.js +0 -25
  190. package/dist/cjs/useSelectBreakpointActive.js.map +0 -6
  191. package/dist/esm/BubbleSelect.js +0 -17
  192. package/dist/esm/BubbleSelect.js.map +0 -6
  193. package/dist/esm/Select.js +0 -412
  194. package/dist/esm/Select.js.map +0 -6
  195. package/dist/esm/SelectContent.js +0 -39
  196. package/dist/esm/SelectContent.js.map +0 -6
  197. package/dist/esm/SelectImpl.js +0 -223
  198. package/dist/esm/SelectImpl.js.map +0 -6
  199. package/dist/esm/SelectItem.js +0 -148
  200. package/dist/esm/SelectItem.js.map +0 -6
  201. package/dist/esm/SelectItemText.js +0 -46
  202. package/dist/esm/SelectItemText.js.map +0 -6
  203. package/dist/esm/SelectScrollButton.js +0 -87
  204. package/dist/esm/SelectScrollButton.js.map +0 -6
  205. package/dist/esm/SelectTrigger.js +0 -61
  206. package/dist/esm/SelectTrigger.js.map +0 -6
  207. package/dist/esm/SelectViewport.js +0 -112
  208. package/dist/esm/SelectViewport.js.map +0 -6
  209. package/dist/esm/constants.js +0 -11
  210. package/dist/esm/constants.js.map +0 -6
  211. package/dist/esm/context.js +0 -19
  212. package/dist/esm/context.js.map +0 -6
  213. package/dist/esm/types.js +0 -1
  214. package/dist/esm/types.js.map +0 -6
  215. package/dist/esm/useSelectBreakpointActive.js +0 -9
  216. package/dist/esm/useSelectBreakpointActive.js.map +0 -6
  217. package/dist/jsx/BubbleSelect.js +0 -17
  218. package/dist/jsx/BubbleSelect.js.map +0 -6
  219. package/dist/jsx/Select.js +0 -412
  220. package/dist/jsx/Select.js.map +0 -6
  221. package/dist/jsx/SelectContent.js +0 -39
  222. package/dist/jsx/SelectContent.js.map +0 -6
  223. package/dist/jsx/SelectImpl.js +0 -223
  224. package/dist/jsx/SelectImpl.js.map +0 -6
  225. package/dist/jsx/SelectItem.js +0 -148
  226. package/dist/jsx/SelectItem.js.map +0 -6
  227. package/dist/jsx/SelectItemText.js +0 -46
  228. package/dist/jsx/SelectItemText.js.map +0 -6
  229. package/dist/jsx/SelectScrollButton.js +0 -87
  230. package/dist/jsx/SelectScrollButton.js.map +0 -6
  231. package/dist/jsx/SelectTrigger.js +0 -61
  232. package/dist/jsx/SelectTrigger.js.map +0 -6
  233. package/dist/jsx/SelectViewport.js +0 -112
  234. package/dist/jsx/SelectViewport.js.map +0 -6
  235. package/dist/jsx/constants.js +0 -11
  236. package/dist/jsx/constants.js.map +0 -6
  237. package/dist/jsx/context.js +0 -19
  238. package/dist/jsx/context.js.map +0 -6
  239. package/dist/jsx/types.js +0 -1
  240. package/dist/jsx/types.js.map +0 -6
  241. package/dist/jsx/useSelectBreakpointActive.js +0 -9
  242. package/dist/jsx/useSelectBreakpointActive.js.map +0 -6
@@ -1,412 +0,0 @@
1
- import { Adapt, AdaptParent, useAdaptIsActive } from "@tamagui/adapt";
2
- import { useComposedRefs } from "@tamagui/compose-refs";
3
- import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
4
- import {
5
- createStyledContext,
6
- getVariableValue,
7
- styled,
8
- useEvent,
9
- useGet
10
- } from "@tamagui/core";
11
- import { FocusScopeController } from "@tamagui/focus-scope";
12
-
13
- import { getSpace } from "@tamagui/get-token";
14
- import { withStaticProperties } from "@tamagui/helpers";
15
- import { Separator } from "@tamagui/separator";
16
- import { SheetController } from "@tamagui/sheet/controller";
17
- import { XStack, YStack } from "@tamagui/stacks";
18
- import { Paragraph, SizableText } from "@tamagui/text";
19
- import { useControllableState } from "@tamagui/use-controllable-state";
20
- import * as React from "react";
21
- import {
22
- SelectItemParentProvider,
23
- SelectProvider,
24
- useSelectContext,
25
- useSelectItemParentContext
26
- } from "./context";
27
- import { SelectContent } from "./SelectContent";
28
- import { SelectInlineImpl } from "./SelectImpl";
29
- import { SelectItem, useSelectItemContext } from "./SelectItem";
30
- import { ITEM_TEXT_NAME, SelectItemText } from "./SelectItemText";
31
- import { SelectScrollDownButton, SelectScrollUpButton } from "./SelectScrollButton";
32
- import { SelectTrigger } from "./SelectTrigger";
33
- import { SelectViewport } from "./SelectViewport";
34
- import { useShowSelectSheet } from "./useSelectBreakpointActive";
35
- import { Fragment, jsx } from "react/jsx-runtime";
36
- const VALUE_NAME = "SelectValue", SelectValueFrame = styled(SizableText, {
37
- name: VALUE_NAME,
38
- userSelect: "none"
39
- }), SelectValue = SelectValueFrame.styleable(
40
- function({ scope, children: childrenProp, placeholder, ...props }, forwardedRef) {
41
- const context = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), composedRefs = useComposedRefs(
42
- // @ts-ignore TODO react 19 type needs fix
43
- forwardedRef,
44
- context.onValueNodeChange
45
- ), isEmptyValue = context.value == null || context.value === "", renderedValue = context.renderValue?.(context.value), children = childrenProp ?? renderedValue ?? itemParentContext.selectedItem ?? context.value, selectValueChildren = isEmptyValue ? placeholder ?? children : children;
46
- return /* @__PURE__ */ jsx(
47
- SelectValueFrame,
48
- {
49
- ...!props.unstyled && {
50
- size: itemParentContext.size,
51
- ellipsis: !0,
52
- // we don't want events from the portalled `SelectValue` children to bubble
53
- // through the item they came from
54
- pointerEvents: "none"
55
- },
56
- ref: composedRefs,
57
- ...props,
58
- children: unwrapSelectItem(selectValueChildren)
59
- }
60
- );
61
- }
62
- );
63
- function unwrapSelectItem(selectValueChildren) {
64
- return React.Children.map(selectValueChildren, (child) => {
65
- if (child) {
66
- if (child.type?.staticConfig?.componentName === ITEM_TEXT_NAME)
67
- return child.props.children;
68
- if (child.props?.children)
69
- return unwrapSelectItem(child.props.children);
70
- }
71
- return child;
72
- });
73
- }
74
- const SelectIcon = styled(XStack, {
75
- name: "SelectIcon",
76
- // @ts-ignore
77
- "aria-hidden": !0,
78
- children: /* @__PURE__ */ jsx(Paragraph, { children: "\u25BC" })
79
- }), SelectItemIndicatorFrame = styled(XStack, {
80
- name: "SelectItemIndicator"
81
- }), SelectItemIndicator = React.forwardRef(
82
- function(props, forwardedRef) {
83
- const { scope, ...itemIndicatorProps } = props, context = useSelectItemParentContext(scope), itemContext = useSelectItemContext(scope);
84
- return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */ jsx(SelectItemIndicatorFrame, { "aria-hidden": !0, ...itemIndicatorProps, ref: forwardedRef }) : null;
85
- }
86
- ), SelectIndicatorFrame = styled(YStack, {
87
- name: "SelectIndicator",
88
- variants: {
89
- unstyled: {
90
- false: {
91
- position: "absolute",
92
- top: 0,
93
- left: 0,
94
- pointerEvents: "none",
95
- zIndex: 10,
96
- backgroundColor: "$background",
97
- borderRadius: 0
98
- }
99
- }
100
- },
101
- defaultVariants: {
102
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
103
- }
104
- }), SelectIndicator = SelectIndicatorFrame.styleable(function({ scope, ...props }, forwardedRef) {
105
- const itemContext = useSelectItemParentContext(scope), context = useSelectContext(scope), [layout, setLayout] = React.useState(null), rafRef = React.useRef(0);
106
- return React.useLayoutEffect(() => {
107
- const update = (index) => {
108
- typeof index == "number" && (cancelAnimationFrame(rafRef.current), rafRef.current = requestAnimationFrame(() => {
109
- const node = itemContext.listRef?.current?.[index];
110
- node && setLayout({
111
- width: Math.round(node.offsetWidth),
112
- height: Math.round(node.offsetHeight),
113
- x: Math.round(node.offsetLeft),
114
- y: Math.round(node.offsetTop)
115
- });
116
- }));
117
- };
118
- return context.open && context.activeIndexRef.current !== null && update(context.activeIndexRef.current), itemContext.activeIndexSubscribe(update);
119
- }, [context.open, itemContext.listRef]), layout ? /* @__PURE__ */ jsx(
120
- SelectIndicatorFrame,
121
- {
122
- ref: forwardedRef,
123
- ...props,
124
- width: layout.width,
125
- height: layout.height,
126
- x: layout.x,
127
- y: layout.y
128
- }
129
- ) : null;
130
- }), GROUP_NAME = "SelectGroup", { Provider: SelectGroupContextProvider, useStyledContext: useSelectGroupContext } = createStyledContext({ id: "" }, "SelectGroup"), SelectGroupFrame = styled(YStack, {
131
- name: GROUP_NAME,
132
- width: "100%"
133
- }), NativeSelectTextFrame = styled(SizableText, {
134
- render: "select",
135
- backgroundColor: "$background",
136
- borderColor: "$borderColor",
137
- hoverStyle: {
138
- backgroundColor: "$backgroundHover"
139
- }
140
- }), NativeSelectFrame = styled(YStack, {
141
- name: "NativeSelect",
142
- variants: {
143
- size: {
144
- "...size": (val, extras) => {
145
- const { tokens } = extras, paddingHorizontal = getVariableValue(tokens.space[val]);
146
- return {
147
- borderRadius: tokens.radius[val] ?? val,
148
- minHeight: tokens.size[val],
149
- paddingRight: paddingHorizontal + 20,
150
- paddingLeft: paddingHorizontal,
151
- paddingVertical: getSpace(val, {
152
- shift: -3
153
- })
154
- };
155
- }
156
- },
157
- unstyled: {
158
- false: {
159
- borderWidth: 1,
160
- borderColor: "$borderColor",
161
- userSelect: "none",
162
- outlineWidth: 0,
163
- paddingRight: 10
164
- }
165
- }
166
- },
167
- defaultVariants: {
168
- size: "$2",
169
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
170
- }
171
- }), SelectGroup = React.forwardRef(
172
- (props, forwardedRef) => {
173
- const { scope, ...groupProps } = props, groupId = React.useId(), context = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), size = itemParentContext.size ?? "$true", nativeSelectRef = React.useRef(null), content = itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ jsx(
174
- NativeSelectFrame,
175
- {
176
- asChild: !0,
177
- size,
178
- value: context.value,
179
- id: itemParentContext.id,
180
- children: /* @__PURE__ */ jsx(
181
- NativeSelectTextFrame,
182
- {
183
- onChange: (event) => {
184
- itemParentContext.onChange(event.currentTarget.value);
185
- },
186
- size,
187
- ref: nativeSelectRef,
188
- style: {
189
- color: "var(--color)",
190
- // @ts-ignore
191
- appearance: "none"
192
- },
193
- children: props.children
194
- }
195
- )
196
- }
197
- ) : /* @__PURE__ */ jsx(
198
- SelectGroupFrame,
199
- {
200
- role: "group",
201
- "aria-labelledby": groupId,
202
- ...groupProps,
203
- ref: forwardedRef
204
- }
205
- );
206
- return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope, id: groupId || "", children: content });
207
- }
208
- );
209
- SelectGroup.displayName = GROUP_NAME;
210
- const LABEL_NAME = "SelectLabel", SelectLabelFrame = styled(SizableText, {
211
- name: LABEL_NAME,
212
- variants: {
213
- unstyled: {
214
- false: {
215
- size: "$true",
216
- ellipsis: !0,
217
- maxWidth: "100%",
218
- cursor: "default"
219
- }
220
- },
221
- size: {
222
- "...size": (val, { tokens }) => ({
223
- paddingHorizontal: tokens.space[val],
224
- paddingVertical: getSpace(tokens.space[val], {
225
- shift: -4
226
- })
227
- })
228
- }
229
- },
230
- defaultVariants: {
231
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
232
- }
233
- }), SelectLabel = SelectLabelFrame.styleable(
234
- (props, forwardedRef) => {
235
- const { scope, ...labelProps } = props, context = useSelectItemParentContext(scope), groupContext = useSelectGroupContext(scope);
236
- return context.shouldRenderWebNative ? null : /* @__PURE__ */ jsx(
237
- SelectLabelFrame,
238
- {
239
- render: "div",
240
- id: groupContext.id,
241
- size: context.size,
242
- ...labelProps,
243
- ref: forwardedRef
244
- }
245
- );
246
- }
247
- ), SelectSeparator = styled(Separator, {
248
- name: "SelectSeparator"
249
- }), SelectSheetController = (props) => {
250
- const context = useSelectContext(props.scope), showSheet = useShowSelectSheet(context), isAdapted = useAdaptIsActive(context.adaptScope), getShowSheet = useGet(showSheet);
251
- return /* @__PURE__ */ jsx(
252
- SheetController,
253
- {
254
- onOpenChange: (val) => {
255
- getShowSheet() && props.onOpenChange(val);
256
- },
257
- open: context.open,
258
- hidden: !isAdapted,
259
- children: props.children
260
- }
261
- );
262
- }, SelectSheetImpl = (props) => /* @__PURE__ */ jsx(Fragment, { children: props.children }), Select = withStaticProperties(
263
- function(props) {
264
- const adaptScope = `AdaptSelect${props.scope || ""}`;
265
- return /* @__PURE__ */ jsx(AdaptParent, { scope: adaptScope, portal: !0, children: /* @__PURE__ */ jsx(SelectInner, { scope: props.scope, adaptScope, ...props }) });
266
- },
267
- {
268
- Adapt,
269
- Content: SelectContent,
270
- Group: SelectGroup,
271
- Icon: SelectIcon,
272
- Item: SelectItem,
273
- ItemIndicator: SelectItemIndicator,
274
- ItemText: SelectItemText,
275
- Label: SelectLabel,
276
- ScrollDownButton: SelectScrollDownButton,
277
- ScrollUpButton: SelectScrollUpButton,
278
- Trigger: SelectTrigger,
279
- Value: SelectValue,
280
- Viewport: SelectViewport,
281
- Indicator: SelectIndicator,
282
- FocusScope: FocusScopeController
283
- }
284
- );
285
- function useEmitter() {
286
- const listenersRef = React.useRef(/* @__PURE__ */ new Set()), emit = React.useCallback((value) => {
287
- listenersRef.current.forEach((l) => l(value));
288
- }, []), subscribe = React.useCallback((listener) => (listenersRef.current.add(listener), () => {
289
- listenersRef.current.delete(listener);
290
- }), []);
291
- return [emit, subscribe];
292
- }
293
- function SelectInner(props) {
294
- const {
295
- scope = "",
296
- adaptScope,
297
- native,
298
- children,
299
- open: openProp,
300
- defaultOpen,
301
- onOpenChange,
302
- value: valueProp,
303
- defaultValue,
304
- onValueChange,
305
- disablePreventBodyScroll,
306
- size: sizeProp = "$true",
307
- onActiveChange,
308
- dir,
309
- id,
310
- renderValue
311
- } = props, SelectImpl = useAdaptIsActive(adaptScope) || !isWeb ? SelectSheetImpl : SelectInlineImpl, forceUpdate = React.useReducer(() => ({}), {})[1], [selectedItem, setSelectedItem] = React.useState(null), [open, setOpen] = useControllableState({
312
- prop: openProp,
313
- defaultProp: defaultOpen || !1,
314
- onChange: onOpenChange
315
- }), [value, setValue] = useControllableState({
316
- prop: valueProp,
317
- defaultProp: defaultValue || "",
318
- onChange: onValueChange,
319
- transition: !0
320
- });
321
- React.useEffect(() => {
322
- open && emitValue(value);
323
- }, [open]), React.useEffect(() => {
324
- emitValue(value);
325
- }, [value]);
326
- const activeIndexRef = React.useRef(null), [activeIndex, setActiveIndexState] = React.useState(null), [emitValue, valueSubscribe] = useEmitter(), [emitActiveIndex, activeIndexSubscribe] = useEmitter(), selectedIndexRef = React.useRef(null), listContentRef = React.useRef([]), [selectedIndex, setSelectedIndex] = React.useState(0), [valueNode, setValueNode] = React.useState(null);
327
- useIsomorphicLayoutEffect(() => {
328
- selectedIndexRef.current = selectedIndex;
329
- });
330
- const shouldRenderWebNative = isWeb && (native === !0 || native === "web" || Array.isArray(native) && native.includes("web")), setActiveIndexFast = React.useCallback(
331
- (index) => {
332
- activeIndexRef.current !== index && (activeIndexRef.current = index, typeof index == "number" && emitActiveIndex(index));
333
- },
334
- [emitActiveIndex]
335
- ), setActiveIndex = React.useCallback(
336
- (index) => {
337
- setActiveIndexFast(index), setActiveIndexState(index);
338
- },
339
- [setActiveIndexFast]
340
- );
341
- return /* @__PURE__ */ jsx(
342
- SelectItemParentProvider,
343
- {
344
- scopeName: scope,
345
- scope,
346
- adaptScope,
347
- initialValue: React.useMemo(() => value, [open]),
348
- size: sizeProp,
349
- activeIndexSubscribe,
350
- valueSubscribe,
351
- setOpen,
352
- id,
353
- onChange: React.useCallback((val) => {
354
- setValue(val), emitValue(val);
355
- }, []),
356
- onActiveChange: useEvent((value2, index) => {
357
- onActiveChange?.(value2, index);
358
- }),
359
- setSelectedIndex,
360
- setValueAtIndex: React.useCallback((index, value2) => {
361
- listContentRef.current[index] = value2;
362
- }, []),
363
- shouldRenderWebNative,
364
- setActiveIndexFast,
365
- selectedItem,
366
- setSelectedItem,
367
- children: /* @__PURE__ */ jsx(
368
- SelectProvider,
369
- {
370
- scope,
371
- scopeName: scope,
372
- adaptScope,
373
- disablePreventBodyScroll,
374
- dir,
375
- blockSelection: !1,
376
- fallback: !1,
377
- forceUpdate,
378
- valueNode,
379
- onValueNodeChange: setValueNode,
380
- activeIndex,
381
- activeIndexRef,
382
- selectedIndex,
383
- setActiveIndex,
384
- value,
385
- open,
386
- native,
387
- renderValue,
388
- children: /* @__PURE__ */ jsx(SelectSheetController, { onOpenChange: setOpen, scope, children: shouldRenderWebNative ? children : /* @__PURE__ */ jsx(
389
- SelectImpl,
390
- {
391
- activeIndexRef,
392
- listContentRef,
393
- selectedIndexRef,
394
- setActiveIndexFast,
395
- ...props,
396
- open,
397
- value,
398
- children
399
- }
400
- ) })
401
- }
402
- )
403
- }
404
- );
405
- }
406
- export {
407
- Select,
408
- SelectGroupFrame,
409
- SelectIcon,
410
- SelectSeparator
411
- };
412
- //# sourceMappingURL=Select.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Select.tsx"],
4
- "mappings": "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",
5
- "names": ["value"]
6
- }
@@ -1,39 +0,0 @@
1
- import { FloatingOverlay, FloatingPortal } from "@floating-ui/react";
2
- import { isWeb, Theme, useIsTouchDevice, useThemeName } from "@tamagui/core";
3
- import { FocusScope } from "@tamagui/focus-scope";
4
- import React from "react";
5
- import { useSelectContext, useSelectItemParentContext } from "./context";
6
- import { useShowSelectSheet } from "./useSelectBreakpointActive";
7
- import { Fragment, jsx } from "react/jsx-runtime";
8
- const SelectContent = ({
9
- children,
10
- scope,
11
- zIndex = 1e3,
12
- ...focusScopeProps
13
- }) => {
14
- const context = useSelectContext(scope), itemParentContext = useSelectItemParentContext(scope), themeName = useThemeName(), showSheet = useShowSelectSheet(context), contents = /* @__PURE__ */ jsx(Theme, { forceClassName: !0, name: themeName, children }), touch = useIsTouchDevice(), overlayStyle = React.useMemo(() => ({ zIndex, pointerEvents: context.open ? "auto" : "none" }), [context.open]);
15
- return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */ jsx(Fragment, { children }) : showSheet ? context.open ? /* @__PURE__ */ jsx(Fragment, { children: contents }) : null : /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsx(
16
- FloatingOverlay,
17
- {
18
- style: overlayStyle,
19
- lockScroll: !context.disablePreventBodyScroll && !!context.open && !touch,
20
- children: /* @__PURE__ */ jsx(
21
- FocusScope,
22
- {
23
- ...focusScopeProps,
24
- loop: !0,
25
- enabled: !!context.open,
26
- trapped: !0,
27
- onMountAutoFocus: (e) => {
28
- e.preventDefault();
29
- },
30
- children: isWeb ? /* @__PURE__ */ jsx("div", { style: { display: "contents" }, children: contents }) : contents
31
- }
32
- )
33
- }
34
- ) });
35
- };
36
- export {
37
- SelectContent
38
- };
39
- //# sourceMappingURL=SelectContent.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/SelectContent.tsx"],
4
- "mappings": "AAAA,SAAS,iBAAiB,sBAAsB;AAChD,SAAS,OAAO,OAAO,kBAAkB,oBAAoB;AAE7D,SAAS,kBAAkB;AAC3B,OAAO,WAAW;AAElB,SAAS,kBAAkB,kCAAkC;AAE7D,SAAS,0BAA0B;AAkB/B,SAYO,UAZP;AAZG,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,GAAG;AACL,MAA4C;AAC1C,QAAM,UAAU,iBAAiB,KAAK,GAChC,oBAAoB,2BAA2B,KAAK,GACpD,YAAY,aAAa,GACzB,YAAY,mBAAmB,OAAO,GAEtC,WACJ,oBAAC,SAAM,gBAAc,IAAC,MAAM,WACzB,UACH,GAGI,QAAQ,iBAAiB,GAEzB,eAAe,MAAM,QAAQ,OAC1B,EAAE,QAAQ,eAAe,QAAQ,OAAO,SAAS,OAAO,IAC9D,CAAC,QAAQ,IAAI,CAAC;AAEjB,SAAI,kBAAkB,wBACb,gCAAG,UAAS,IAGjB,YACG,QAAQ,OAGN,gCAAG,oBAAS,IAFV,OAMT,oBAAC,kBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,YAAY,CAAC,QAAQ,4BAA4B,CAAC,CAAC,QAAQ,QAAQ,CAAC;AAAA,MAEpE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,MAAI;AAAA,UACJ,SAAS,CAAC,CAAC,QAAQ;AAAA,UACnB,SAAO;AAAA,UACP,kBAAkB,CAAC,MAAM;AAEvB,cAAE,eAAe;AAAA,UACnB;AAAA,UAGC,kBAAQ,oBAAC,SAAI,OAAO,EAAE,SAAS,WAAW,GAAI,oBAAS,IAAS;AAAA;AAAA,MACnE;AAAA;AAAA,EACF,GACF;AAEJ;",
5
- "names": []
6
- }