@tamagui/select 2.7.6 → 3.0.0-beta.637.1

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 (248) hide show
  1. package/dist/cjs/Select.cjs +409 -467
  2. package/dist/cjs/Select.native.cjs +495 -0
  3. package/dist/cjs/Select.native.js +445 -492
  4. package/dist/cjs/Select.native.js.map +1 -1
  5. package/dist/cjs/SelectContent.cjs +80 -79
  6. package/dist/cjs/SelectContent.native.cjs +30 -0
  7. package/dist/cjs/SelectContent.native.js +18 -22
  8. package/dist/cjs/SelectContent.native.js.map +1 -1
  9. package/dist/cjs/SelectImpl.cjs +299 -319
  10. package/dist/cjs/SelectImpl.native.cjs +30 -0
  11. package/dist/cjs/SelectImpl.native.js +17 -24
  12. package/dist/cjs/SelectImpl.native.js.map +1 -1
  13. package/dist/cjs/SelectItem.cjs +268 -205
  14. package/dist/cjs/SelectItem.native.cjs +317 -0
  15. package/dist/cjs/SelectItem.native.js +291 -211
  16. package/dist/cjs/SelectItem.native.js.map +1 -1
  17. package/dist/cjs/SelectItemText.cjs +49 -79
  18. package/dist/cjs/SelectItemText.native.cjs +74 -0
  19. package/dist/cjs/SelectItemText.native.js +50 -79
  20. package/dist/cjs/SelectItemText.native.js.map +1 -1
  21. package/dist/cjs/SelectScrollButton.cjs +111 -130
  22. package/dist/cjs/SelectScrollButton.native.cjs +38 -0
  23. package/dist/cjs/SelectScrollButton.native.js +25 -22
  24. package/dist/cjs/SelectScrollButton.native.js.map +1 -1
  25. package/dist/cjs/SelectTrigger.cjs +69 -84
  26. package/dist/cjs/SelectTrigger.native.cjs +91 -0
  27. package/dist/cjs/SelectTrigger.native.js +71 -66
  28. package/dist/cjs/SelectTrigger.native.js.map +1 -1
  29. package/dist/cjs/SelectViewport.cjs +119 -142
  30. package/dist/cjs/SelectViewport.native.cjs +73 -0
  31. package/dist/cjs/SelectViewport.native.js +54 -50
  32. package/dist/cjs/SelectViewport.native.js.map +1 -1
  33. package/dist/cjs/constants.cjs +21 -22
  34. package/dist/cjs/constants.native.cjs +41 -0
  35. package/dist/cjs/constants.native.js +21 -21
  36. package/dist/cjs/constants.native.js.map +1 -1
  37. package/dist/cjs/context.cjs +38 -48
  38. package/dist/cjs/context.native.cjs +58 -0
  39. package/dist/cjs/context.native.js +40 -49
  40. package/dist/cjs/context.native.js.map +1 -1
  41. package/dist/cjs/index.cjs +15 -11
  42. package/dist/cjs/index.native.cjs +27 -0
  43. package/dist/cjs/index.native.js +15 -10
  44. package/dist/cjs/index.native.js.map +1 -1
  45. package/dist/cjs/selectionController.cjs +334 -0
  46. package/dist/cjs/selectionController.native.cjs +403 -0
  47. package/dist/cjs/selectionController.native.js +405 -0
  48. package/dist/cjs/selectionController.native.js.map +1 -0
  49. package/dist/cjs/types.cjs +10 -11
  50. package/dist/cjs/types.native.cjs +19 -0
  51. package/dist/cjs/types.native.js +10 -10
  52. package/dist/cjs/types.native.js.map +1 -1
  53. package/dist/esm/Select.mjs +382 -443
  54. package/dist/esm/Select.mjs.map +1 -1
  55. package/dist/esm/Select.native.js +418 -469
  56. package/dist/esm/Select.native.js.map +1 -1
  57. package/dist/esm/SelectContent.mjs +67 -61
  58. package/dist/esm/SelectContent.mjs.map +1 -1
  59. package/dist/esm/SelectContent.native.js +4 -5
  60. package/dist/esm/SelectContent.native.js.map +1 -1
  61. package/dist/esm/SelectImpl.mjs +284 -294
  62. package/dist/esm/SelectImpl.mjs.map +1 -1
  63. package/dist/esm/SelectImpl.native.js +5 -8
  64. package/dist/esm/SelectImpl.native.js.map +1 -1
  65. package/dist/esm/SelectItem.mjs +252 -182
  66. package/dist/esm/SelectItem.mjs.map +1 -1
  67. package/dist/esm/SelectItem.native.js +276 -190
  68. package/dist/esm/SelectItem.native.js.map +1 -1
  69. package/dist/esm/SelectItemText.mjs +33 -55
  70. package/dist/esm/SelectItemText.mjs.map +1 -1
  71. package/dist/esm/SelectItemText.native.js +34 -56
  72. package/dist/esm/SelectItemText.native.js.map +1 -1
  73. package/dist/esm/SelectScrollButton.mjs +95 -107
  74. package/dist/esm/SelectScrollButton.mjs.map +1 -1
  75. package/dist/esm/SelectScrollButton.native.js +11 -7
  76. package/dist/esm/SelectScrollButton.native.js.map +1 -1
  77. package/dist/esm/SelectTrigger.mjs +56 -58
  78. package/dist/esm/SelectTrigger.mjs.map +1 -1
  79. package/dist/esm/SelectTrigger.native.js +54 -44
  80. package/dist/esm/SelectTrigger.native.js.map +1 -1
  81. package/dist/esm/SelectViewport.mjs +104 -119
  82. package/dist/esm/SelectViewport.mjs.map +1 -1
  83. package/dist/esm/SelectViewport.native.js +44 -39
  84. package/dist/esm/SelectViewport.native.js.map +1 -1
  85. package/dist/esm/constants.mjs +1 -0
  86. package/dist/esm/constants.mjs.map +1 -1
  87. package/dist/esm/constants.native.js +1 -0
  88. package/dist/esm/constants.native.js.map +1 -1
  89. package/dist/esm/context.mjs +20 -28
  90. package/dist/esm/context.mjs.map +1 -1
  91. package/dist/esm/context.native.js +23 -31
  92. package/dist/esm/context.native.js.map +1 -1
  93. package/dist/esm/index.js +13 -3
  94. package/dist/esm/index.mjs +13 -3
  95. package/dist/esm/index.native.js +13 -3
  96. package/dist/esm/selectionController.mjs +305 -0
  97. package/dist/esm/selectionController.mjs.map +1 -0
  98. package/dist/esm/selectionController.native.js +372 -0
  99. package/dist/esm/selectionController.native.js.map +1 -0
  100. package/dist/esm/types.mjs +0 -2
  101. package/dist/esm/types.native.js +0 -2
  102. package/dist/jsx/Select.mjs +382 -443
  103. package/dist/jsx/Select.mjs.map +1 -1
  104. package/dist/jsx/Select.native.cjs +495 -0
  105. package/dist/jsx/Select.native.js +445 -492
  106. package/dist/jsx/Select.native.js.map +1 -1
  107. package/dist/jsx/SelectContent.mjs +67 -61
  108. package/dist/jsx/SelectContent.mjs.map +1 -1
  109. package/dist/jsx/SelectContent.native.cjs +30 -0
  110. package/dist/jsx/SelectContent.native.js +18 -22
  111. package/dist/jsx/SelectContent.native.js.map +1 -1
  112. package/dist/jsx/SelectImpl.mjs +284 -294
  113. package/dist/jsx/SelectImpl.mjs.map +1 -1
  114. package/dist/jsx/SelectImpl.native.cjs +30 -0
  115. package/dist/jsx/SelectImpl.native.js +17 -24
  116. package/dist/jsx/SelectImpl.native.js.map +1 -1
  117. package/dist/jsx/SelectItem.mjs +252 -182
  118. package/dist/jsx/SelectItem.mjs.map +1 -1
  119. package/dist/jsx/SelectItem.native.cjs +317 -0
  120. package/dist/jsx/SelectItem.native.js +291 -211
  121. package/dist/jsx/SelectItem.native.js.map +1 -1
  122. package/dist/jsx/SelectItemText.mjs +33 -55
  123. package/dist/jsx/SelectItemText.mjs.map +1 -1
  124. package/dist/jsx/SelectItemText.native.cjs +74 -0
  125. package/dist/jsx/SelectItemText.native.js +50 -79
  126. package/dist/jsx/SelectItemText.native.js.map +1 -1
  127. package/dist/jsx/SelectScrollButton.mjs +95 -107
  128. package/dist/jsx/SelectScrollButton.mjs.map +1 -1
  129. package/dist/jsx/SelectScrollButton.native.cjs +38 -0
  130. package/dist/jsx/SelectScrollButton.native.js +25 -22
  131. package/dist/jsx/SelectScrollButton.native.js.map +1 -1
  132. package/dist/jsx/SelectTrigger.mjs +56 -58
  133. package/dist/jsx/SelectTrigger.mjs.map +1 -1
  134. package/dist/jsx/SelectTrigger.native.cjs +91 -0
  135. package/dist/jsx/SelectTrigger.native.js +71 -66
  136. package/dist/jsx/SelectTrigger.native.js.map +1 -1
  137. package/dist/jsx/SelectViewport.mjs +104 -119
  138. package/dist/jsx/SelectViewport.mjs.map +1 -1
  139. package/dist/jsx/SelectViewport.native.cjs +73 -0
  140. package/dist/jsx/SelectViewport.native.js +54 -50
  141. package/dist/jsx/SelectViewport.native.js.map +1 -1
  142. package/dist/jsx/constants.mjs +1 -0
  143. package/dist/jsx/constants.mjs.map +1 -1
  144. package/dist/jsx/constants.native.cjs +41 -0
  145. package/dist/jsx/constants.native.js +21 -21
  146. package/dist/jsx/constants.native.js.map +1 -1
  147. package/dist/jsx/context.mjs +20 -28
  148. package/dist/jsx/context.mjs.map +1 -1
  149. package/dist/jsx/context.native.cjs +58 -0
  150. package/dist/jsx/context.native.js +40 -49
  151. package/dist/jsx/context.native.js.map +1 -1
  152. package/dist/jsx/index.js +13 -3
  153. package/dist/jsx/index.mjs +13 -3
  154. package/dist/jsx/index.native.cjs +27 -0
  155. package/dist/jsx/index.native.js +15 -10
  156. package/dist/jsx/index.native.js.map +1 -1
  157. package/dist/jsx/selectionController.mjs +305 -0
  158. package/dist/jsx/selectionController.mjs.map +1 -0
  159. package/dist/jsx/selectionController.native.cjs +403 -0
  160. package/dist/jsx/selectionController.native.js +405 -0
  161. package/dist/jsx/selectionController.native.js.map +1 -0
  162. package/dist/jsx/types.mjs +0 -2
  163. package/dist/jsx/types.native.cjs +19 -0
  164. package/dist/jsx/types.native.js +10 -10
  165. package/dist/jsx/types.native.js.map +1 -1
  166. package/package.json +28 -28
  167. package/src/Select.tsx +457 -357
  168. package/src/SelectContent.tsx +46 -16
  169. package/src/SelectImpl.native.tsx +0 -8
  170. package/src/SelectImpl.tsx +87 -100
  171. package/src/SelectItem.tsx +282 -136
  172. package/src/SelectItemText.tsx +16 -33
  173. package/src/SelectScrollButton.native.tsx +13 -4
  174. package/src/SelectScrollButton.tsx +56 -41
  175. package/src/SelectTrigger.tsx +77 -53
  176. package/src/SelectViewport.native.tsx +42 -25
  177. package/src/SelectViewport.tsx +52 -51
  178. package/src/context.tsx +6 -2
  179. package/src/index.tsx +5 -2
  180. package/src/selectionController.ts +389 -0
  181. package/src/types.tsx +88 -45
  182. package/types/Select.d.ts +139 -201
  183. package/types/Select.d.ts.map +1 -1
  184. package/types/SelectContent.d.ts +1 -1
  185. package/types/SelectContent.d.ts.map +1 -1
  186. package/types/SelectContent.native.d.ts.map +1 -1
  187. package/types/SelectImpl.d.ts +2 -1
  188. package/types/SelectImpl.d.ts.map +1 -1
  189. package/types/SelectImpl.native.d.ts +1 -5
  190. package/types/SelectImpl.native.d.ts.map +1 -1
  191. package/types/SelectItem.d.ts +13 -16
  192. package/types/SelectItem.d.ts.map +1 -1
  193. package/types/SelectItemText.d.ts +9 -13
  194. package/types/SelectItemText.d.ts.map +1 -1
  195. package/types/SelectScrollButton.d.ts +15 -2
  196. package/types/SelectScrollButton.d.ts.map +1 -1
  197. package/types/SelectScrollButton.native.d.ts +16 -3
  198. package/types/SelectScrollButton.native.d.ts.map +1 -1
  199. package/types/SelectTrigger.d.ts +11 -23
  200. package/types/SelectTrigger.d.ts.map +1 -1
  201. package/types/SelectViewport.d.ts +11 -38
  202. package/types/SelectViewport.d.ts.map +1 -1
  203. package/types/SelectViewport.native.d.ts +15 -4
  204. package/types/SelectViewport.native.d.ts.map +1 -1
  205. package/types/context.d.ts +2 -0
  206. package/types/context.d.ts.map +1 -1
  207. package/types/index.d.ts +5 -2
  208. package/types/index.d.ts.map +1 -1
  209. package/types/selectionController.d.ts +88 -0
  210. package/types/selectionController.d.ts.map +1 -0
  211. package/types/types.d.ts +47 -37
  212. package/types/types.d.ts.map +1 -1
  213. package/dist/cjs/BubbleSelect.cjs +0 -50
  214. package/dist/cjs/BubbleSelect.native.js +0 -30
  215. package/dist/cjs/BubbleSelect.native.js.map +0 -1
  216. package/dist/cjs/useSelectBreakpointActive.cjs +0 -32
  217. package/dist/cjs/useSelectBreakpointActive.native.js +0 -35
  218. package/dist/cjs/useSelectBreakpointActive.native.js.map +0 -1
  219. package/dist/esm/BubbleSelect.mjs +0 -27
  220. package/dist/esm/BubbleSelect.mjs.map +0 -1
  221. package/dist/esm/BubbleSelect.native.js +0 -4
  222. package/dist/esm/BubbleSelect.native.js.map +0 -1
  223. package/dist/esm/index.js.map +0 -1
  224. package/dist/esm/index.mjs.map +0 -1
  225. package/dist/esm/index.native.js.map +0 -1
  226. package/dist/esm/types.mjs.map +0 -1
  227. package/dist/esm/types.native.js.map +0 -1
  228. package/dist/esm/useSelectBreakpointActive.mjs +0 -7
  229. package/dist/esm/useSelectBreakpointActive.mjs.map +0 -1
  230. package/dist/esm/useSelectBreakpointActive.native.js +0 -7
  231. package/dist/esm/useSelectBreakpointActive.native.js.map +0 -1
  232. package/dist/jsx/BubbleSelect.mjs +0 -27
  233. package/dist/jsx/BubbleSelect.mjs.map +0 -1
  234. package/dist/jsx/BubbleSelect.native.js +0 -30
  235. package/dist/jsx/BubbleSelect.native.js.map +0 -1
  236. package/dist/jsx/index.js.map +0 -1
  237. package/dist/jsx/index.mjs.map +0 -1
  238. package/dist/jsx/types.mjs.map +0 -1
  239. package/dist/jsx/useSelectBreakpointActive.mjs +0 -7
  240. package/dist/jsx/useSelectBreakpointActive.mjs.map +0 -1
  241. package/dist/jsx/useSelectBreakpointActive.native.js +0 -35
  242. package/dist/jsx/useSelectBreakpointActive.native.js.map +0 -1
  243. package/src/BubbleSelect.tsx +0 -50
  244. package/src/useSelectBreakpointActive.tsx +0 -7
  245. package/types/BubbleSelect.d.ts +0 -2
  246. package/types/BubbleSelect.d.ts.map +0 -1
  247. package/types/useSelectBreakpointActive.d.ts +0 -3
  248. package/types/useSelectBreakpointActive.d.ts.map +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var SelectImpl_native_exports = {};
