@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
@@ -13,7 +13,7 @@ import { XStack, YStack } from "@tamagui/stacks";
13
13
  import { Paragraph, SizableText } from "@tamagui/text";
14
14
  import { useControllableState } from "@tamagui/use-controllable-state";
15
15
  import * as React from "react";
16
- import { SelectItemParentProvider, SelectProvider, useSelectContext, useSelectItemParentContext } from "./context.native.js";
16
+ import { SelectItemParentProvider, SelectProvider, SelectZIndexContext, useSelectContext, useSelectItemParentContext } from "./context.native.js";
17
17
  import { SelectContent } from "./SelectContent.native.js";
18
18
  import { SelectInlineImpl } from "./SelectImpl.native.js";
19
19
  import { SelectItem, useSelectItemContext } from "./SelectItem.native.js";
@@ -22,409 +22,413 @@ import { SelectScrollDownButton, SelectScrollUpButton } from "./SelectScrollButt
22
22
  import { SelectTrigger } from "./SelectTrigger.native.js";
23
23
  import { SelectViewport } from "./SelectViewport.native.js";
24
24
  import { useShowSelectSheet } from "./useSelectBreakpointActive.native.js";
25
- var VALUE_NAME = "SelectValue",
26
- SelectValueFrame = styled(SizableText, {
27
- name: VALUE_NAME,
28
- userSelect: "none"
29
- }),
30
- SelectValue = SelectValueFrame.styleable(function (param, forwardedRef) {
31
- var {
32
- scope,
33
- children: childrenProp,
34
- placeholder,
35
- ...props
36
- } = param,
37
- _context_renderValue,
38
- context = useSelectContext(scope),
39
- itemParentContext = useSelectItemParentContext(scope),
40
- composedRefs = useComposedRefs(
41
- // @ts-ignore TODO react 19 type needs fix
42
- forwardedRef, context.onValueNodeChange),
43
- isEmptyValue = context.value == null || context.value === "",
44
- renderedValue = (_context_renderValue = context.renderValue) === null || _context_renderValue === void 0 ? void 0 : _context_renderValue.call(context, context.value),
45
- _ref,
46
- _ref1,
47
- children = (_ref1 = (_ref = childrenProp ?? renderedValue) !== null && _ref !== void 0 ? _ref : itemParentContext.selectedItem) !== null && _ref1 !== void 0 ? _ref1 : context.value,
48
- selectValueChildren = isEmptyValue ? placeholder ?? children : children;
49
- return /* @__PURE__ */_jsx(SelectValueFrame, {
50
- ...(!props.unstyled && {
51
- size: itemParentContext.size,
52
- ellipsis: !0,
53
- // we don't want events from the portalled `SelectValue` children to bubble
54
- // through the item they came from
55
- pointerEvents: "none"
56
- }),
57
- ref: composedRefs,
58
- ...props,
59
- children: unwrapSelectItem(selectValueChildren)
60
- });
25
+ var SelectValueFrame = styled(SizableText, {
26
+ name: "SelectValue",
27
+ userSelect: "none"
28
+ });
29
+ var SelectValue = SelectValueFrame.styleable(function SelectValue2(param, forwardedRef) {
30
+ var {
31
+ scope,
32
+ children: childrenProp,
33
+ placeholder,
34
+ ...props
35
+ } = param;
36
+ var _context_renderValue;
37
+ var context = useSelectContext(scope);
38
+ var itemParentContext = useSelectItemParentContext(scope);
39
+ var composedRefs = useComposedRefs(
40
+ // @ts-ignore TODO react 19 type needs fix
41
+ forwardedRef, context.onValueNodeChange);
42
+ var isEmptyValue = context.value == null || context.value === "";
43
+ var renderedValue = (_context_renderValue = context.renderValue) === null || _context_renderValue === void 0 ? void 0 : _context_renderValue.call(context, context.value);
44
+ var _ref, _ref1;
45
+ var children = (_ref1 = (_ref = childrenProp !== null && childrenProp !== void 0 ? childrenProp : renderedValue) !== null && _ref !== void 0 ? _ref : itemParentContext.selectedItem) !== null && _ref1 !== void 0 ? _ref1 : context.value;
46
+ var selectValueChildren = isEmptyValue ? placeholder !== null && placeholder !== void 0 ? placeholder : children : children;
47
+ return /* @__PURE__ */_jsx(SelectValueFrame, {
48
+ ...(!props.unstyled && {
49
+ size: itemParentContext.size,
50
+ ellipsis: true,
51
+ pointerEvents: "none"
52
+ }),
53
+ ref: composedRefs,
54
+ ...props,
55
+ children: unwrapSelectItem(selectValueChildren)
61
56
  });
57
+ });
62
58
  function unwrapSelectItem(selectValueChildren) {
63
59
  return React.Children.map(selectValueChildren, function (child) {
64
60
  if (child) {
65
61
  var _child_type_staticConfig, _child_type, _child_props;
66
- if (((_child_type = child.type) === null || _child_type === void 0 || (_child_type_staticConfig = _child_type.staticConfig) === null || _child_type_staticConfig === void 0 ? void 0 : _child_type_staticConfig.componentName) === ITEM_TEXT_NAME) return child.props.children;
67
- if (!((_child_props = child.props) === null || _child_props === void 0) && _child_props.children) return unwrapSelectItem(child.props.children);
62
+ if (((_child_type = child.type) === null || _child_type === void 0 ? void 0 : (_child_type_staticConfig = _child_type.staticConfig) === null || _child_type_staticConfig === void 0 ? void 0 : _child_type_staticConfig.componentName) === ITEM_TEXT_NAME) return child.props.children;
63
+ if ((_child_props = child.props) === null || _child_props === void 0 ? void 0 : _child_props.children) return unwrapSelectItem(child.props.children);
68
64
  }
69
65
  return child;
70
66
  });
71
67
  }
72
68
  var SelectIcon = styled(XStack, {
73
- name: "SelectIcon",
74
- // @ts-ignore
75
- "aria-hidden": !0,
76
- children: /* @__PURE__ */_jsx(Paragraph, {
77
- children: "\u25BC"
78
- })
79
- }),
80
- SelectItemIndicatorFrame = styled(XStack, {
81
- name: "SelectItemIndicator"
82
- }),
83
- SelectItemIndicator = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
84
- var {
85
- scope,
86
- ...itemIndicatorProps
87
- } = props,
88
- context = useSelectItemParentContext(scope),
89
- itemContext = useSelectItemContext(scope);
90
- return context.shouldRenderWebNative ? null : itemContext.isSelected ? /* @__PURE__ */_jsx(SelectItemIndicatorFrame, {
91
- "aria-hidden": !0,
92
- ...itemIndicatorProps,
93
- ref: forwardedRef
94
- }) : null;
95
- }),
96
- SelectIndicatorFrame = styled(YStack, {
97
- name: "SelectIndicator",
98
- variants: {
99
- unstyled: {
100
- false: {
101
- position: "absolute",
102
- top: 0,
103
- left: 0,
104
- pointerEvents: "none",
105
- zIndex: 10,
106
- backgroundColor: "$background",
107
- borderRadius: 0
108
- }
69
+ name: "SelectIcon",
70
+ "aria-hidden": true,
71
+ children: /* @__PURE__ */_jsx(Paragraph, {
72
+ children: "▼"
73
+ })
74
+ });
75
+ var SelectItemIndicatorFrame = styled(XStack, {
76
+ name: "SelectItemIndicator"
77
+ });
78
+ var SelectItemIndicator = /* @__PURE__ */React.forwardRef(function SelectItemIndicator2(props, forwardedRef) {
79
+ var {
80
+ scope,
81
+ ...itemIndicatorProps
82
+ } = props;
83
+ var context = useSelectItemParentContext(scope);
84
+ var itemContext = useSelectItemContext(scope);
85
+ if (context.shouldRenderWebNative) return null;
86
+ return itemContext.isSelected ? /* @__PURE__ */_jsx(SelectItemIndicatorFrame, {
87
+ "aria-hidden": true,
88
+ ...itemIndicatorProps,
89
+ ref: forwardedRef
90
+ }) : null;
91
+ });
92
+ var SelectIndicatorFrame = styled(YStack, {
93
+ name: "SelectIndicator",
94
+ variants: {
95
+ unstyled: {
96
+ false: {
97
+ position: "absolute",
98
+ top: 0,
99
+ left: 0,
100
+ pointerEvents: "none",
101
+ zIndex: 10,
102
+ backgroundColor: "$background",
103
+ borderRadius: 0
109
104
  }
110
- },
111
- defaultVariants: {
112
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
113
105
  }
114
- }),
115
- SelectIndicator = SelectIndicatorFrame.styleable(function (param, forwardedRef) {
116
- var {
117
- scope,
118
- ...props
119
- } = param,
120
- itemContext = useSelectItemParentContext(scope),
121
- context = useSelectContext(scope),
122
- [layout, setLayout] = React.useState(null),
123
- rafRef = React.useRef(0);
124
- return React.useLayoutEffect(function () {
125
- var update = function (index) {
126
- typeof index == "number" && (cancelAnimationFrame(rafRef.current), rafRef.current = requestAnimationFrame(function () {
127
- var _itemContext_listRef_current,
128
- _itemContext_listRef,
129
- node = (_itemContext_listRef = itemContext.listRef) === null || _itemContext_listRef === void 0 || (_itemContext_listRef_current = _itemContext_listRef.current) === null || _itemContext_listRef_current === void 0 ? void 0 : _itemContext_listRef_current[index];
130
- node && setLayout({
131
- width: Math.round(node.offsetWidth),
132
- height: Math.round(node.offsetHeight),
133
- x: Math.round(node.offsetLeft),
134
- y: Math.round(node.offsetTop)
135
- });
136
- }));
137
- };
138
- return context.open && context.activeIndexRef.current !== null && update(context.activeIndexRef.current), itemContext.activeIndexSubscribe(update);
139
- }, [context.open, itemContext.listRef]), layout ? /* @__PURE__ */_jsx(SelectIndicatorFrame, {
140
- ref: forwardedRef,
141
- ...props,
142
- width: layout.width,
143
- height: layout.height,
144
- x: layout.x,
145
- y: layout.y
146
- }) : null;
147
- }),
148
- GROUP_NAME = "SelectGroup",
149
- {
150
- Provider: SelectGroupContextProvider,
151
- useStyledContext: useSelectGroupContext
152
- } = createStyledContext({
153
- id: ""
154
- }, "SelectGroup"),
155
- SelectGroupFrame = styled(YStack, {
156
- name: GROUP_NAME,
157
- width: "100%"
158
- }),
159
- NativeSelectTextFrame = styled(SizableText, {
160
- render: "select",
161
- backgroundColor: "$background",
162
- borderColor: "$borderColor",
163
- hoverStyle: {
164
- backgroundColor: "$backgroundHover"
165
- }
166
- }),
167
- NativeSelectFrame = styled(YStack, {
168
- name: "NativeSelect",
169
- variants: {
170
- size: {
171
- "...size": function (val, extras) {
172
- var {
173
- tokens
174
- } = extras,
175
- paddingHorizontal = getVariableValue(tokens.space[val]),
176
- _tokens_radius_val;
177
- return {
178
- borderRadius: (_tokens_radius_val = tokens.radius[val]) !== null && _tokens_radius_val !== void 0 ? _tokens_radius_val : val,
179
- minHeight: tokens.size[val],
180
- paddingRight: paddingHorizontal + 20,
181
- paddingLeft: paddingHorizontal,
182
- paddingVertical: getSpace(val, {
183
- shift: -3
184
- })
185
- };
186
- }
187
- },
188
- unstyled: {
189
- false: {
190
- borderWidth: 1,
191
- borderColor: "$borderColor",
192
- userSelect: "none",
193
- outlineWidth: 0,
194
- paddingRight: 10
195
- }
106
+ },
107
+ defaultVariants: {
108
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
109
+ }
110
+ });
111
+ var SelectIndicator = SelectIndicatorFrame.styleable(function SelectIndicator2(param, forwardedRef) {
112
+ var {
113
+ scope,
114
+ ...props
115
+ } = param;
116
+ var itemContext = useSelectItemParentContext(scope);
117
+ var context = useSelectContext(scope);
118
+ var [layout, setLayout] = React.useState(null);
119
+ var rafRef = React.useRef(0);
120
+ React.useLayoutEffect(function () {
121
+ var update = function (index) {
122
+ if (typeof index !== "number") return;
123
+ cancelAnimationFrame(rafRef.current);
124
+ rafRef.current = requestAnimationFrame(function () {
125
+ var _itemContext_listRef_current, _itemContext_listRef;
126
+ var node = (_itemContext_listRef = itemContext.listRef) === null || _itemContext_listRef === void 0 ? void 0 : (_itemContext_listRef_current = _itemContext_listRef.current) === null || _itemContext_listRef_current === void 0 ? void 0 : _itemContext_listRef_current[index];
127
+ if (node) setLayout({
128
+ width: Math.round(node.offsetWidth),
129
+ height: Math.round(node.offsetHeight),
130
+ x: Math.round(node.offsetLeft),
131
+ y: Math.round(node.offsetTop)
132
+ });
133
+ });
134
+ };
135
+ if (context.open && context.activeIndexRef.current !== null) update(context.activeIndexRef.current);
136
+ return itemContext.activeIndexSubscribe(update);
137
+ }, [context.open, itemContext.listRef]);
138
+ if (!layout) return null;
139
+ return /* @__PURE__ */_jsx(SelectIndicatorFrame, {
140
+ ref: forwardedRef,
141
+ ...props,
142
+ width: layout.width,
143
+ height: layout.height,
144
+ x: layout.x,
145
+ y: layout.y
146
+ });
147
+ });
148
+ var GROUP_NAME = "SelectGroup";
149
+ var {
150
+ Provider: SelectGroupContextProvider,
151
+ useStyledContext: useSelectGroupContext
152
+ } = createStyledContext({
153
+ id: ""
154
+ }, "SelectGroup");
155
+ var SelectGroupFrame = styled(YStack, {
156
+ name: GROUP_NAME,
157
+ width: "100%"
158
+ });
159
+ var NativeSelectTextFrame = styled(SizableText, {
160
+ render: "select",
161
+ backgroundColor: "$background",
162
+ borderColor: "$borderColor",
163
+ hoverStyle: {
164
+ backgroundColor: "$backgroundHover"
165
+ }
166
+ });
167
+ var NativeSelectFrame = styled(YStack, {
168
+ name: "NativeSelect",
169
+ variants: {
170
+ size: {
171
+ "...size": function (val, extras) {
172
+ var {
173
+ tokens
174
+ } = extras;
175
+ var paddingHorizontal = getVariableValue(tokens.space[val]);
176
+ var _tokens_radius_val;
177
+ return {
178
+ borderRadius: (_tokens_radius_val = tokens.radius[val]) !== null && _tokens_radius_val !== void 0 ? _tokens_radius_val : val,
179
+ minHeight: tokens.size[val],
180
+ paddingRight: paddingHorizontal + 20,
181
+ paddingLeft: paddingHorizontal,
182
+ paddingVertical: getSpace(val, {
183
+ shift: -3
184
+ })
185
+ };
196
186
  }
197
187
  },
198
- defaultVariants: {
199
- size: "$2",
200
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
188
+ unstyled: {
189
+ false: {
190
+ borderWidth: 1,
191
+ borderColor: "$borderColor",
192
+ userSelect: "none",
193
+ outlineWidth: 0,
194
+ paddingRight: 10
195
+ }
201
196
  }
202
- }),
203
- SelectGroup = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
204
- var {
205
- scope,
206
- ...groupProps
207
- } = props,
208
- groupId = React.useId(),
209
- context = useSelectContext(scope),
210
- itemParentContext = useSelectItemParentContext(scope),
211
- _itemParentContext_size,
212
- size = (_itemParentContext_size = itemParentContext.size) !== null && _itemParentContext_size !== void 0 ? _itemParentContext_size : "$true",
213
- nativeSelectRef = React.useRef(null),
214
- content = function () {
215
- return itemParentContext.shouldRenderWebNative ? /* @__PURE__ */_jsx(NativeSelectFrame, {
216
- asChild: !0,
217
- size,
218
- // @ts-expect-error until we support typing based on tag
219
- value: context.value,
220
- id: itemParentContext.id,
221
- children: /* @__PURE__ */_jsx(NativeSelectTextFrame, {
222
- // @ts-ignore it's ok since render="select"
223
- onChange: function (event) {
224
- itemParentContext.onChange(event.currentTarget.value);
225
- },
226
- size,
227
- ref: nativeSelectRef,
228
- style: {
229
- color: "var(--color)",
230
- // @ts-ignore
231
- appearance: "none"
232
- },
233
- children: props.children
234
- })
235
- }) : /* @__PURE__ */_jsx(SelectGroupFrame, {
236
- // @ts-ignore
237
- role: "group",
238
- "aria-labelledby": groupId,
239
- ...groupProps,
240
- ref: forwardedRef
241
- });
242
- }();
243
- return /* @__PURE__ */_jsx(SelectGroupContextProvider, {
244
- scope,
245
- id: groupId || "",
246
- children: content
197
+ },
198
+ defaultVariants: {
199
+ size: "$2",
200
+ unstyled: process.env.TAMAGUI_HEADLESS === "1" ? true : false
201
+ }
202
+ });
203
+ var SelectGroup = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
204
+ var {
205
+ scope,
206
+ ...groupProps
207
+ } = props;
208
+ var groupId = React.useId();
209
+ var context = useSelectContext(scope);
210
+ var itemParentContext = useSelectItemParentContext(scope);
211
+ var _itemParentContext_size;
212
+ var size = (_itemParentContext_size = itemParentContext.size) !== null && _itemParentContext_size !== void 0 ? _itemParentContext_size : "$true";
213
+ var nativeSelectRef = React.useRef(null);
214
+ var content = function () {
215
+ if (itemParentContext.shouldRenderWebNative) return /* @__PURE__ */_jsx(NativeSelectFrame, {
216
+ asChild: true,
217
+ size,
218
+ value: context.value,
219
+ id: itemParentContext.id,
220
+ children: /* @__PURE__ */_jsx(NativeSelectTextFrame, {
221
+ onChange: function (event) {
222
+ itemParentContext.onChange(event.currentTarget.value);
223
+ },
224
+ size,
225
+ ref: nativeSelectRef,
226
+ style: {
227
+ color: "var(--color)",
228
+ appearance: "none"
229
+ },
230
+ children: props.children
231
+ })
232
+ });
233
+ return /* @__PURE__ */_jsx(SelectGroupFrame, {
234
+ role: "group",
235
+ "aria-labelledby": groupId,
236
+ ...groupProps,
237
+ ref: forwardedRef
247
238
  });
239
+ }();
240
+ return /* @__PURE__ */_jsx(SelectGroupContextProvider, {
241
+ scope,
242
+ id: groupId || "",
243
+ children: content
248
244
  });
245
+ });
249
246
  SelectGroup.displayName = GROUP_NAME;
250
- var LABEL_NAME = "SelectLabel",
251
- SelectLabelFrame = styled(SizableText, {
252
- name: LABEL_NAME,
253
- variants: {
254
- unstyled: {
255
- false: {
256
- size: "$true",
257
- ellipsis: !0,
258
- maxWidth: "100%",
259
- cursor: "default"
260
- }
261
- },
262
- size: {
263
- "...size": function (val, param) {
264
- var {
265
- tokens
266
- } = param;
267
- return {
268
- paddingHorizontal: tokens.space[val],
269
- paddingVertical: getSpace(tokens.space[val], {
270
- shift: -4
271
- })
272
- };
273
- }
247
+ var SelectLabelFrame = styled(SizableText, {
248
+ name: "SelectLabel",
249
+ variants: {
250
+ unstyled: {
251
+ false: {
252
+ size: "$true",
253
+ ellipsis: true,
254
+ maxWidth: "100%",
255
+ cursor: "default"
274
256
  }
275
257
  },
276
- defaultVariants: {
277
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
258
+ size: {
259
+ "...size": function (val, param) {
260
+ var {
261
+ tokens
262
+ } = param;
263
+ return {
264
+ paddingHorizontal: tokens.space[val],
265
+ paddingVertical: getSpace(tokens.space[val], {
266
+ shift: -4
267
+ })
268
+ };
269
+ }
278
270
  }
279
- }),
280
- SelectLabel = SelectLabelFrame.styleable(function (props, forwardedRef) {
281
- var {
282
- scope,
283
- ...labelProps
284
- } = props,
285
- context = useSelectItemParentContext(scope),
286
- groupContext = useSelectGroupContext(scope);
287
- return context.shouldRenderWebNative ? null : /* @__PURE__ */_jsx(SelectLabelFrame, {
288
- render: "div",
289
- id: groupContext.id,
290
- size: context.size,
291
- ...labelProps,
292
- ref: forwardedRef
293
- });
294
- }),
295
- SelectSeparator = styled(Separator, {
296
- name: "SelectSeparator"
297
- }),
298
- SelectSheetController = function (props) {
299
- var context = useSelectContext(props.scope),
300
- showSheet = useShowSelectSheet(context),
301
- isAdapted = useAdaptIsActive(context.adaptScope),
302
- getShowSheet = useGet(showSheet);
303
- return /* @__PURE__ */_jsx(SheetController, {
304
- onOpenChange: function (val) {
305
- getShowSheet() && props.onOpenChange(val);
306
- },
307
- open: context.open,
308
- hidden: !isAdapted,
309
- children: props.children
310
- });
311
- },
312
- SelectSheetImpl = function (props) {
313
- return /* @__PURE__ */_jsx(_Fragment, {
314
- children: props.children
315
- });
316
271
  },
317
- Select = withStaticProperties(function (props) {
318
- var adaptScope = `AdaptSelect${props.scope || ""}`;
319
- return /* @__PURE__ */_jsx(AdaptParent, {
320
- scope: adaptScope,
321
- portal: !0,
322
- children: /* @__PURE__ */_jsx(SelectInner, {
323
- scope: props.scope,
324
- adaptScope,
325
- ...props
326
- })
327
- });
328
- }, {
329
- Adapt,
330
- Content: SelectContent,
331
- Group: SelectGroup,
332
- Icon: SelectIcon,
333
- Item: SelectItem,
334
- ItemIndicator: SelectItemIndicator,
335
- ItemText: SelectItemText,
336
- Label: SelectLabel,
337
- ScrollDownButton: SelectScrollDownButton,
338
- ScrollUpButton: SelectScrollUpButton,
339
- Trigger: SelectTrigger,
340
- Value: SelectValue,
341
- Viewport: SelectViewport,
342
- Indicator: SelectIndicator,
343
- FocusScope: FocusScopeController
272
+ defaultVariants: {
273
+ unstyled: process.env.TAMAGUI_HEADLESS === "1"
274
+ }
275
+ });
276
+ var SelectLabel = SelectLabelFrame.styleable(function (props, forwardedRef) {
277
+ var {
278
+ scope,
279
+ ...labelProps
280
+ } = props;
281
+ var context = useSelectItemParentContext(scope);
282
+ var groupContext = useSelectGroupContext(scope);
283
+ if (context.shouldRenderWebNative) return null;
284
+ return /* @__PURE__ */_jsx(SelectLabelFrame, {
285
+ render: "div",
286
+ id: groupContext.id,
287
+ size: context.size,
288
+ ...labelProps,
289
+ ref: forwardedRef
290
+ });
291
+ });
292
+ var SelectSeparator = styled(Separator, {
293
+ name: "SelectSeparator"
294
+ });
295
+ var SelectSheetController = function (props) {
296
+ var context = useSelectContext(props.scope);
297
+ var showSheet = useShowSelectSheet(context);
298
+ var isAdapted = useAdaptIsActive(context.adaptScope);
299
+ var getShowSheet = useGet(showSheet);
300
+ return /* @__PURE__ */_jsx(SheetController, {
301
+ onOpenChange: function (val) {
302
+ if (getShowSheet()) props.onOpenChange(val);
303
+ },
304
+ open: context.open,
305
+ hidden: !isAdapted,
306
+ children: props.children
307
+ });
308
+ };
309
+ var SelectSheetImpl = function (props) {
310
+ return /* @__PURE__ */_jsx(_Fragment, {
311
+ children: props.children
312
+ });
313
+ };
314
+ var Select = withStaticProperties(function Select2(props) {
315
+ var adaptScope = `AdaptSelect${props.scope || ""}`;
316
+ return /* @__PURE__ */_jsx(AdaptParent, {
317
+ scope: adaptScope,
318
+ portal: true,
319
+ children: /* @__PURE__ */_jsx(SelectInner, {
320
+ scope: props.scope,
321
+ adaptScope,
322
+ ...props
323
+ })
344
324
  });
325
+ }, {
326
+ Adapt,
327
+ Content: SelectContent,
328
+ Group: SelectGroup,
329
+ Icon: SelectIcon,
330
+ Item: SelectItem,
331
+ ItemIndicator: SelectItemIndicator,
332
+ ItemText: SelectItemText,
333
+ Label: SelectLabel,
334
+ ScrollDownButton: SelectScrollDownButton,
335
+ ScrollUpButton: SelectScrollUpButton,
336
+ Trigger: SelectTrigger,
337
+ Value: SelectValue,
338
+ Viewport: SelectViewport,
339
+ Indicator: SelectIndicator,
340
+ FocusScope: FocusScopeController
341
+ });
345
342
  function useEmitter() {
346
- var listenersRef = React.useRef(/* @__PURE__ */new Set()),
347
- emit = React.useCallback(function (value) {
348
- listenersRef.current.forEach(function (l) {
349
- return l(value);
350
- });
351
- }, []),
352
- subscribe = React.useCallback(function (listener) {
353
- return listenersRef.current.add(listener), function () {
354
- listenersRef.current.delete(listener);
355
- };
356
- }, []);
357
- return [emit, subscribe];
343
+ var listenersRef = React.useRef(/* @__PURE__ */new Set());
344
+ return [React.useCallback(function (value) {
345
+ listenersRef.current.forEach(function (l) {
346
+ return l(value);
347
+ });
348
+ }, []), React.useCallback(function (listener) {
349
+ listenersRef.current.add(listener);
350
+ return function () {
351
+ listenersRef.current.delete(listener);
352
+ };
353
+ }, [])];
358
354
  }
359
355
  function SelectInner(props) {
360
356
  var {
361
- scope = "",
362
- adaptScope,
363
- native,
364
- children,
365
- open: openProp,
366
- defaultOpen,
367
- onOpenChange,
368
- value: valueProp,
369
- defaultValue,
370
- onValueChange,
371
- disablePreventBodyScroll,
372
- size: sizeProp = "$true",
373
- onActiveChange,
374
- dir,
375
- id,
376
- renderValue
377
- } = props,
378
- isAdapted = useAdaptIsActive(adaptScope),
379
- SelectImpl = isAdapted || !isWeb ? SelectSheetImpl : SelectInlineImpl,
380
- forceUpdate = React.useReducer(function () {
381
- return {};
382
- }, {})[1],
383
- [selectedItem, setSelectedItem] = React.useState(null),
384
- [open, setOpen] = useControllableState({
385
- prop: openProp,
386
- defaultProp: defaultOpen || !1,
387
- onChange: onOpenChange
388
- }),
389
- [value, setValue] = useControllableState({
390
- prop: valueProp,
391
- defaultProp: defaultValue || "",
392
- onChange: onValueChange,
393
- transition: !0
394
- });
357
+ scope = "",
358
+ adaptScope,
359
+ native,
360
+ children,
361
+ open: openProp,
362
+ defaultOpen,
363
+ onOpenChange,
364
+ value: valueProp,
365
+ defaultValue,
366
+ onValueChange,
367
+ disablePreventBodyScroll,
368
+ size: sizeProp = "$true",
369
+ onActiveChange,
370
+ dir,
371
+ id,
372
+ renderValue,
373
+ lazyMount,
374
+ zIndex
375
+ } = props;
376
+ var SelectImpl = useAdaptIsActive(adaptScope) || !isWeb ? SelectSheetImpl : SelectInlineImpl;
377
+ var forceUpdate = React.useReducer(function () {
378
+ return {};
379
+ }, {})[1];
380
+ var [selectedItem, setSelectedItem] = React.useState(null);
381
+ var [open, setOpen] = useControllableState({
382
+ prop: openProp,
383
+ defaultProp: defaultOpen || false,
384
+ onChange: onOpenChange
385
+ });
386
+ var [value, setValue] = useControllableState({
387
+ prop: valueProp,
388
+ defaultProp: defaultValue || "",
389
+ onChange: onValueChange,
390
+ transition: true
391
+ });
392
+ React.useEffect(function () {
393
+ if (open) emitValue(value);
394
+ }, [open]);
395
395
  React.useEffect(function () {
396
- open && emitValue(value);
397
- }, [open]), React.useEffect(function () {
398
396
  emitValue(value);
399
- }, [value]), React.useEffect(function () {
400
- if (props.id) return registerFocusable(props.id, {
397
+ }, [value]);
398
+ React.useEffect(function () {
399
+ if (!props.id) return;
400
+ return registerFocusable(props.id, {
401
401
  focusAndSelect: function () {
402
- setOpen?.(function (value2) {
402
+ setOpen === null || setOpen === void 0 || setOpen(function (value2) {
403
403
  return !value2;
404
404
  });
405
405
  },
406
406
  focus: function () {}
407
407
  });
408
408
  }, [props.id]);
409
- var activeIndexRef = React.useRef(null),
410
- [activeIndex, setActiveIndexState] = React.useState(null),
411
- [emitValue, valueSubscribe] = useEmitter(),
412
- [emitActiveIndex, activeIndexSubscribe] = useEmitter(),
413
- selectedIndexRef = React.useRef(null),
414
- listContentRef = React.useRef([]),
415
- [selectedIndex, setSelectedIndex] = React.useState(0),
416
- [valueNode, setValueNode] = React.useState(null);
409
+ var activeIndexRef = React.useRef(null);
410
+ var [activeIndex, setActiveIndexState] = React.useState(null);
411
+ var [emitValue, valueSubscribe] = useEmitter();
412
+ var [emitActiveIndex, activeIndexSubscribe] = useEmitter();
413
+ var selectedIndexRef = React.useRef(null);
414
+ var listContentRef = React.useRef([]);
415
+ var [selectedIndex, setSelectedIndex] = React.useState(0);
416
+ var [valueNode, setValueNode] = React.useState(null);
417
417
  useIsomorphicLayoutEffect(function () {
418
418
  selectedIndexRef.current = selectedIndex;
419
419
  });
420
- var shouldRenderWebNative = isWeb && (native === !0 || native === "web" || Array.isArray(native) && native.includes("web")),
421
- setActiveIndexFast = React.useCallback(function (index) {
422
- activeIndexRef.current !== index && (activeIndexRef.current = index, typeof index == "number" && emitActiveIndex(index));
423
- }, [emitActiveIndex]),
424
- setActiveIndex = React.useCallback(function (index) {
425
- setActiveIndexFast(index), setActiveIndexState(index);
426
- }, [setActiveIndexFast]);
427
- return /* @__PURE__ */_jsx(SelectItemParentProvider, {
420
+ var shouldRenderWebNative = isWeb && (native === true || native === "web" || Array.isArray(native) && native.includes("web"));
421
+ var setActiveIndexFast = React.useCallback(function (index) {
422
+ if (activeIndexRef.current !== index) {
423
+ activeIndexRef.current = index;
424
+ if (typeof index === "number") emitActiveIndex(index);
425
+ }
426
+ }, [emitActiveIndex]);
427
+ var setActiveIndex = React.useCallback(function (index) {
428
+ setActiveIndexFast(index);
429
+ setActiveIndexState(index);
430
+ }, [setActiveIndexFast]);
431
+ var content = /* @__PURE__ */_jsx(SelectItemParentProvider, {
428
432
  scopeName: scope,
429
433
  scope,
430
434
  adaptScope,
@@ -433,14 +437,16 @@ function SelectInner(props) {
433
437
  }, [open]),
434
438
  size: sizeProp,
435
439
  activeIndexSubscribe,
440
+ activeIndexRef,
436
441
  valueSubscribe,
437
442
  setOpen,
438
443
  id,
439
444
  onChange: React.useCallback(function (val) {
440
- setValue(val), emitValue(val);
445
+ setValue(val);
446
+ emitValue(val);
441
447
  }, []),
442
448
  onActiveChange: useEvent(function (value2, index) {
443
- onActiveChange?.(value2, index);
449
+ onActiveChange === null || onActiveChange === void 0 || onActiveChange(value2, index);
444
450
  }),
445
451
  setSelectedIndex,
446
452
  setValueAtIndex: React.useCallback(function (index, value2) {
@@ -456,8 +462,8 @@ function SelectInner(props) {
456
462
  adaptScope,
457
463
  disablePreventBodyScroll,
458
464
  dir,
459
- blockSelection: !1,
460
- fallback: !1,
465
+ blockSelection: false,
466
+ fallback: false,
461
467
  forceUpdate,
462
468
  valueNode,
463
469
  onValueNodeChange: setValueNode,
@@ -469,6 +475,7 @@ function SelectInner(props) {
469
475
  open,
470
476
  native,
471
477
  renderValue,
478
+ lazyMount,
472
479
  children: /* @__PURE__ */_jsx(SelectSheetController, {
473
480
  onOpenChange: setOpen,
474
481
  scope,
@@ -485,6 +492,11 @@ function SelectInner(props) {
485
492
  })
486
493
  })
487
494
  });
495
+ if (zIndex !== void 0) return /* @__PURE__ */_jsx(SelectZIndexContext.Provider, {
496
+ value: zIndex,
497
+ children: content
498
+ });
499
+ return content;
488
500
  }
489
501
  export { Select, SelectGroupFrame, SelectIcon, SelectSeparator };
490
502
  //# sourceMappingURL=Select.native.js.map