@multiplatform.one/forms 7.36.0 → 7.38.0

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 (420) hide show
  1. package/dist/cjs/AdaptivePopup/index.native.js +1 -1
  2. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  3. package/dist/cjs/Button/index.native.js +1 -1
  4. package/dist/cjs/Button/index.native.js.map +1 -1
  5. package/dist/cjs/Chip/index.native.js.map +1 -1
  6. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  7. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  8. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  9. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
  11. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  12. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  13. package/dist/cjs/ControlGroup/index.native.js +1 -1
  14. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  15. package/dist/cjs/DescriptionList/index.native.js +2 -2
  16. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  17. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  18. package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
  19. package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
  20. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  21. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  22. package/dist/cjs/FieldGroup.native.js.map +1 -1
  23. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
  24. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  25. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  26. package/dist/cjs/Form/index.native.js +1 -1
  27. package/dist/cjs/Form/index.native.js.map +1 -1
  28. package/dist/cjs/Form/submissionController.native.js.map +1 -1
  29. package/dist/cjs/Form/validateOn.native.js.map +1 -1
  30. package/dist/cjs/FormGrid.native.js.map +1 -1
  31. package/dist/cjs/FormSection.native.js.map +1 -1
  32. package/dist/cjs/InputParts/index.native.js.map +1 -1
  33. package/dist/cjs/Label/index.native.js.map +1 -1
  34. package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
  35. package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
  36. package/dist/cjs/MediaPicker/types.native.js.map +1 -1
  37. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
  38. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  39. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
  40. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
  41. package/dist/cjs/Table/index.native.js.map +1 -1
  42. package/dist/cjs/Wheel/{WheelEdgeFade.cjs → NativeWheel.cjs} +5 -5
  43. package/dist/cjs/Wheel/NativeWheel.native.js +408 -0
  44. package/dist/cjs/Wheel/NativeWheel.native.js.map +1 -0
  45. package/dist/cjs/Wheel/haptic.cjs +3 -4
  46. package/dist/cjs/Wheel/haptic.native.js +4 -5
  47. package/dist/cjs/Wheel/haptic.native.js.map +1 -1
  48. package/dist/cjs/Wheel/index.cjs +62 -218
  49. package/dist/cjs/Wheel/index.native.js +54 -228
  50. package/dist/cjs/Wheel/index.native.js.map +1 -1
  51. package/dist/cjs/Wheel/wheelShared.cjs +156 -0
  52. package/dist/cjs/Wheel/wheelShared.native.js +169 -0
  53. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -0
  54. package/dist/cjs/actionLabel.native.js.map +1 -1
  55. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  56. package/dist/cjs/fieldLayout.native.js +1 -1
  57. package/dist/cjs/fieldLayout.native.js.map +1 -1
  58. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  59. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
  60. package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
  61. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  62. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  63. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
  64. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  65. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  66. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  67. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  68. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  69. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  70. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  71. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  72. package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  73. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  74. package/dist/cjs/fields/ColorPicker/index.native.js +3 -3
  75. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  76. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  77. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  78. package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
  79. package/dist/cjs/fields/Combobox/index.native.js +6 -6
  80. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  81. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  82. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  83. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  84. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  85. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  86. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  87. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  88. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  89. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  90. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  91. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
  92. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  93. package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  94. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  95. package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
  96. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  97. package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
  98. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  99. package/dist/cjs/fields/Duration/index.native.js +3 -3
  100. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  101. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  102. package/dist/cjs/fields/FileUpload/index.native.js +2 -2
  103. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  104. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  105. package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  106. package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
  107. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
  108. package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
  109. package/dist/cjs/fields/Geolocation/index.native.js +5 -5
  110. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  111. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
  112. package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
  113. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  114. package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  115. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  116. package/dist/cjs/fields/Icon/index.native.js +3 -3
  117. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  118. package/dist/cjs/fields/ImageField/index.native.js +2 -2
  119. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  120. package/dist/cjs/fields/Input/index.native.js +2 -2
  121. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  122. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  123. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  124. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  125. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  126. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
  127. package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
  128. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  129. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  130. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
  131. package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
  132. package/dist/cjs/fields/Progress/index.native.js +1 -1
  133. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  134. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  135. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  136. package/dist/cjs/fields/Rating/index.native.js +1 -1
  137. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  138. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
  139. package/dist/cjs/fields/Rating/types.native.js.map +1 -1
  140. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  141. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  142. package/dist/cjs/fields/Select/index.native.js +4 -4
  143. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  144. package/dist/cjs/fields/Signature/index.native.js +2 -2
  145. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  146. package/dist/cjs/fields/Slider/index.native.js +1 -1
  147. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  148. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  149. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  150. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  151. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  152. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  153. package/dist/cjs/fields/Switch/index.native.js +2 -2
  154. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  155. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  156. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  157. package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
  158. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  159. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  160. package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
  161. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  162. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  163. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  164. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  165. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  166. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  167. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  168. package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  169. package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  170. package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
  171. package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
  172. package/dist/cjs/formSpacing.native.js.map +1 -1
  173. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  174. package/dist/cjs/index.native.js +43 -43
  175. package/dist/cjs/index.native.js.map +1 -1
  176. package/dist/cjs/requiredMarking.native.js.map +1 -1
  177. package/dist/cjs/shared/TimeColumn.cjs +0 -9
  178. package/dist/cjs/shared/TimeColumn.native.js +1 -10
  179. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  180. package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
  181. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  182. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  183. package/dist/cjs/shared/floatingList.native.js +1 -1
  184. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  185. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  186. package/dist/cjs/shared/groupContext.native.js.map +1 -1
  187. package/dist/cjs/shared/i18n.native.js.map +1 -1
  188. package/dist/cjs/shared/instantMotion.native.js.map +1 -1
  189. package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
  190. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  191. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
  192. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
  193. package/dist/cjs/shared/t.native.js.map +1 -1
  194. package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
  195. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  196. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  197. package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
  198. package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
  199. package/dist/cjs/shared/utils.native.js +1 -1
  200. package/dist/cjs/shared/utils.native.js.map +1 -1
  201. package/dist/cjs/shared/zIndex.native.js.map +1 -1
  202. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  203. package/dist/cjs/types.native.js.map +1 -1
  204. package/dist/cjs/utils/LinkCell.native.js.map +1 -1
  205. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  206. package/dist/esm/Button/index.native.js.map +1 -1
  207. package/dist/esm/Chip/index.native.js.map +1 -1
  208. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  209. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  210. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  211. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  212. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  213. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  214. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  215. package/dist/esm/ErrorSummary.native.js.map +1 -1
  216. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  217. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  218. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  219. package/dist/esm/FieldGroup.native.js.map +1 -1
  220. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
  221. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  222. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  223. package/dist/esm/Form/index.native.js.map +1 -1
  224. package/dist/esm/Form/submissionController.native.js.map +1 -1
  225. package/dist/esm/Form/validateOn.native.js.map +1 -1
  226. package/dist/esm/FormGrid.native.js.map +1 -1
  227. package/dist/esm/FormSection.native.js.map +1 -1
  228. package/dist/esm/InputParts/index.native.js.map +1 -1
  229. package/dist/esm/Label/index.native.js.map +1 -1
  230. package/dist/esm/MediaPicker/base64.native.js.map +1 -1
  231. package/dist/esm/MediaPicker/payload.native.js.map +1 -1
  232. package/dist/esm/MediaPicker/types.native.js.map +1 -1
  233. package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
  234. package/dist/esm/Skeleton/index.native.js.map +1 -1
  235. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  236. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  237. package/dist/esm/Table/index.native.js.map +1 -1
  238. package/dist/esm/Wheel/NativeWheel.mjs +5 -0
  239. package/dist/esm/Wheel/NativeWheel.mjs.map +1 -0
  240. package/dist/esm/Wheel/NativeWheel.native.js +380 -0
  241. package/dist/esm/Wheel/NativeWheel.native.js.map +1 -0
  242. package/dist/esm/Wheel/haptic.mjs +3 -4
  243. package/dist/esm/Wheel/haptic.mjs.map +1 -1
  244. package/dist/esm/Wheel/haptic.native.js +4 -5
  245. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  246. package/dist/esm/Wheel/index.mjs +49 -205
  247. package/dist/esm/Wheel/index.mjs.map +1 -1
  248. package/dist/esm/Wheel/index.native.js +41 -215
  249. package/dist/esm/Wheel/index.native.js.map +1 -1
  250. package/dist/esm/Wheel/wheelShared.mjs +119 -0
  251. package/dist/esm/Wheel/wheelShared.mjs.map +1 -0
  252. package/dist/esm/Wheel/wheelShared.native.js +129 -0
  253. package/dist/esm/Wheel/wheelShared.native.js.map +1 -0
  254. package/dist/esm/actionLabel.native.js.map +1 -1
  255. package/dist/esm/fieldDefaults.native.js.map +1 -1
  256. package/dist/esm/fieldLayout.native.js.map +1 -1
  257. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  258. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  259. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  260. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  261. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  262. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  263. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  264. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  265. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  266. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  267. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  268. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  269. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  270. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  271. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  272. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  273. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  274. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  275. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  276. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  277. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  278. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  279. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  280. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  281. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  282. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  283. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  284. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  285. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  286. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  287. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  288. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  289. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
  290. package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
  291. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  292. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  293. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  294. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  295. package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  296. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  297. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  298. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  299. package/dist/esm/fields/Input/index.native.js.map +1 -1
  300. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  301. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  302. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  303. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  304. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  305. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  306. package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
  307. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  308. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  309. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  310. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  311. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  312. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  313. package/dist/esm/fields/Select/index.native.js.map +1 -1
  314. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  315. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  316. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  317. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  318. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  319. package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
  320. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  321. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  322. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  323. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  324. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  325. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  326. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  327. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  328. package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  329. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  330. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  331. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  332. package/dist/esm/formSpacing.native.js.map +1 -1
  333. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  334. package/dist/esm/index.native.js.map +1 -1
  335. package/dist/esm/requiredMarking.native.js.map +1 -1
  336. package/dist/esm/shared/TimeColumn.mjs +0 -9
  337. package/dist/esm/shared/TimeColumn.mjs.map +1 -1
  338. package/dist/esm/shared/TimeColumn.native.js +0 -9
  339. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  340. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  341. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  342. package/dist/esm/shared/devWarn.native.js.map +1 -1
  343. package/dist/esm/shared/floatingList.native.js.map +1 -1
  344. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  345. package/dist/esm/shared/groupContext.native.js.map +1 -1
  346. package/dist/esm/shared/i18n.native.js.map +1 -1
  347. package/dist/esm/shared/instantMotion.native.js.map +1 -1
  348. package/dist/esm/shared/nativeA11y.native.js.map +1 -1
  349. package/dist/esm/shared/panelPortal.native.js.map +1 -1
  350. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
  351. package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
  352. package/dist/esm/shared/t.native.js.map +1 -1
  353. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  354. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  355. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  356. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  357. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  358. package/dist/esm/shared/utils.native.js.map +1 -1
  359. package/dist/esm/shared/zIndex.native.js.map +1 -1
  360. package/dist/esm/themedPrimitives.native.js.map +1 -1
  361. package/dist/esm/types.native.js.map +1 -1
  362. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  363. package/dist/jsx/Wheel/NativeWheel.mjs +5 -0
  364. package/dist/jsx/Wheel/NativeWheel.mjs.map +1 -0
  365. package/dist/jsx/Wheel/NativeWheel.native.js +408 -0
  366. package/dist/jsx/Wheel/NativeWheel.native.js.map +1 -0
  367. package/dist/jsx/Wheel/haptic.mjs +3 -4
  368. package/dist/jsx/Wheel/haptic.mjs.map +1 -1
  369. package/dist/jsx/Wheel/haptic.native.js +4 -5
  370. package/dist/jsx/Wheel/haptic.native.js.map +1 -1
  371. package/dist/jsx/Wheel/index.mjs +49 -205
  372. package/dist/jsx/Wheel/index.mjs.map +1 -1
  373. package/dist/jsx/Wheel/index.native.js +54 -228
  374. package/dist/jsx/Wheel/index.native.js.map +1 -1
  375. package/dist/jsx/Wheel/wheelShared.mjs +119 -0
  376. package/dist/jsx/Wheel/wheelShared.mjs.map +1 -0
  377. package/dist/jsx/Wheel/wheelShared.native.js +169 -0
  378. package/dist/jsx/Wheel/wheelShared.native.js.map +1 -0
  379. package/dist/jsx/index.native.js.map +1 -1
  380. package/dist/jsx/shared/TimeColumn.mjs +0 -9
  381. package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
  382. package/dist/jsx/shared/TimeColumn.native.js +0 -9
  383. package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
  384. package/package.json +8 -8
  385. package/src/Wheel/NativeWheel.native.spec.tsx +181 -0
  386. package/src/Wheel/NativeWheel.native.tsx +430 -0
  387. package/src/Wheel/NativeWheel.tsx +6 -0
  388. package/src/Wheel/haptic.ts +9 -8
  389. package/src/Wheel/index.tsx +121 -363
  390. package/src/Wheel/wheelShared.spec.ts +53 -0
  391. package/src/Wheel/wheelShared.ts +222 -0
  392. package/src/shared/TimeColumn.tsx +0 -7
  393. package/types/Wheel/NativeWheel.d.ts +4 -0
  394. package/types/Wheel/NativeWheel.d.ts.map +1 -0
  395. package/types/Wheel/NativeWheel.native.d.ts +9 -0
  396. package/types/Wheel/NativeWheel.native.d.ts.map +1 -0
  397. package/types/Wheel/haptic.d.ts +4 -2
  398. package/types/Wheel/haptic.d.ts.map +1 -1
  399. package/types/Wheel/index.d.ts +4 -49
  400. package/types/Wheel/index.d.ts.map +1 -1
  401. package/types/Wheel/wheelShared.d.ts +87 -0
  402. package/types/Wheel/wheelShared.d.ts.map +1 -0
  403. package/types/shared/TimeColumn.d.ts.map +1 -1
  404. package/dist/cjs/Wheel/WheelEdgeFade.native.js +0 -116
  405. package/dist/cjs/Wheel/WheelEdgeFade.native.js.map +0 -1
  406. package/dist/esm/Wheel/WheelEdgeFade.mjs +0 -5
  407. package/dist/esm/Wheel/WheelEdgeFade.mjs.map +0 -1
  408. package/dist/esm/Wheel/WheelEdgeFade.native.js +0 -88
  409. package/dist/esm/Wheel/WheelEdgeFade.native.js.map +0 -1
  410. package/dist/jsx/Wheel/WheelEdgeFade.mjs +0 -5
  411. package/dist/jsx/Wheel/WheelEdgeFade.mjs.map +0 -1
  412. package/dist/jsx/Wheel/WheelEdgeFade.native.js +0 -116
  413. package/dist/jsx/Wheel/WheelEdgeFade.native.js.map +0 -1
  414. package/src/Wheel/WheelEdgeFade.native.tsx +0 -67
  415. package/src/Wheel/WheelEdgeFade.spec.tsx +0 -141
  416. package/src/Wheel/WheelEdgeFade.tsx +0 -7
  417. package/types/Wheel/WheelEdgeFade.d.ts +0 -8
  418. package/types/Wheel/WheelEdgeFade.d.ts.map +0 -1
  419. package/types/Wheel/WheelEdgeFade.native.d.ts +0 -8
  420. package/types/Wheel/WheelEdgeFade.native.d.ts.map +0 -1