25
+ __export(SelectImpl_native_exports, { SelectInlineImpl: () => SelectInlineImpl });
26
+ module.exports = __toCommonJS(SelectImpl_native_exports);
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var SelectInlineImpl = function(props) {
29
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children });
30
+ };
@@ -1,39 +1,32 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
24
  var SelectImpl_native_exports = {};
26
- __export(SelectImpl_native_exports, {
27
- SelectInlineImpl: () => SelectInlineImpl
28
- });
25
+ __export(SelectImpl_native_exports, { SelectInlineImpl: () => SelectInlineImpl });
29
26
  module.exports = __toCommonJS(SelectImpl_native_exports);
30
27
  var import_jsx_runtime = require("react/jsx-runtime");
31
- var SelectInlineImpl = function (props) {
32
- if (process.env.NODE_ENV === "development") {
33
- console.warn("Sheet not implemented inline on native");
34
- }
35
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
36
- children: props.children
37
- });
28
+ var SelectInlineImpl = function(props) {
29
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: props.children });
38
30
  };
31
+
39
32
  //# sourceMappingURL=SelectImpl.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SelectImpl_native_exports","__export","SelectInlineImpl","module","exports","__toCommonJS","import_jsx_runtime","require","props","process","env","NODE_ENV","console","warn","jsx","Fragment","children"],"sources":["../../src/SelectImpl.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,yBAAA;AAAA,IAAAM,kBAAA,GAAmDC,OAAA;AAIxC,IAAIL,gBAAA,GAAmB,SAAAA,CAASM,KAAA,EAAO;EAC9C,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;IACxCC,OAAA,CAAQC,IAAA,CAAK,wCAAwC;EACzD;EACA,OAAqB,mBAAAP,kBAAA,CAAAQ,GAAA,EAAKR,kBAAA,CAAAS,QAAA,EAAW;IACjCC,QAAA,EAAUR,KAAA,CAAMQ;EACpB,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"file":"SelectImpl.native.js","names":[],"sources":["cjs/SelectImpl.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar SelectImpl_native_exports = {};\n__export(SelectImpl_native_exports, {\n SelectInlineImpl: () => SelectInlineImpl\n});\nmodule.exports = __toCommonJS(SelectImpl_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar SelectInlineImpl = function(props) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: props.children\n });\n};\n//# sourceMappingURL=SelectImpl.native.js.map\n"],"mappings":";;;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,4BAA4B,CAAC;AACjC,SAAS,2BAA2B,EAClC,wBAAwB,iBAC1B,CAAC;AACD,OAAO,UAAU,aAAa,yBAAyB;AACvD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,mBAAmB,SAAS,OAAO;CACrC,OAAuB,iBAAC,GAAG,mBAAmB,KAAK,mBAAmB,UAAU,EAC9E,UAAU,MAAM,SAClB,CAAC;AACH"}
