@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
@@ -5,135 +5,185 @@ import { ListItem } from "@tamagui/list-item";
5
5
  import * as React from "react";
6
6
  import { useSelectItemParentContext } from "./context.mjs";
7
7
  import { jsx } from "react/jsx-runtime";
8
- const ITEM_NAME = "SelectItem",
9
- {
10
- Provider: SelectItemContextProvider,
11
- useStyledContext: useSelectItemContext
12
- } = createStyledContext(null, ITEM_NAME),
13
- SelectItem = ListItem.Frame.styleable(function (props, forwardedRef) {
14
- const {
15
- scope,
16
- value,
17
- disabled = !1,
18
- textValue: textValueProp,
19
- index,
20
- ...restProps
21
- } = props,
22
- context = useSelectItemParentContext(scope),
23
- {
24
- setSelectedIndex,
25
- listRef,
26
- setOpen,
27
- onChange,
28
- activeIndexSubscribe,
29
- valueSubscribe,
30
- allowMouseUpRef,
31
- allowSelectRef,
32
- setValueAtIndex,
33
- selectTimeoutRef,
34
- dataRef,
35
- interactions,
36
- shouldRenderWebNative,
37
- size,
38
- onActiveChange,
39
- initialValue,
40
- setActiveIndexFast
41
- } = context,
42
- [isSelected, setSelected] = React.useState(initialValue === value);
43
- useIsomorphicLayoutEffect(() => {
44
- initialValue === value && setSelectedIndex(index);
45
- }, []), React.useEffect(() => activeIndexSubscribe(i => {
46
- index === i && (onActiveChange(value, index), isWeb && listRef?.current[index]?.focus());
47
- }), [index]), React.useEffect(() => valueSubscribe(val => {
8
+ const ITEM_NAME = "SelectItem";
9
+ const {
10
+ Provider: SelectItemContextProvider,
11
+ useStyledContext: useSelectItemContext
12
+ } = createStyledContext(null, ITEM_NAME);
13
+ const SelectItem = ListItem.Frame.styleable(function SelectItem2(props, forwardedRef) {
14
+ const {
15
+ scope,
16
+ value,
17
+ disabled = false,
18
+ textValue: textValueProp,
19
+ index,
20
+ ...restProps
21
+ } = props;
22
+ const context = useSelectItemParentContext(scope);
23
+ const {
24
+ setSelectedIndex,
25
+ listRef,
26
+ setOpen,
27
+ onChange,
28
+ activeIndexSubscribe,
29
+ activeIndexRef,
30
+ valueSubscribe,
31
+ allowMouseUpRef,
32
+ allowSelectRef,
33
+ setValueAtIndex,
34
+ selectTimeoutRef,
35
+ dataRef,
36
+ interactions,
37
+ shouldRenderWebNative,
38
+ size,
39
+ onActiveChange,
40
+ initialValue,
41
+ setActiveIndexFast
42
+ } = context;
43
+ const [isSelected, setSelected] = React.useState(initialValue === value);
44
+ useIsomorphicLayoutEffect(() => {
45
+ if (initialValue === value) {
46
+ setSelectedIndex(index);
47
+ }
48
+ }, []);
49
+ React.useEffect(() => {
50
+ const handleActiveIndex = i => {
51
+ if (index === i) {
52
+ onActiveChange(value, index);
53
+ if (isWeb) {
54
+ requestAnimationFrame(() => {
55
+ listRef?.current[index]?.focus();
56
+ });
57
+ }
58
+ }
59
+ };
60
+ const currentActiveIndex = activeIndexRef?.current;
61
+ if (currentActiveIndex !== null && currentActiveIndex !== void 0) {
62
+ handleActiveIndex(currentActiveIndex);
63
+ }
64
+ return activeIndexSubscribe(handleActiveIndex);
65
+ }, [index]);
66
+ React.useEffect(() => {
67
+ return valueSubscribe(val => {
48
68
  setSelected(val === value);
49
- }), [value]);
50
- const textId = React.useId(),
51
- refCallback = React.useCallback(node => {
52
- isWeb && node instanceof HTMLElement && listRef && (listRef.current[index] = node);
53
- }, [index, listRef]),
54
- composedRefs = useComposedRefs(forwardedRef, refCallback);
55
- useIsomorphicLayoutEffect(() => {
56
- setValueAtIndex(index, value);
57
- }, [index, setValueAtIndex, value]);
58
- function handleSelect() {
59
- setSelectedIndex(index), onChange(value), setOpen(!1);
69
+ });
70
+ }, [value]);
71
+ const textId = React.useId();
72
+ const refCallback = React.useCallback(node => {
73
+ if (!isWeb) return;
74
+ if (node instanceof HTMLElement) {
75
+ if (listRef) {
76
+ listRef.current[index] = node;
77
+ }
60
78
  }
61
- const selectItemProps = React.useMemo(() => interactions ? interactions.getItemProps({
79
+ }, [index, listRef]);
80
+ const composedRefs = useComposedRefs(forwardedRef, refCallback);
81
+ useIsomorphicLayoutEffect(() => {
82
+ setValueAtIndex(index, value);
83
+ }, [index, setValueAtIndex, value]);
84
+ function handleSelect() {
85
+ setSelectedIndex(index);
86
+ onChange(value);
87
+ setOpen(false);
88
+ }
89
+ const selectItemProps = React.useMemo(() => {
90
+ return interactions ? interactions.getItemProps({
62
91
  onTouchMove() {
63
- allowSelectRef.current = !0, allowMouseUpRef.current = !1;
92
+ allowSelectRef.current = true;
93
+ allowMouseUpRef.current = false;
64
94
  },
65
95
  onTouchEnd() {
66
- allowSelectRef.current = !1, allowMouseUpRef.current = !0;
96
+ allowSelectRef.current = false;
97
+ allowMouseUpRef.current = true;
67
98
  },
68
99
  onKeyDown(event) {
69
- if (event.key === "Enter" || event.key === " " && !dataRef?.current.typing) event.preventDefault(), handleSelect();else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
70
- event.preventDefault(), event.stopPropagation();
100
+ if (event.key === "Enter" || event.key === " " && !dataRef?.current.typing) {
101
+ event.preventDefault();
102
+ handleSelect();
103
+ } else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
104
+ event.preventDefault();
105
+ event.stopPropagation();
71
106
  const itemCount = listRef?.current.length ?? 0;
72
107
  if (itemCount === 0) return;
73
108
  let nextIndex;
74
- event.key === "ArrowDown" ? nextIndex = index + 1 >= itemCount ? 0 : index + 1 : nextIndex = index - 1 < 0 ? itemCount - 1 : index - 1, setActiveIndexFast?.(nextIndex);
75
- } else allowSelectRef.current = !0;
109
+ if (event.key === "ArrowDown") {
110
+ nextIndex = index + 1 >= itemCount ? 0 : index + 1;
111
+ } else {
112
+ nextIndex = index - 1 < 0 ? itemCount - 1 : index - 1;
113
+ }
114
+ setActiveIndexFast?.(nextIndex);
115
+ } else {
116
+ allowSelectRef.current = true;
117
+ }
76
118
  },
77
119
  onClick() {
78
- allowSelectRef.current && handleSelect();
120
+ if (allowSelectRef.current) {
121
+ handleSelect();
122
+ }
79
123
  },
80
124
  onMouseUp() {
81
125
  if (!allowMouseUpRef.current) {
82
- allowMouseUpRef.current = !0, allowSelectRef.current = !0;
126
+ allowMouseUpRef.current = true;
127
+ allowSelectRef.current = true;
83
128
  return;
84
129
  }
85
- allowSelectRef.current && handleSelect(), clearTimeout(selectTimeoutRef.current), selectTimeoutRef.current = setTimeout(() => {
86
- allowSelectRef.current = !0;
130
+ if (allowSelectRef.current) {
131
+ handleSelect();
132
+ }
133
+ clearTimeout(selectTimeoutRef.current);
134
+ selectTimeoutRef.current = setTimeout(() => {
135
+ allowSelectRef.current = true;
87
136
  });
88
137
  }
89
138
  }) : {
90
139
  onPress: handleSelect
91
- }, [handleSelect, index, listRef, setActiveIndexFast]);
92
- return /* @__PURE__ */jsx(SelectItemContextProvider, {
93
- scope,
140
+ };
141
+ }, [handleSelect, index, listRef, setActiveIndexFast]);
142
+ return /* @__PURE__ */jsx(SelectItemContextProvider, {
143
+ scope,
144
+ value,
145
+ textId: textId || "",
146
+ isSelected,
147
+ children: shouldRenderWebNative ? /* @__PURE__ */jsx("option", {
94
148
  value,
95
- textId: textId || "",
96
- isSelected,
97
- children: shouldRenderWebNative ? /* @__PURE__ */jsx("option", {
98
- value,
99
- children: props.children
100
- }) : /* @__PURE__ */jsx(ListItem.Frame, {
101
- render: "div",
102
- componentName: ITEM_NAME,
103
- ref: composedRefs,
104
- role: "option",
105
- "aria-labelledby": textId,
106
- "aria-selected": isSelected,
107
- "data-state": isSelected ? "active" : "inactive",
108
- "aria-disabled": disabled || void 0,
109
- "data-disabled": disabled ? "" : void 0,
110
- tabIndex: disabled ? void 0 : -1,
111
- ...(!props.unstyled && {
112
- cursor: "default",
113
- size,
114
- outlineOffset: -0.5,
115
- zIndex: 100,
116
- hoverStyle: {
117
- backgroundColor: "$backgroundHover"
118
- },
119
- pressStyle: {
120
- backgroundColor: "$backgroundPress"
121
- },
122
- focusStyle: {
123
- backgroundColor: "$backgroundFocus"
124
- },
125
- focusVisibleStyle: {
126
- outlineColor: "$outlineColor",
127
- outlineWidth: 1,
128
- outlineStyle: "solid"
129
- }
130
- }),
131
- ...restProps,
132
- ...selectItemProps
133
- })
134
- });
135
- }, {
136
- disableTheme: !0
149
+ children: props.children
150
+ }) : /* @__PURE__ */jsx(ListItem.Frame, {
151
+ render: "div",
152
+ componentName: ITEM_NAME,
153
+ ref: composedRefs,
154
+ role: "option",
155
+ "aria-labelledby": textId,
156
+ "aria-selected": isSelected,
157
+ "data-state": isSelected ? "active" : "inactive",
158
+ "aria-disabled": disabled || void 0,
159
+ "data-disabled": disabled ? "" : void 0,
160
+ tabIndex: disabled ? void 0 : -1,
161
+ ...(!props.unstyled && {
162
+ cursor: "default",
163
+ size,
164
+ outlineOffset: -0.5,
165
+ zIndex: 100,
166
+ hoverStyle: {
167
+ backgroundColor: "$backgroundHover"
168
+ },
169
+ pressStyle: {
170
+ backgroundColor: "$backgroundPress"
171
+ },
172
+ focusStyle: {
173
+ backgroundColor: "$backgroundFocus"
174
+ },
175
+ focusVisibleStyle: {
176
+ outlineColor: "$outlineColor",
177
+ outlineWidth: 1,
178
+ outlineStyle: "solid"
179
+ }
180
+ }),
181
+ ...restProps,
182
+ ...selectItemProps
183
+ })
137
184
  });
185
+ }, {
186
+ disableTheme: true
187
+ });
138
188
  export { SelectItem, SelectItemContextProvider, useSelectItemContext };
139
189
  //# sourceMappingURL=SelectItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useComposedRefs","isWeb","useIsomorphicLayoutEffect","createStyledContext","ListItem","React","useSelectItemParentContext","jsx","ITEM_NAME","Provider","SelectItemContextProvider","useStyledContext","useSelectItemContext","SelectItem","Frame","styleable","props","forwardedRef","scope","value","disabled","textValue","textValueProp","index","restProps","context","setSelectedIndex","listRef","setOpen","onChange","activeIndexSubscribe","valueSubscribe","allowMouseUpRef","allowSelectRef","setValueAtIndex","selectTimeoutRef","dataRef","interactions","shouldRenderWebNative","size","onActiveChange","initialValue","setActiveIndexFast","isSelected","setSelected","useState","useEffect","i","current","focus","val","textId","useId","refCallback","useCallback","node","HTMLElement","composedRefs","handleSelect","selectItemProps","useMemo","getItemProps","onTouchMove","onTouchEnd","onKeyDown","event","key","typing","preventDefault","stopPropagation","itemCount","length","nextIndex","onClick","onMouseUp","clearTimeout","setTimeout","onPress","children","render","componentName","ref","role","tabIndex","unstyled","cursor","outlineOffset","zIndex","hoverStyle","backgroundColor","pressStyle","focusStyle","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","disableTheme"],"sources":["../../src/SelectItem.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useComposedRefs","isWeb","useIsomorphicLayoutEffect","createStyledContext","ListItem","React","useSelectItemParentContext","jsx","ITEM_NAME","Provider","SelectItemContextProvider","useStyledContext","useSelectItemContext","SelectItem","Frame","styleable","SelectItem2","props","forwardedRef","scope","value","disabled","textValue","textValueProp","index","restProps","context","setSelectedIndex","listRef","setOpen","onChange","activeIndexSubscribe","activeIndexRef","valueSubscribe","allowMouseUpRef","allowSelectRef","setValueAtIndex","selectTimeoutRef","dataRef","interactions","shouldRenderWebNative","size","onActiveChange","initialValue","setActiveIndexFast","isSelected","setSelected","useState","useEffect","handleActiveIndex","i","requestAnimationFrame","current","focus","currentActiveIndex","val","textId","useId","refCallback","useCallback","node","HTMLElement","composedRefs","handleSelect","selectItemProps","useMemo","getItemProps","onTouchMove","onTouchEnd","onKeyDown","event","key","typing","preventDefault","stopPropagation","itemCount","length","nextIndex","onClick","onMouseUp","clearTimeout","setTimeout","onPress","children","render","componentName","ref","role","tabIndex","unstyled","cursor","outlineOffset","zIndex","hoverStyle","backgroundColor","pressStyle","focusStyle","focusVisibleStyle","outlineColor","outlineWidth","outlineStyle","disableTheme"],"sources":["../../src/SelectItem.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}