@@ -25,29 +25,18 @@ __export(Wheel_exports, {
25
25
  Wheel: () => Wheel
26
26
  });
27
27
  module.exports = __toCommonJS(Wheel_exports);
28
- var import_theme = require("@multiplatform.one/theme");
29
28
  var import_react = require("react");
30
- var import_react_native = require("react-native-web");
31
- var import_theme2 = require("@multiplatform.one/theme");
32
29
  var import_tamagui = require("tamagui");
33
30
  var import_t = require("../shared/t.cjs");
34
31
  var import_haptic = require("./haptic.cjs");
35
- var import_WheelEdgeFade = require("./WheelEdgeFade.cjs");
32
+ var import_NativeWheel = require("./NativeWheel.cjs");
33
+ var import_wheelShared = require("./wheelShared.cjs");
36
34
  var import_jsx_runtime = require("react/jsx-runtime");
37
35
  const friction = 0.95;
38
36
  const minVelocity = 0.5;
39
37
  const momentumMultiplier = 0.8;
40
38
  const rubberBandConstant = 0.55;
41
39
  const tapSlopPx = 8;
42
- const diameterRatio = 1.07;
43
- const squeeze = 1.45;
44
- const perspectivePx = 400;
45
- const defaultColumnWidth = 88;
46
- const wheelFontByStep = {
47
- [-1]: "$6",
48
- 0: "$8",
49
- 1: "$9"
50
- };
51
40
  const WHEEL_FOCUS_STYLE_ID = "mp1-wheel-focus";