@@ -1,3 +1,4 @@
1
+
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -5,223 +6,285 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
8
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
12
13
  };
13
14
  var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
21
22
  };
22
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: true
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
+ value: mod,
25
+ enumerable: true
30
26
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
28
  var SelectItem_exports = {};
35
29
  __export(SelectItem_exports, {
36
- SelectItem: () => SelectItem,
37
- SelectItemContextProvider: () => SelectItemContextProvider,
38
- useSelectItemContext: () => useSelectItemContext
30
+ SelectItem: () => SelectItem,
31
+ SelectItemContextProvider: () => SelectItemContextProvider,
32
+ SelectItemFrame: () => SelectItemFrame,
33
+ useSelectItemContext: () => useSelectItemContext
39
34
  });
40
35
  module.exports = __toCommonJS(SelectItem_exports);
41
36
  var import_compose_refs = require("@tamagui/compose-refs");
37
+ var import_adapt = require("@tamagui/adapt");
42
38
  var import_constants = require("@tamagui/constants");
43
39
  var import_core = require("@tamagui/core");
44
- var import_list_item = require("@tamagui/list-item");
40
+ var import_helpers = require("@tamagui/helpers");
45
41
  var React = __toESM(require("react"), 1);
46
42
  var import_context = require("./context.cjs");
43
+ var import_selectionController = require("./selectionController.cjs");
47
44
  var import_jsx_runtime = require("react/jsx-runtime");
48
45
  const ITEM_NAME = "SelectItem";
49
- const {
50
- Provider: SelectItemContextProvider,
51
- useStyledContext: useSelectItemContext
52
- } = (0, import_core.createStyledContext)(null, ITEM_NAME);
53
- const SelectItem = import_list_item.ListItem.Frame.styleable(function SelectItem2(props, forwardedRef) {
54
- const {
55
- scope,
56
- value,
57
- disabled = false,
58
- textValue: textValueProp,
59
- index,
60
- ...restProps
61
- } = props;
62
- const context = (0, import_context.useSelectItemParentContext)(scope);
63
- const {
64
- setSelectedIndex,
65
- listRef,
66
- setOpen,
67
- onChange,
68
- activeIndexSubscribe,
69
- activeIndexRef,
70
- valueSubscribe,
71
- allowMouseUpRef,
72
- allowSelectRef,
73
- setValueAtIndex,
74
- selectTimeoutRef,
75
- dataRef,
76
- interactions,
77
- shouldRenderWebNative,
78
- size,
79
- onActiveChange,
80
- initialValue,
81
- setActiveIndexFast
82
- } = context;
83
- const [isSelected, setSelected] = React.useState(initialValue === value);
84
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
85
- if (initialValue === value) {
86
- setSelectedIndex(index);
87
- }
88
- }, []);
89
- React.useEffect(() => {
90
- const handleActiveIndex = i => {
91
- if (index === i) {
92
- onActiveChange(value, index);
93
- if (import_constants.isWeb) {
94
- requestAnimationFrame(() => {
95
- listRef?.current[index]?.focus();
96
- });
97
- }
98
- }
99
- };
100
- const currentActiveIndex = activeIndexRef?.current;
101
- if (currentActiveIndex !== null && currentActiveIndex !== void 0) {
102
- handleActiveIndex(currentActiveIndex);
103
- }
104
- return activeIndexSubscribe(handleActiveIndex);
105
- }, [index]);
106
- React.useEffect(() => {
107
- return valueSubscribe(val => {
108
- setSelected(val === value);
109
- });
110
- }, [value]);
111
- const textId = React.useId();
112
- const refCallback = React.useCallback(node => {
113
- if (!import_constants.isWeb) return;
114
- if (node instanceof HTMLElement) {
115
- if (listRef) {
116
- listRef.current[index] = node;
117
- }
118
- }
119
- }, [index, listRef]);
120
- const composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, refCallback);
121
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
122
- setValueAtIndex(index, value);
123
- }, [index, setValueAtIndex, value]);
124
- function handleSelect() {
125
- setSelectedIndex(index);
126
- onChange(value);
127
- setOpen(false);
128
- }
129
- const selectItemProps = React.useMemo(() => {
130
- return interactions ? interactions.getItemProps({
131
- onTouchMove() {
132
- allowSelectRef.current = true;
133
- allowMouseUpRef.current = false;
134
- },
135
- onTouchEnd() {
136
- allowSelectRef.current = false;
137
- allowMouseUpRef.current = true;
138
- },
139
- onKeyDown(event) {
140
- if (event.key === "Enter" || event.key === " " && !dataRef?.current.typing) {
141
- event.preventDefault();
142
- handleSelect();
143
- } else if (event.key === "ArrowDown" || event.key === "ArrowUp") {
144
- event.preventDefault();
145
- event.stopPropagation();
146
- const itemCount = listRef?.current.length ?? 0;
147
- if (itemCount === 0) return;
148
- let nextIndex;
149
- if (event.key === "ArrowDown") {
150
- nextIndex = index + 1 >= itemCount ? 0 : index + 1;
151
- } else {
152
- nextIndex = index - 1 < 0 ? itemCount - 1 : index - 1;
153
- }
154
- setActiveIndexFast?.(nextIndex);
155
- } else {
156
- allowSelectRef.current = true;
157
- }
158
- },
159
- onClick() {
160
- if (allowSelectRef.current) {
161
- handleSelect();
162
- }
163
- },
164
- onMouseUp() {
165
- if (!allowMouseUpRef.current) {
166
- allowMouseUpRef.current = true;
167
- allowSelectRef.current = true;
168
- return;
169
- }
170
- if (allowSelectRef.current) {
171
- handleSelect();
172
- }
173
- clearTimeout(selectTimeoutRef.current);
174
- selectTimeoutRef.current = setTimeout(() => {
175
- allowSelectRef.current = true;
176
- });
177
- }
178
- }) : {
179
- onPress: handleSelect
180
- };
181
- }, [handleSelect, index, listRef, setActiveIndexFast]);
182
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectItemContextProvider, {
183
- scope,
184
- value,
185
- textId: textId || "",
186
- isSelected,
187
- children: shouldRenderWebNative ? /* @__PURE__ */(0, import_jsx_runtime.jsx)("option", {
188
- value,
189
- children: props.children
190
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_list_item.ListItem.Frame, {
191
- render: "div",
192
- componentName: ITEM_NAME,
193
- ref: composedRefs,
194
- role: "option",
195
- "aria-labelledby": textId,
196
- "aria-selected": isSelected,
197
- "data-state": isSelected ? "active" : "inactive",
198
- "aria-disabled": disabled || void 0,
199
- "data-disabled": disabled ? "" : void 0,
200
- tabIndex: disabled ? void 0 : -1,
201
- ...(!props.unstyled && {
202
- cursor: "default",
203
- size,
204
- outlineOffset: -0.5,
205
- zIndex: 100,
206
- hoverStyle: {
207
- backgroundColor: "$backgroundHover"
208
- },
209
- pressStyle: {
210
- backgroundColor: "$backgroundPress"
211
- },
212
- focusStyle: {
213
- backgroundColor: "$backgroundFocus"
214
- },
215
- focusVisibleStyle: {
216
- outlineColor: "$outlineColor",
217
- outlineWidth: 1,
218
- outlineStyle: "solid"
219
- }
220
- }),
221
- ...restProps,
222
- ...selectItemProps
223
- })
224
- });
225
- }, {
226
- disableTheme: true
227
- });
46
+ const { Provider: SelectItemContextProvider, useStyledContext: useSelectItemContext } = (0, import_core.createStyledContext)(null, ITEM_NAME);
47
+ const SelectItemFrame = (0, import_core.styled)(import_core.View, {
48
+ displayName: ITEM_NAME,
49
+ alignItems: "center",
50
+ flexDirection: "row"
51
+ });
52
+ const SelectItem = (0, import_core.createStyledHOC)(SelectItemFrame, function SelectItem2(props, forwardedRef) {
53
+ const { scope, value, disabled: disabledProp, "aria-disabled": ariaDisabled, textValue: textValueProp, ...restProps } = props;
54
+ const disabled = disabledProp ?? ariaDisabled === true;
55
+ const context = (0, import_context.useSelectItemParentContext)(scope);
56
+ const selectContext = (0, import_context.useSelectContext)(scope);
57
+ const isAdapted = (0, import_adapt.useAdaptIsActive)(selectContext.adaptScope);
58
+ const { listRef, registry, mode, selectedValues, selectValue, activeIndexSubscribe, activeIndexRef, allowMouseUpRef, allowSelectRef, selectTimeoutRef, interactions, shouldRenderWebNative, setActiveIndexFast, moveActive, search } = context;
59
+ const isSelected = selectedValues.includes(value);
60
+ const pendingMouseUpSelectionRef = React.useRef(false);
61
+ const itemNodeRef = React.useRef(null);
62
+ const [, rerenderRegistry] = React.useReducer((version) => version + 1, 0);
63
+ const registrationRef = React.useRef(null);
64
+ const initialRegistration = React.useRef({
65
+ value,
66
+ disabled,
67
+ textValue: textValueProp
68
+ });
69
+ (0, import_constants.useIsomorphicLayoutEffect)(() => registry.subscribe(() => rerenderRegistry()), [registry]);
70
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
71
+ const registration = registry.registerItem(initialRegistration.current);
72
+ registrationRef.current = registration;
73
+ const registeredNode = itemNodeRef.current;
74
+ registration.setNode(registeredNode);
75
+ const registeredIndex = registry.getItems().findIndex((item) => item.id === registration.id);
76
+ if (import_constants.isWeb && listRef && registeredIndex >= 0 && registeredNode instanceof HTMLElement) {
77
+ listRef.current[registeredIndex] = registeredNode;
78
+ }
79
+ return () => {
80
+ const currentIndex = registry.getItems().findIndex((item) => item.id === registration.id);
81
+ if (listRef && currentIndex >= 0 && listRef.current[currentIndex] === registeredNode) {
82
+ listRef.current[currentIndex] = null;
83
+ }
84
+ registrationRef.current = null;
85
+ registration.unregister();
86
+ };
87
+ }, [registry]);
88
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
89
+ registrationRef.current?.update({
90
+ value,
91
+ disabled,
92
+ textValue: textValueProp
93
+ });
94
+ }, [
95
+ disabled,
96
+ textValueProp,
97
+ value
98
+ ]);
99
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
100
+ registrationRef.current?.setNode(itemNodeRef.current);
101
+ });
102
+ const index = registry.getIndex(value);
103
+ React.useEffect(() => {
104
+ const handleActiveIndex = (i) => {
105
+ if (index === i) {
106
+ if (import_constants.isWeb) {
107
+ requestAnimationFrame(() => {
108
+ listRef?.current[index]?.focus();
109
+ });
110
+ }
111
+ }
112
+ };
113
+ const currentActiveIndex = activeIndexRef?.current;
114
+ if (currentActiveIndex !== null && currentActiveIndex !== void 0) {
115
+ handleActiveIndex(currentActiveIndex);
116
+ }
117
+ return activeIndexSubscribe(handleActiveIndex);
118
+ }, [
119
+ activeIndexRef,
120
+ activeIndexSubscribe,
121
+ index,
122
+ listRef
123
+ ]);
124
+ const textId = React.useId();
125
+ const refCallback = React.useCallback((node) => {
126
+ itemNodeRef.current = node;
127
+ registrationRef.current?.setNode(node);
128
+ if (!import_constants.isWeb) return;
129
+ if (listRef && index >= 0) {
130
+ listRef.current[index] = node instanceof HTMLElement ? node : null;
131
+ }
132
+ }, [index, listRef]);
133
+ const composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, refCallback);
134
+ const handleSelect = React.useCallback((event, reason = "item-press") => {
135
+ if (disabled) return;
136
+ const nativeEvent = event?.nativeEvent || event;
137
+ selectValue(value, (0, import_core.createChangeEventDetails)(reason, nativeEvent, event?.currentTarget));
138
+ }, [
139
+ disabled,
140
+ selectValue,
141
+ value
142
+ ]);
143
+ const handleKeyDown = React.useCallback((event) => {
144
+ if (disabled) return;
145
+ if (event.key === "Enter" || event.key === " ") {
146
+ event.preventDefault();
147
+ handleSelect(event, "keyboard");
148
+ return;
149
+ }
150
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
151
+ event.preventDefault();
152
+ event.stopPropagation();
153
+ moveActive(event.key === "ArrowDown" ? 1 : -1, event.nativeEvent || event);
154
+ return;
155
+ }
156
+ if (!interactions && event.key?.length === 1 && !event.metaKey && !event.ctrlKey) {
157
+ search(event.key, event.nativeEvent || event);
158
+ }
159
+ if (allowSelectRef) {
160
+ allowSelectRef.current = true;
161
+ }
162
+ }, [
163
+ allowSelectRef,
164
+ disabled,
165
+ handleSelect,
166
+ interactions,
167
+ moveActive,
168
+ search
169
+ ]);
170
+ const selectItemProps = React.useMemo(() => {
171
+ if (interactions) {
172
+ const { onTouchMove, onTouchEnd, onKeyDown, onClick, onMouseUp, onMouseMove, onPress, ...itemProps } = restProps;
173
+ const interactionProps = interactions.getItemProps({
174
+ ...itemProps,
175
+ onTouchMove() {
176
+ allowSelectRef.current = true;
177
+ allowMouseUpRef.current = false;
178
+ },
179
+ onTouchEnd() {
180
+ allowSelectRef.current = false;
181
+ allowMouseUpRef.current = true;
182
+ },
183
+ onMouseMove(event) {
184
+ if (disabled || index < 0) return;
185
+ setActiveIndexFast?.(index, {
186
+ reason: "item-hover",
187
+ event: event.nativeEvent || event,
188
+ trigger: event.currentTarget,
189
+ index
190
+ });
191
+ },
192
+ onKeyDown: handleKeyDown,
193
+ onClick(event) {
194
+ if (disabled) return;
195
+ const shouldSelect = pendingMouseUpSelectionRef.current || allowSelectRef.current;
196
+ pendingMouseUpSelectionRef.current = false;
197
+ clearTimeout(selectTimeoutRef.current);
198
+ allowSelectRef.current = true;
199
+ if (shouldSelect) {
200
+ handleSelect(event);
201
+ }
202
+ },
203
+ onMouseUp(event) {
204
+ if (disabled) return;
205
+ if (!allowMouseUpRef.current) {
206
+ allowMouseUpRef.current = true;
207
+ allowSelectRef.current = true;
208
+ return;
209
+ }
210
+ pendingMouseUpSelectionRef.current = allowSelectRef.current;
211
+ clearTimeout(selectTimeoutRef.current);
212
+ selectTimeoutRef.current = setTimeout(() => {
213
+ allowSelectRef.current = true;
214
+ if (pendingMouseUpSelectionRef.current) {
215
+ pendingMouseUpSelectionRef.current = false;
216
+ handleSelect(event);
217
+ }
218
+ });
219
+ }
220
+ });
221
+ return {
222
+ ...interactionProps,
223
+ onTouchMove: (0, import_helpers.composeEventHandlers)(onTouchMove, interactionProps.onTouchMove),
224
+ onTouchEnd: (0, import_helpers.composeEventHandlers)(onTouchEnd, interactionProps.onTouchEnd),
225
+ onKeyDown: (0, import_helpers.composeEventHandlers)(onKeyDown, interactionProps.onKeyDown),
226
+ onClick(event) {
227
+ onClick?.(event);
228
+ if (event.defaultPrevented) {
229
+ pendingMouseUpSelectionRef.current = false;
230
+ clearTimeout(selectTimeoutRef.current);
231
+ allowSelectRef.current = true;
232
+ return;
233
+ }
234
+ interactionProps.onClick?.(event);
235
+ },
236
+ onMouseUp: (0, import_helpers.composeEventHandlers)(onMouseUp, interactionProps.onMouseUp),
237
+ onMouseMove: (0, import_helpers.composeEventHandlers)(onMouseMove, interactionProps.onMouseMove),
238
+ onPress
239
+ };
240
+ }
241
+ return {
242
+ ...restProps,
243
+ onKeyDown: (0, import_helpers.composeEventHandlers)(restProps.onKeyDown, handleKeyDown),
244
+ onMouseMove: (0, import_helpers.composeEventHandlers)(restProps.onMouseMove, (event) => {
245
+ if (disabled || index < 0) return;
246
+ setActiveIndexFast?.(index, {
247
+ reason: "item-hover",
248
+ event: event.nativeEvent || event,
249
+ trigger: event.currentTarget,
250
+ index
251
+ });
252
+ }),
253
+ onPress: (0, import_helpers.composeEventHandlers)(restProps.onPress, handleSelect)
254
+ };
255
+ }, [
256
+ allowMouseUpRef,
257
+ allowSelectRef,
258
+ disabled,
259
+ handleKeyDown,
260
+ handleSelect,
261
+ index,
262
+ interactions,
263
+ restProps,
264
+ selectTimeoutRef,
265
+ setActiveIndexFast
266
+ ]);
267
+ const accessibilityProps = (0, import_selectionController.getSelectOptionProps)(mode, isSelected, disabled, import_constants.isWeb ? "web" : "native");
268
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemContextProvider, {
269
+ scope,
270
+ value,
271
+ textId: textId || "",
272
+ textValue: textValueProp,
273
+ isSelected,
274
+ children: shouldRenderWebNative ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", {
275
+ value,
276
+ disabled,
277
+ children: props.children
278
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectItemFrame, {
279
+ render: "div",
280
+ ref: composedRefs,
281
+ "aria-labelledby": textId,
282
+ "data-state": isSelected ? "active" : "inactive",
283
+ "data-disabled": disabled ? "" : void 0,
284
+ tabIndex: disabled ? void 0 : import_constants.isWeb && isAdapted ? index === (selectContext.activeIndex ?? selectContext.selectedIndex) ? 0 : -1 : -1,
285
+ zIndex: 100,
286
+ ...selectItemProps,
287
+ ...accessibilityProps
288
+ })
289
+ });
290
+ }, { disableTheme: true });