52
41
  function ensureWheelFocusStyles() {
53
42
  if (!import_tamagui.isWeb || typeof document === "undefined") return;
@@ -83,43 +72,15 @@ const SelectionIndicator = (0, import_tamagui.styled)(import_tamagui.View, {
83
72
  right: 0,
84
73
  pointerEvents: "none"
85
74
  });
86
- function normalizeItem(item) {
87
- if (typeof item === "object" && item !== null && "value" in item) {
88
- return item;
89
- }
90
- return {
91
- value: item,
92
- label: String(item)
93
- };
94
- }
95
- function getItemLabel(item) {
96
- const normalized = normalizeItem(item);
97
- return normalized.label ?? String(normalized.value);
98
- }
99
- function getItemValue(item) {
100
- const normalized = normalizeItem(item);
101
- return normalized.value;
102
- }
103
- function modIndex(row, n) {
104
- if (n <= 0) return 0;
105
- return (row % n + n) % n;
106
- }
107
75
  function equivalentOffsetNear(referenceOffset, targetOffset, n, itemHeight) {
108
76
  if (n <= 0 || itemHeight <= 0) return targetOffset;
109
77
  const rT = Math.round(targetOffset / itemHeight);
110
- const m = modIndex(rT, n);
78
+ const m = (0, import_wheelShared.modIndex)(rT, n);
111
79
  const span = n * itemHeight;
112
80
  const base = m * itemHeight;
113
81
  const k = Math.round((referenceOffset - base) / span);
114
82
  return base + k * span;
115
83
  }
116
- function nearestRowForDataIndex(currentRow, targetDataIndex, n) {
117
- const currentMod = modIndex(currentRow, n);
118
- let delta = targetDataIndex - currentMod;
119
- if (delta > n / 2) delta -= n;
120
- if (delta < -n / 2) delta += n;
121
- return currentRow + delta;
122
- }
123
84
  function rubberBand(offset, dimension) {
124
85
  const c = rubberBandConstant;
125
86
  const x = Math.abs(offset);
@@ -127,66 +88,45 @@ function rubberBand(offset, dimension) {
127
88
  return offset < 0 ? -result : result;
128
89
  }
129
90
  function getItemTransform(index, scrollOffset, itemHeight, containerHeight) {
130
- const radius = containerHeight * diameterRatio / 2;
131
- const angle = (index * itemHeight - scrollOffset) / squeeze / Math.max(radius, 1);
132
- const clamped = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, angle));
133
- const centerTop = (containerHeight - itemHeight) / 2;
134
- const translateY = centerTop + radius * Math.sin(clamped);
135
- const rotateX = -(clamped * 180) / Math.PI;
136
- const scale = Math.max(0.72, Math.min(1, Math.cos(clamped)));
91
+ const pose = (0, import_wheelShared.drumPose)(index - scrollOffset / itemHeight, itemHeight, containerHeight);
137
92
  return {
138
- translateY,
139
- rotateX,
140
- scale,
93
+ translateY: (containerHeight - itemHeight) / 2 + pose.offset,
94
+ rotateX: pose.rotateX,
95
+ scale: pose.scale,
141
96
  opacity: 1
142
97
  };
143
98
  }
144
- function tokenPx(token, scale) {
145
- if (typeof token === "number") return token;
146
- const key = String(token).replace(/^\$/, "");
147
- const val = (0, import_tamagui.getTokens)()[scale]?.[key]?.val;
148
- if (typeof val === "number") return val;
149
- return scale === "radius" ? 9 : 8;
150
- }
151
- function highlightBandStyle(edges, radiusToken, pointy) {
152
- const r = pointy ? 0 : tokenPx(radiusToken, "radius");
153
- const inset = tokenPx("$2", "space");
154
- const capStart = edges === "all" || edges === "start";
155
- const capEnd = edges === "all" || edges === "end";
156
- return {
157
- borderStartStartRadius: capStart ? r : 0,
158
- borderStartEndRadius: capEnd ? r : 0,
159
- borderEndStartRadius: capStart ? r : 0,
160
- borderEndEndRadius: capEnd ? r : 0,
161
- marginInlineStart: capStart ? inset : 0,
162
- marginInlineEnd: capEnd ? inset : 0
163
- };
99
+ function Wheel(props) {
100
+ return import_tamagui.isWeb ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(WebWheel, {
101
+ ...props
102
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_NativeWheel.NativeWheel, {
103
+ ...props
104
+ });
164
105
  }
165
- function Wheel({
166
- items,
167
- value,
168
- onChange,
169
- visibleItems = 5,
170
- itemHeight: itemHeightProp,
171
- width: widthProp,
172
- renderItem,
173
- disabled = false,
174
- size: sizeProp,
175
- loop = false,
176
- highlightEdges = "all",
177
- flex,
178
- onItemCross,
179
- "aria-label": ariaLabel
180
- }) {
106
+ function WebWheel(props) {
181
107
  const {
182
- knobProps
183
- } = (0, import_theme2.useResolvedKnobs)();
184
- const size = sizeProp ?? wheelFontByStep[(0, import_theme2.sizeTokenStep)(knobProps.sizeToken)];
185
- const itemHeight = itemHeightProp ?? knobProps.nestedControl.px ?? 32;
186
- const columnWidth = widthProp ?? defaultColumnWidth;
108
+ items,
109
+ value,
110
+ onChange,
111
+ visibleItems = 5,
112
+ width: widthProp,
113
+ renderItem,
114
+ disabled = false,
115
+ loop = false,
116
+ flex,
117
+ onItemCross,
118
+ "aria-label": ariaLabel
119
+ } = props;
120
+ const {
121
+ knobProps,
122
+ size,
123
+ itemHeight,
124
+ snapDurationMs,
125
+ highlightStyle,
126
+ highlightClassName
127
+ } = (0, import_wheelShared.useWheelLayout)(props);
128
+ const columnWidth = widthProp ?? import_wheelShared.defaultColumnWidth;
187
129
  ensureWheelFocusStyles();
188
- const motionTransition = knobProps.motion.control.transition;
189
- const snapDurationMs = (0, import_theme.motionDurationMs)(motionTransition);
190
130
  const containerRef = (0, import_react.useRef)(null);
191
131
  const [scrollOffset, setScrollOffset] = (0, import_react.useState)(0);
192
132
  const [selectedIndex, setSelectedIndex] = (0, import_react.useState)(0);
@@ -209,7 +149,7 @@ function Wheel({
209
149
  const paddingItems = Math.floor(visibleItems / 2);
210
150
  const minOffset = 0;
211
151
  const maxOffset = n > 0 ? (n - 1) * itemHeight : 0;
212
- const liveDataIndex = n === 0 ? 0 : loopEnabled ? modIndex(Math.round(scrollOffset / itemHeight), n) : Math.max(0, Math.min(Math.round(scrollOffset / itemHeight), n - 1));
152
+ const liveDataIndex = n === 0 ? 0 : loopEnabled ? (0, import_wheelShared.modIndex)(Math.round(scrollOffset / itemHeight), n) : Math.max(0, Math.min(Math.round(scrollOffset / itemHeight), n - 1));
213
153
  const lastCrossIndexRef = (0, import_react.useRef)(null);
214
154
  const onItemCrossRef = (0, import_react.useRef)(onItemCross);
215
155
  onItemCrossRef.current = onItemCross;
@@ -223,7 +163,7 @@ function Wheel({
223
163
  lastCrossIndexRef.current = liveDataIndex;
224
164
  const item = items[liveDataIndex];
225
165
  if (item === void 0) return;
226
- onItemCrossRef.current?.(getItemValue(item), liveDataIndex);
166
+ onItemCrossRef.current?.((0, import_wheelShared.getItemValue)(item), liveDataIndex);
227
167
  (0, import_haptic.fireSelectionHaptic)();
228
168
  }, [liveDataIndex, items, n]);
229
169
  const runSnapComplete = (0, import_react.useCallback)((finalOffset, dataIndex) => {
@@ -232,7 +172,7 @@ function Wheel({
232
172
  scrollOffsetRef.current = settled;
233
173
  setScrollOffset(settled);
234
174
  setSelectedIndex(safeIdx);
235
- onChange?.(getItemValue(items[safeIdx]));
175
+ onChange?.((0, import_wheelShared.getItemValue)(items[safeIdx]));
236
176
  isAnimatingRef.current = false;
237
177
  }, [items, n, onChange, loopEnabled, itemHeight]);
238
178
  const animateToOffset = (0, import_react.useCallback)((targetOffset, dataIndex, animated) => {
@@ -275,14 +215,14 @@ function Wheel({
275
215
  return;
276
216
  }
277
217
  const currentR = Math.round(scrollOffsetRef.current / itemHeight);
278
- const targetR = nearestRowForDataIndex(currentR, clampedData, n);
218
+ const targetR = (0, import_wheelShared.nearestRowForDataIndex)(currentR, clampedData, n);
279
219
  const targetOffset = targetR * itemHeight;
280
- const dataIdx = modIndex(targetR, n);
220
+ const dataIdx = (0, import_wheelShared.modIndex)(targetR, n);
281
221
  animateToOffset(targetOffset, dataIdx, animated);
282
222
  }, [n, itemHeight, loopEnabled, animateToOffset]);
283
223
  (0, import_react.useEffect)(() => {
284
224
  if (value === void 0) return;
285
- const index = items.findIndex(item => getItemValue(item) === value);
225
+ const index = items.findIndex(item => (0, import_wheelShared.getItemValue)(item) === value);
286
226
  if (index === -1) return;
287
227
  if (!hasMountedRef.current) {
288
228
  hasMountedRef.current = true;
@@ -307,7 +247,7 @@ function Wheel({
307
247
  const r = Math.round(scrollOffsetRef.current / itemHeight);
308
248
  if (loopEnabled) {
309
249
  const targetOffset = r * itemHeight;
310
- const dataIdx = modIndex(r, n);
250
+ const dataIdx = (0, import_wheelShared.modIndex)(r, n);
311
251
  animateToOffset(targetOffset, dataIdx, animated);
312
252
  } else {
313
253
  const dataIdx = Math.max(0, Math.min(r, n - 1));
@@ -322,7 +262,7 @@ function Wheel({
322
262
  let best = null;
323
263
  for (let vr = centerRow - rowBuffer; vr <= centerRow + rowBuffer; vr++) {
324
264
  if (!loopEnabled && (vr < 0 || vr >= n)) continue;
325
- const dataIndex = loopEnabled ? modIndex(vr, n) : vr;
265
+ const dataIndex = loopEnabled ? (0, import_wheelShared.modIndex)(vr, n) : vr;
326
266
  const {
327
267
  translateY
328
268
  } = getItemTransform(vr, offset, itemHeight, containerHeight);
@@ -441,51 +381,6 @@ function Wheel({
441
381
  snapToNearestRow(true);
442
382
  }
443
383
  }, [snapToNearestRow, startMomentum, hitTestDataIndex, snapToIndex, disabled]);
444
- const disabledRef = (0, import_react.useRef)(disabled);
445
- disabledRef.current = disabled;
446
- const pointerDownRef = (0, import_react.useRef)(handlePointerDown);
447
- pointerDownRef.current = handlePointerDown;
448
- const pointerMoveRef = (0, import_react.useRef)(handlePointerMove);
449
- pointerMoveRef.current = handlePointerMove;
450
- const pointerUpRef = (0, import_react.useRef)(handlePointerUp);
451
- pointerUpRef.current = handlePointerUp;
452
- const panResponder = (0, import_react.useMemo)(() => {
453
- if (import_tamagui.isWeb) return {
454
- panHandlers: {}
455
- };
456
- return import_react_native.PanResponder.create({
457
- onStartShouldSetPanResponder: () => !disabledRef.current,
458
- onMoveShouldSetPanResponder: (_, gesture) => Math.abs(gesture.dy) > 1,
459
- onPanResponderTerminationRequest: () => false,
460
- onShouldBlockNativeResponder: () => true,
461
- onPanResponderGrant: evt => {
462
- pointerDownRef.current({
463
- clientY: evt.nativeEvent.pageY,
464
- pointerId: 1
465
- });
466
- },
467
- onPanResponderMove: evt => {
468
- pointerMoveRef.current({
469
- clientY: evt.nativeEvent.pageY,
470
- pointerId: 1
471
- });
472
- },
473
- onPanResponderRelease: evt => {
474
- pointerUpRef.current({
475
- clientY: evt.nativeEvent.pageY,
476
- pointerId: 1,
477
- locationY: evt.nativeEvent.locationY
478
- });
479
- },
480
- onPanResponderTerminate: evt => {
481
- pointerUpRef.current({
482
- clientY: evt.nativeEvent.pageY,
483
- pointerId: 1,
484
- locationY: evt.nativeEvent.locationY
485
- });
486
- }
487
- });
488
- }, []);
489
384
  const handleWheel = (0, import_react.useCallback)(e => {
490
385
  if (disabled) return;
491
386
  e.preventDefault();
@@ -545,7 +440,7 @@ function Wheel({
545
440
  }
546
441
  e.preventDefault();
547
442
  if (loopEnabled) {
548
- const newIndex = modIndex(selectedIndex + delta, n);
443
+ const newIndex = (0, import_wheelShared.modIndex)(selectedIndex + delta, n);
549
444
  snapToIndex(newIndex);
550
445
  } else {
551
446
  const newIndex = Math.max(0, Math.min(selectedIndex + delta, n - 1));
@@ -573,37 +468,23 @@ function Wheel({
573
468
  }, []);
574
469
  const renderRows = (0, import_react.useMemo)(() => {
575
470
  if (n === 0) return [];
576
- if (loopEnabled) {
577
- const centerRow = Math.round(scrollOffset / itemHeight);
578
- const rowBuffer = paddingItems + 5;
579
- const list = [];
580
- for (let vr = centerRow - rowBuffer; vr <= centerRow + rowBuffer; vr++) {
581
- list.push({
582
- virtualRow: vr,
583
- dataIndex: modIndex(vr, n)
584
- });
585
- }
586
- return list;
471
+ const span = Math.ceil((0, import_wheelShared.drumReachRows)(itemHeight, containerHeight));
472
+ const centerRow = Math.round(scrollOffset / itemHeight);
473
+ const first = loopEnabled ? centerRow - span : Math.max(0, centerRow - span);
474
+ const last = loopEnabled ? centerRow + span : Math.min(n - 1, centerRow + span);
475
+ const list = [];
476
+ for (let vr = first; vr <= last; vr++) {
477
+ list.push({
478
+ virtualRow: vr,
479
+ dataIndex: (0, import_wheelShared.modIndex)(vr, n)
480
+ });
587
481
  }
588
- const start = Math.max(0, Math.floor(scrollOffset / itemHeight) - paddingItems - 1);
589
- const end = Math.min(n - 1, Math.ceil((scrollOffset + containerHeight) / itemHeight) + paddingItems + 1);
590
- return Array.from({
591
- length: end - start + 1
592
- }, (_, i) => {
593
- const virtualRow = start + i;
594
- return {
595
- virtualRow,
596
- dataIndex: virtualRow
597
- };
598
- });
599
- }, [n, loopEnabled, scrollOffset, itemHeight, paddingItems, containerHeight]);
482
+ return list;
483
+ }, [n, loopEnabled, scrollOffset, itemHeight, containerHeight]);
600
484
  const itemColor = isSelected => disabled ? "$color10" : isSelected ? "$color12" : "$color11";
601
- const radiusToken = knobProps.borderRadius.borderRadius;
602
- const highlightStyle = highlightBandStyle(highlightEdges, radiusToken, Boolean(knobProps.pointy));
603
- const highlightSmoothClass = "className" in knobProps.borderRadius && typeof knobProps.borderRadius.className === "string" ? knobProps.borderRadius.className : void 0;
604
485
  const renderItemNode = (dataIndex, isSelected) => {
605
486
  const item = items[dataIndex];
606
- const itemValue = getItemValue(item);
487
+ const itemValue = (0, import_wheelShared.getItemValue)(item);
607
488
  if (renderItem) return renderItem(itemValue, dataIndex, isSelected);
608
489
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
609
490
  ...knobProps.body,
@@ -613,7 +494,7 @@ function Wheel({
613
494
  ellipsizeMode: "tail",
614
495
  maxWidth: "100%",
615
496
  paddingHorizontal: "$2",
616
- children: getItemLabel(item)
497
+ children: (0, import_wheelShared.getItemLabel)(item)
617
498
  });
618
499
  };
619
500
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(WheelContainer, {
@@ -626,13 +507,13 @@ function Wheel({
626
507
  "aria-disabled": disabled || void 0,
627
508
  opacity: 1,
628
509
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(SelectionIndicator, {
629
- className: highlightSmoothClass,
510
+ className: highlightClassName,
630
511
  backgroundColor: "$color4",
631
512
  top: paddingItems * itemHeight,
632
513
  height: itemHeight,
633
514
  style: highlightStyle,
634
515
  "data-testid": "wheel-selection"
635
- }), import_tamagui.isWeb ? /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
516
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
636
517
  ref: containerRef,
637
518
  className: "mp1-wheel-wrapper",
638
519
  tabIndex: disabled ? -1 : 0,
@@ -642,14 +523,14 @@ function Wheel({
642
523
  "aria-valuemin": 0,
643
524
  "aria-valuemax": Math.max(0, n - 1),
644
525
  "aria-valuenow": selectedIndex,
645
- "aria-valuetext": items[selectedIndex] !== void 0 ? getItemLabel(items[selectedIndex]) : void 0,
526
+ "aria-valuetext": items[selectedIndex] !== void 0 ? (0, import_wheelShared.getItemLabel)(items[selectedIndex]) : void 0,
646
527
  "aria-disabled": disabled || void 0,
647
528
  "data-disabled": disabled ? true : void 0,
648
529
  style: {
649
530
  width: "100%",
650
531
  height: containerHeight,
651
532
  position: "relative",
652
- perspective: `${perspectivePx}px`,
533
+ perspective: `${containerHeight * 4}px`,
653
534
  perspectiveOrigin: "center center",
654
535
  overflow: "hidden",
655
536
  userSelect: "none",
@@ -693,43 +574,6 @@ function Wheel({
693
574
  children: renderItemNode(dataIndex, isSelected)
694
575
  }, `${dataIndex}-${virtualRow}`);
695
576
  })
696
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.View, {
697
- width: "100%",
698
- height: containerHeight,
699
- position: "relative",
700
- overflow: "hidden",
701
- cursor: disabled ? "not-allowed" : "grab",
702
- "data-testid": "wheel-wrapper",
703
- "data-disabled": disabled ? true : void 0,
704
- "aria-disabled": disabled || void 0,
705
- ...panResponder.panHandlers,
706
- children: [renderRows.map(({
707
- virtualRow,
708
- dataIndex
709
- }) => {
710
- const isSelected = dataIndex === liveDataIndex;
711
- const transform = getItemTransform(virtualRow, scrollOffset, itemHeight, containerHeight);
712
- if (Math.abs(transform.rotateX) > 85) return null;
713
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
714
- position: "absolute",
715
- left: 0,
716
- right: 0,
717
- height: itemHeight,
718
- alignItems: "center",
719
- justifyContent: "center",
720
- opacity: transform.opacity,
721
- pointerEvents: "none",
722
- y: transform.translateY,
723
- scale: transform.scale,
724
- rotateX: `${transform.rotateX}deg`,
725
- "data-testid": "wheel-item",
726
- "data-index": dataIndex,
727
- "data-selected": isSelected ? true : void 0,
728
- children: renderItemNode(dataIndex, isSelected)
729
- }, `${dataIndex}-${virtualRow}`);
730
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_WheelEdgeFade.WheelEdgeFade, {
731
- height: paddingItems * itemHeight
732
- })]
733
577
  })]
734
578
  });
735
579
  }