@multiplatform.one/forms 7.81.0 → 7.81.2

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 (477) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +1 -0
  2. package/dist/cjs/AdaptivePopup/index.native.js +3 -2
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
  5. package/dist/cjs/Button/circleGlyph.native.js.map +1 -1
  6. package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
  7. package/dist/cjs/Button/index.native.js +2 -2
  8. package/dist/cjs/Button/index.native.js.map +1 -1
  9. package/dist/cjs/Button/webGlass.native.js.map +1 -1
  10. package/dist/cjs/Chip/index.native.js.map +1 -1
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  13. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  14. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  15. package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
  16. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  17. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  18. package/dist/cjs/ControlGroup/index.native.js +1 -1
  19. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  20. package/dist/cjs/DescriptionList/index.native.js +2 -2
  21. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  22. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  23. package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
  24. package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
  25. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  26. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  27. package/dist/cjs/FieldGroup.native.js.map +1 -1
  28. package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -1
  29. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
  30. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  31. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
  32. package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -1
  33. package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
  34. package/dist/cjs/FloatingPanel/index.native.js +212 -66
  35. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  36. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
  37. package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -1
  38. package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -1
  39. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  40. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
  41. package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
  42. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
  43. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  44. package/dist/cjs/Form/index.native.js +1 -1
  45. package/dist/cjs/Form/index.native.js.map +1 -1
  46. package/dist/cjs/Form/submissionController.native.js.map +1 -1
  47. package/dist/cjs/Form/validateOn.native.js.map +1 -1
  48. package/dist/cjs/FormGrid.native.js.map +1 -1
  49. package/dist/cjs/FormSection.native.js.map +1 -1
  50. package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
  51. package/dist/cjs/InputParts/index.native.js.map +1 -1
  52. package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -1
  53. package/dist/cjs/Label/index.native.js.map +1 -1
  54. package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
  55. package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
  56. package/dist/cjs/MediaPicker/types.native.js.map +1 -1
  57. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
  58. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  59. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
  60. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
  61. package/dist/cjs/Table/index.native.js.map +1 -1
  62. package/dist/cjs/Wheel/haptic.native.js.map +1 -1
  63. package/dist/cjs/Wheel/index.native.js.map +1 -1
  64. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
  65. package/dist/cjs/actionLabel.native.js.map +1 -1
  66. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  67. package/dist/cjs/fieldLayout.native.js +1 -1
  68. package/dist/cjs/fieldLayout.native.js.map +1 -1
  69. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  70. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
  71. package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
  72. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  73. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  74. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
  75. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  76. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  77. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  78. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  79. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  80. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  81. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  82. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  83. package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  84. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  85. package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  86. package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
  87. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  88. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  89. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  90. package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  91. package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
  92. package/dist/cjs/fields/Combobox/index.native.js +5 -5
  93. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  94. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  95. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  96. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  97. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  98. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  99. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  100. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  101. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  102. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  103. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  104. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
  105. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  106. package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  107. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  108. package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
  109. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  110. package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
  111. package/dist/cjs/fields/Duration/DurationWheel.native.js +1 -1
  112. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  113. package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -1
  114. package/dist/cjs/fields/Duration/index.native.js +3 -3
  115. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  116. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  117. package/dist/cjs/fields/FileUpload/index.native.js +2 -2
  118. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  119. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  120. package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  121. package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
  122. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
  123. package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
  124. package/dist/cjs/fields/Geolocation/index.native.js +5 -5
  125. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  126. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
  127. package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
  128. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  129. package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  130. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  131. package/dist/cjs/fields/Icon/index.native.js +3 -3
  132. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  133. package/dist/cjs/fields/ImageField/index.native.js +2 -2
  134. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  135. package/dist/cjs/fields/Input/index.native.js +3 -3
  136. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  137. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  138. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  139. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  140. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  141. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
  142. package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
  143. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  144. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  145. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
  146. package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
  147. package/dist/cjs/fields/Progress/index.native.js +1 -1
  148. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  149. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  150. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  151. package/dist/cjs/fields/Rating/index.native.js +1 -1
  152. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  153. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
  154. package/dist/cjs/fields/Rating/types.native.js.map +1 -1
  155. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  156. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  157. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  158. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
  159. package/dist/cjs/fields/Select/index.cjs +19 -2
  160. package/dist/cjs/fields/Select/index.native.js +26 -6
  161. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  162. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  163. package/dist/cjs/fields/Signature/index.native.js +2 -2
  164. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  165. package/dist/cjs/fields/Slider/index.native.js +1 -1
  166. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  167. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  168. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  169. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  170. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  171. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  172. package/dist/cjs/fields/Switch/index.native.js +2 -2
  173. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  174. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  175. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  176. package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
  177. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  178. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  179. package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
  180. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  181. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  182. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  183. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  184. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  185. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  186. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
  187. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  188. package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  189. package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  190. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  191. package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
  192. package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
  193. package/dist/cjs/formSpacing.native.js.map +1 -1
  194. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  195. package/dist/cjs/index.native.js +45 -45
  196. package/dist/cjs/index.native.js.map +1 -1
  197. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
  198. package/dist/cjs/keyboard/chain.native.js.map +1 -1
  199. package/dist/cjs/keyboard/index.native.js.map +1 -1
  200. package/dist/cjs/keyboard/types.native.js.map +1 -1
  201. package/dist/cjs/requiredMarking.native.js.map +1 -1
  202. package/dist/cjs/shared/CheckGlyph.native.js.map +1 -1
  203. package/dist/cjs/shared/TimeColumn.native.js +1 -1
  204. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  205. package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
  206. package/dist/cjs/shared/checkedOnField.cjs +104 -0
  207. package/dist/cjs/shared/checkedOnField.native.js +117 -0
  208. package/dist/cjs/shared/checkedOnField.native.js.map +1 -0
  209. package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
  210. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  211. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  212. package/dist/cjs/shared/fieldRowContext.native.js.map +1 -1
  213. package/dist/cjs/shared/floatingList.cjs +7 -79
  214. package/dist/cjs/shared/floatingList.native.js +8 -90
  215. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  216. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  217. package/dist/cjs/shared/groupContext.native.js.map +1 -1
  218. package/dist/cjs/shared/i18n.native.js.map +1 -1
  219. package/dist/cjs/shared/instantMotion.native.js.map +1 -1
  220. package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
  221. package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
  222. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
  223. package/dist/cjs/shared/overlayStack.native.js.map +1 -1
  224. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  225. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
  226. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
  227. package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
  228. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
  229. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
  230. package/dist/cjs/shared/systemControls.native.js.map +1 -1
  231. package/dist/cjs/shared/t.native.js.map +1 -1
  232. package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
  233. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  234. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  235. package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
  236. package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
  237. package/dist/cjs/shared/utils.native.js +1 -1
  238. package/dist/cjs/shared/utils.native.js.map +1 -1
  239. package/dist/cjs/shared/zIndex.native.js.map +1 -1
  240. package/dist/cjs/standardActions.native.js.map +1 -1
  241. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  242. package/dist/cjs/types.native.js.map +1 -1
  243. package/dist/cjs/utils/LinkCell.native.js.map +1 -1
  244. package/dist/esm/AdaptivePopup/index.mjs +2 -1
  245. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  246. package/dist/esm/AdaptivePopup/index.native.js +2 -1
  247. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  248. package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
  249. package/dist/esm/Button/circleGlyph.native.js.map +1 -1
  250. package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
  251. package/dist/esm/Button/index.native.js.map +1 -1
  252. package/dist/esm/Button/webGlass.native.js.map +1 -1
  253. package/dist/esm/Chip/index.native.js.map +1 -1
  254. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  255. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  256. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  257. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  258. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  259. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  260. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  261. package/dist/esm/ErrorSummary.native.js.map +1 -1
  262. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  263. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  264. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  265. package/dist/esm/FieldGroup.native.js.map +1 -1
  266. package/dist/esm/FloatingPanel/PanelHeader.native.js.map +1 -1
  267. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
  268. package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
  269. package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -1
  270. package/dist/esm/FloatingPanel/coverRect.native.js.map +1 -1
  271. package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -1
  272. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  273. package/dist/esm/FloatingPanel/index.native.js +174 -28
  274. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  275. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
  276. package/dist/esm/FloatingPanel/paintedBox.native.js.map +1 -1
  277. package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -1
  278. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  279. package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -1
  280. package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -1
  281. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  282. package/dist/esm/Form/index.native.js.map +1 -1
  283. package/dist/esm/Form/submissionController.native.js.map +1 -1
  284. package/dist/esm/Form/validateOn.native.js.map +1 -1
  285. package/dist/esm/FormGrid.native.js.map +1 -1
  286. package/dist/esm/FormSection.native.js.map +1 -1
  287. package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -1
  288. package/dist/esm/InputParts/index.native.js.map +1 -1
  289. package/dist/esm/InputParts/keyboardAppearance.native.js.map +1 -1
  290. package/dist/esm/Label/index.native.js.map +1 -1
  291. package/dist/esm/MediaPicker/base64.native.js.map +1 -1
  292. package/dist/esm/MediaPicker/payload.native.js.map +1 -1
  293. package/dist/esm/MediaPicker/types.native.js.map +1 -1
  294. package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
  295. package/dist/esm/Skeleton/index.native.js.map +1 -1
  296. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  297. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  298. package/dist/esm/Table/index.native.js.map +1 -1
  299. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  300. package/dist/esm/Wheel/index.native.js.map +1 -1
  301. package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
  302. package/dist/esm/actionLabel.native.js.map +1 -1
  303. package/dist/esm/fieldDefaults.native.js.map +1 -1
  304. package/dist/esm/fieldLayout.native.js.map +1 -1
  305. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  306. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  307. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  308. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  309. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  310. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  311. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  312. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  313. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  314. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  315. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  316. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  317. package/dist/esm/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  318. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  319. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  320. package/dist/esm/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  321. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  322. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  323. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  324. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  325. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  326. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  327. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  328. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  329. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  330. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  331. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  332. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  333. package/dist/esm/fields/Duration/durationWheelTypes.native.js.map +1 -1
  334. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  335. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  336. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  337. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  338. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  339. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  340. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
  341. package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
  342. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  343. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  344. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  345. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  346. package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  347. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  348. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  349. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  350. package/dist/esm/fields/Input/index.native.js.map +1 -1
  351. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  352. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  353. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  354. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  355. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  356. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  357. package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
  358. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  359. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  360. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  361. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  362. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  363. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  364. package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
  365. package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -1
  366. package/dist/esm/fields/Select/index.mjs +19 -2
  367. package/dist/esm/fields/Select/index.mjs.map +1 -1
  368. package/dist/esm/fields/Select/index.native.js +22 -2
  369. package/dist/esm/fields/Select/index.native.js.map +1 -1
  370. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  371. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  372. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  373. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  374. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  375. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  376. package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
  377. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  378. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  379. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  380. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  381. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  382. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  383. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  384. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  385. package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  386. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  387. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  388. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  389. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  390. package/dist/esm/formSpacing.native.js.map +1 -1
  391. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  392. package/dist/esm/index.native.js.map +1 -1
  393. package/dist/esm/keyboard/chain.native.js.map +1 -1
  394. package/dist/esm/keyboard/index.native.js.map +1 -1
  395. package/dist/esm/keyboard/types.native.js.map +1 -1
  396. package/dist/esm/requiredMarking.native.js.map +1 -1
  397. package/dist/esm/shared/CheckGlyph.native.js.map +1 -1
  398. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  399. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  400. package/dist/esm/shared/checkedOnField.mjs +76 -0
  401. package/dist/esm/shared/checkedOnField.mjs.map +1 -0
  402. package/dist/esm/shared/checkedOnField.native.js +86 -0
  403. package/dist/esm/shared/checkedOnField.native.js.map +1 -0
  404. package/dist/esm/shared/choiceRowPress.native.js.map +1 -1
  405. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  406. package/dist/esm/shared/devWarn.native.js.map +1 -1
  407. package/dist/esm/shared/fieldRowContext.native.js.map +1 -1
  408. package/dist/esm/shared/floatingList.mjs +3 -75
  409. package/dist/esm/shared/floatingList.mjs.map +1 -1
  410. package/dist/esm/shared/floatingList.native.js +3 -85
  411. package/dist/esm/shared/floatingList.native.js.map +1 -1
  412. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  413. package/dist/esm/shared/groupContext.native.js.map +1 -1
  414. package/dist/esm/shared/i18n.native.js.map +1 -1
  415. package/dist/esm/shared/instantMotion.native.js.map +1 -1
  416. package/dist/esm/shared/nativeA11y.native.js.map +1 -1
  417. package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -1
  418. package/dist/esm/shared/overlaySizeClass.native.js.map +1 -1
  419. package/dist/esm/shared/overlayStack.native.js.map +1 -1
  420. package/dist/esm/shared/panelPortal.native.js.map +1 -1
  421. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
  422. package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
  423. package/dist/esm/shared/restoreRetries.native.js.map +1 -1
  424. package/dist/esm/shared/sheetNavigation.native.js.map +1 -1
  425. package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -1
  426. package/dist/esm/shared/systemControls.native.js.map +1 -1
  427. package/dist/esm/shared/t.native.js.map +1 -1
  428. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  429. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  430. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  431. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  432. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  433. package/dist/esm/shared/utils.native.js.map +1 -1
  434. package/dist/esm/shared/zIndex.native.js.map +1 -1
  435. package/dist/esm/standardActions.native.js.map +1 -1
  436. package/dist/esm/themedPrimitives.native.js.map +1 -1
  437. package/dist/esm/types.native.js.map +1 -1
  438. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  439. package/dist/jsx/AdaptivePopup/index.mjs +2 -1
  440. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  441. package/dist/jsx/AdaptivePopup/index.native.js +1 -0
  442. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  443. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  444. package/dist/jsx/FloatingPanel/index.native.js +212 -66
  445. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  446. package/dist/jsx/fields/Select/index.mjs +19 -2
  447. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  448. package/dist/jsx/fields/Select/index.native.js +22 -2
  449. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  450. package/dist/jsx/shared/checkedOnField.mjs +76 -0
  451. package/dist/jsx/shared/checkedOnField.mjs.map +1 -0
  452. package/dist/jsx/shared/checkedOnField.native.js +117 -0
  453. package/dist/jsx/shared/checkedOnField.native.js.map +1 -0
  454. package/dist/jsx/shared/floatingList.mjs +3 -75
  455. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  456. package/dist/jsx/shared/floatingList.native.js +7 -89
  457. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  458. package/package.json +8 -8
  459. package/src/AdaptivePopup/index.tsx +5 -2
  460. package/src/FloatingPanel/index.native.tsx +194 -20
  461. package/src/FloatingPanel/index.tsx +10 -0
  462. package/src/FloatingPanel/sheetGrabber.spec.tsx +53 -0
  463. package/src/fields/Select/Select.popUp.native.spec.tsx +276 -0
  464. package/src/fields/Select/Select.stories.tsx +16 -0
  465. package/src/fields/Select/index.tsx +18 -2
  466. package/src/shared/checkedOnField.ts +116 -0
  467. package/src/shared/floatingList.tsx +8 -116
  468. package/types/AdaptivePopup/index.d.ts.map +1 -1
  469. package/types/FloatingPanel/index.d.ts +15 -0
  470. package/types/FloatingPanel/index.d.ts.map +1 -1
  471. package/types/FloatingPanel/index.native.d.ts +8 -1
  472. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  473. package/types/fields/Select/index.d.ts.map +1 -1
  474. package/types/shared/checkedOnField.d.ts +54 -0
  475. package/types/shared/checkedOnField.d.ts.map +1 -0
  476. package/types/shared/floatingList.d.ts +2 -53
  477. package/types/shared/floatingList.d.ts.map +1 -1
@@ -38,12 +38,14 @@ __export(index_native_exports, {
38
38
  });
39
39
  module.exports = __toCommonJS(index_native_exports);
40
40
  var import_jsx_runtime = require("react/jsx-runtime");
41
+ var import_react = require("@phosphor-icons/react");
41
42
  var import_theme = require("@multiplatform.one/theme");
42
- var import_react = require("react");
43
+ var import_react2 = require("react");
43
44
  var import_react_native = require("react-native");
44
45
  var import_react_native_safe_area_context = require("react-native-safe-area-context");
45
46
  var import_theme2 = require("@multiplatform.one/theme");
46
47
  var import_tamagui = require("tamagui");
48
+ var import_checkedOnField = require("../shared/checkedOnField.native.js");
47
49
  var import_overlayStack = require("../shared/overlayStack.native.js");
48
50
  var import_OverlayWindow = require("../shared/OverlayWindow.native.js");
49
51
  var import_t = require("../shared/t.native.js");
@@ -91,6 +93,7 @@ function FloatingPanel(param) {
91
93
  triggerEcho = true,
92
94
  coverAlign = "start",
93
95
  iconCover = false,
96
+ popUp,
94
97
  anchorMode,
95
98
  panelWidth = "content",
96
99
  sheet,
@@ -115,7 +118,7 @@ function FloatingPanel(param) {
115
118
  var slideTransition = knobProps.motion.slide.transition;
116
119
  var enterDuration = (0, import_theme2.motionDurationMs)(slideTransition);
117
120
  var scrimDuration = (0, import_theme2.motionDurationMs)(knobProps.motion.scrim.transition);
118
- var motionDurationRef = (0, import_react.useRef)({
121
+ var motionDurationRef = (0, import_react2.useRef)({
119
122
  enterDuration,
120
123
  scrimDuration
121
124
  });
@@ -129,18 +132,18 @@ function FloatingPanel(param) {
129
132
  height: windowHeight
130
133
  } = (0, import_react_native.useWindowDimensions)();
131
134
  var keyboardInset = (0, import_useKeyboardInset.useKeyboardInset)();
132
- var safeArea = (_useContext = (0, import_react.useContext)(import_react_native_safe_area_context.SafeAreaInsetsContext)) !== null && _useContext !== void 0 ? _useContext : import_react_native_safe_area_context.initialWindowMetrics === null || import_react_native_safe_area_context.initialWindowMetrics === void 0 ? void 0 : import_react_native_safe_area_context.initialWindowMetrics.insets;
135
+ var safeArea = (_useContext = (0, import_react2.useContext)(import_react_native_safe_area_context.SafeAreaInsetsContext)) !== null && _useContext !== void 0 ? _useContext : import_react_native_safe_area_context.initialWindowMetrics === null || import_react_native_safe_area_context.initialWindowMetrics === void 0 ? void 0 : import_react_native_safe_area_context.initialWindowMetrics.insets;
133
136
  var topInset = (_ref = safeArea === null || safeArea === void 0 ? void 0 : safeArea.top) !== null && _ref !== void 0 ? _ref : 0;
134
- var [pressPoint, setPressPoint] = (0, import_react.useState)(null);
135
- var [backdropArmed, setBackdropArmed] = (0, import_react.useState)(false);
136
- var armTimerRef = (0, import_react.useRef)(null);
137
- var close = (0, import_react.useCallback)(function () {
137
+ var [pressPoint, setPressPoint] = (0, import_react2.useState)(null);
138
+ var [backdropArmed, setBackdropArmed] = (0, import_react2.useState)(false);
139
+ var armTimerRef = (0, import_react2.useRef)(null);
140
+ var close = (0, import_react2.useCallback)(function () {
138
141
  return onOpenChange(false);
139
142
  }, [onOpenChange]);
140
- var handleTriggerPress = (0, import_react.useCallback)(function () {
143
+ var handleTriggerPress = (0, import_react2.useCallback)(function () {
141
144
  if (!disabled) onOpenChange(!open);
142
145
  }, [disabled, onOpenChange, open]);
143
- var handleTriggerLongPress = (0, import_react.useCallback)(function (event) {
146
+ var handleTriggerLongPress = (0, import_react2.useCallback)(function (event) {
144
147
  var _ref12;
145
148
  if (disabled) return;
146
149
  var {
@@ -154,25 +157,25 @@ function FloatingPanel(param) {
154
157
  onOpenChange(true);
155
158
  }, [disabled, onOpenChange]);
156
159
  var isContextMenu = openOn === "contextmenu";
157
- var triggerOwn = isContextMenu && /* @__PURE__ */(0, import_react.isValidElement)(trigger) ? trigger.props : void 0;
160
+ var triggerOwn = isContextMenu && /* @__PURE__ */(0, import_react2.isValidElement)(trigger) ? trigger.props : void 0;
158
161
  var triggerLabel = (_ref1 = (_ref2 = triggerA11y === null || triggerA11y === void 0 ? void 0 : triggerA11y.label) !== null && _ref2 !== void 0 ? _ref2 : triggerOwn === null || triggerOwn === void 0 ? void 0 : triggerOwn["aria-label"]) !== null && _ref1 !== void 0 ? _ref1 : triggerOwn === null || triggerOwn === void 0 ? void 0 : triggerOwn.accessibilityLabel;
159
162
  var regular = (0, import_overlaySizeClass.overlaySizeClass)(windowWidth) === "regular";
160
163
  var atPoint = isContextMenu && pressPoint !== null && regular;
161
164
  var insideOverlay = (0, import_overlayStack.useInsideOverlay)();
162
- var asMenu = isContextMenu ? compactFace === "menu" : (0, import_compactFace.resolveCompactFace)(compactFace, insideOverlay) === "menu";
165
+ var asMenu = isContextMenu ? compactFace === "menu" : (0, import_compactFace.resolveCompactFace)(compactFace, insideOverlay) === "menu" || popUp != null && regular;
163
166
  var asRegular = regular && !asMenu && !isContextMenu && sheet !== true;
164
167
  var anchored = asMenu || asRegular;
165
- var triggerRef = (0, import_react.useRef)(null);
166
- var [anchor, setAnchor] = (0, import_react.useState)(null);
168
+ var triggerRef = (0, import_react2.useRef)(null);
169
+ var [anchor, setAnchor] = (0, import_react2.useState)(null);
167
170
  var groupSurface = (0, import_iconButtonGroupContext.useIconButtonGroupSurface)();
168
- var [group, setGroup] = (0, import_react.useState)(null);
169
- var [triggerRadius, setTriggerRadius] = (0, import_react.useState)(null);
170
- var reportTriggerRadius = (0, import_react.useCallback)(function (radius) {
171
+ var [group, setGroup] = (0, import_react2.useState)(null);
172
+ var [triggerRadius, setTriggerRadius] = (0, import_react2.useState)(null);
173
+ var reportTriggerRadius = (0, import_react2.useCallback)(function (radius) {
171
174
  return setTriggerRadius(function (prev) {
172
175
  return prev === radius ? prev : radius;
173
176
  });
174
177
  }, []);
175
- (0, import_react.useLayoutEffect)(function () {
178
+ (0, import_react2.useLayoutEffect)(function () {
176
179
  if (!anchored || !open) {
177
180
  setAnchor(null);
178
181
  setGroup(null);
@@ -209,7 +212,7 @@ function FloatingPanel(param) {
209
212
  live = false;
210
213
  };
211
214
  }, [anchored, open, iconCover, anchorMode, groupSurface]);
212
- var handleBackdropPress = (0, import_react.useCallback)(function () {
215
+ var handleBackdropPress = (0, import_react2.useCallback)(function () {
213
216
  if (backdropArmed) close();
214
217
  }, [backdropArmed, close]);
215
218
  var framePadding = contentPadding === "none" ? "$0" : knobProps.panelPadding.padding;
@@ -217,10 +220,10 @@ function FloatingPanel(param) {
217
220
  var available = Math.max(0, windowHeight - keyboardInset);
218
221
  var maxHeight = Math.max(minSheetHeight, Math.round(Math.min(windowHeight * sheetMaxHeightRatio, available - topInset - backdropStrip)));
219
222
  var sheetBottomPadding = keyboardInset > 0 ? 8 : bottomInset;
220
- var [measuredHeight, setMeasuredHeight] = (0, import_react.useState)(0);
223
+ var [measuredHeight, setMeasuredHeight] = (0, import_react2.useState)(0);
221
224
  var travel = measuredHeight || maxHeight;
222
225
  var isSheet = !!scrollable || !!sheetFill;
223
- var detents = (0, import_react.useMemo)(function () {
226
+ var detents = (0, import_react2.useMemo)(function () {
224
227
  if (!isSheet) return [travel];
225
228
  var points = [travel, Math.round(travel * mediumDetent)].filter(function (h) {
226
229
  return h >= Math.min(minSheetHeight, travel);
@@ -229,20 +232,20 @@ function FloatingPanel(param) {
229
232
  return b - a;
230
233
  });
231
234
  }, [isSheet, travel]);
232
- var translateY = (0, import_react.useRef)(new import_react_native.Animated.Value(1e4)).current;
233
- var restRef = (0, import_react.useRef)(1e4);
234
- var travelRef = (0, import_react.useRef)(travel);
235
- var detentsRef = (0, import_react.useRef)(detents);
235
+ var translateY = (0, import_react2.useRef)(new import_react_native.Animated.Value(1e4)).current;
236
+ var restRef = (0, import_react2.useRef)(1e4);
237
+ var travelRef = (0, import_react2.useRef)(travel);
238
+ var detentsRef = (0, import_react2.useRef)(detents);
236
239
  travelRef.current = travel;
237
240
  detentsRef.current = detents;
238
- var presentationRef = (0, import_react.useRef)(0);
239
- var activeRef = (0, import_react.useRef)(false);
240
- var frameCap = (0, import_react.useRef)(new import_react_native.Animated.Value(maxHeight)).current;
241
- var maxHeightRef = (0, import_react.useRef)(maxHeight);
242
- var restHeightRef = (0, import_react.useRef)(null);
243
- var naturalRef = (0, import_react.useRef)(0);
244
- var filledRef = (0, import_react.useRef)(false);
245
- (0, import_react.useLayoutEffect)(function () {
241
+ var presentationRef = (0, import_react2.useRef)(0);
242
+ var activeRef = (0, import_react2.useRef)(false);
243
+ var frameCap = (0, import_react2.useRef)(new import_react_native.Animated.Value(maxHeight)).current;
244
+ var maxHeightRef = (0, import_react2.useRef)(maxHeight);
245
+ var restHeightRef = (0, import_react2.useRef)(null);
246
+ var naturalRef = (0, import_react2.useRef)(0);
247
+ var filledRef = (0, import_react2.useRef)(false);
248
+ (0, import_react2.useLayoutEffect)(function () {
246
249
  maxHeightRef.current = maxHeight;
247
250
  var rest = restHeightRef.current;
248
251
  frameCap.setValue(rest === null ? maxHeight : Math.min(maxHeight, rest));
@@ -250,13 +253,13 @@ function FloatingPanel(param) {
250
253
  setMeasuredHeight(filledRef.current ? maxHeight : Math.min(naturalRef.current, maxHeight));
251
254
  }
252
255
  }, [frameCap, maxHeight]);
253
- var restAt = (0, import_react.useCallback)(function (height) {
256
+ var restAt = (0, import_react2.useCallback)(function (height) {
254
257
  restHeightRef.current = height;
255
258
  frameCap.setValue(Math.min(maxHeightRef.current, height));
256
259
  restRef.current = 0;
257
260
  translateY.setValue(0);
258
261
  }, [frameCap, translateY]);
259
- var releaseRest = (0, import_react.useCallback)(function () {
262
+ var releaseRest = (0, import_react2.useCallback)(function () {
260
263
  var rest = restHeightRef.current;
261
264
  if (rest === null) return;
262
265
  restHeightRef.current = null;
@@ -265,7 +268,7 @@ function FloatingPanel(param) {
265
268
  restRef.current = offset;
266
269
  translateY.setValue(offset);
267
270
  }, [frameCap, translateY]);
268
- var settleTo = (0, import_react.useCallback)(function (height) {
271
+ var settleTo = (0, import_react2.useCallback)(function (height) {
269
272
  var velocity = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
270
273
  var presentation = presentationRef.current;
271
274
  var toValue = Math.max(0, travelRef.current - height);
@@ -290,7 +293,7 @@ function FloatingPanel(param) {
290
293
  if (activeRef.current && presentation === presentationRef.current) restAt(height);
291
294
  });
292
295
  }, [restAt, translateY, springConfig]);
293
- var dismiss = (0, import_react.useCallback)(function () {
296
+ var dismiss = (0, import_react2.useCallback)(function () {
294
297
  var velocity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
295
298
  if (!activeRef.current) return;
296
299
  if (!springConfig) {
@@ -312,7 +315,7 @@ function FloatingPanel(param) {
312
315
  if (finished && activeRef.current && presentation === presentationRef.current) close();
313
316
  });
314
317
  }, [close, translateY, springConfig]);
315
- var panResponder = (0, import_react.useMemo)(function () {
318
+ var panResponder = (0, import_react2.useMemo)(function () {
316
319
  return import_react_native.PanResponder.create({
317
320
  onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
318
321
  return true;
@@ -381,8 +384,8 @@ function FloatingPanel(param) {
381
384
  }
382
385
  });
383
386
  }, [dismiss, releaseRest, settleTo, translateY]);
384
- var enteredRef = (0, import_react.useRef)(false);
385
- var enter = (0, import_react.useCallback)(function () {
387
+ var enteredRef = (0, import_react2.useRef)(false);
388
+ var enter = (0, import_react2.useCallback)(function () {
386
389
  if (!activeRef.current || enteredRef.current) return;
387
390
  var presentation = presentationRef.current;
388
391
  enteredRef.current = true;
@@ -407,7 +410,7 @@ function FloatingPanel(param) {
407
410
  if (finished && activeRef.current && presentation === presentationRef.current) translateY.setValue(0);
408
411
  });
409
412
  }, [translateY]);
410
- (0, import_react.useEffect)(function () {
413
+ (0, import_react2.useEffect)(function () {
411
414
  presentationRef.current += 1;
412
415
  activeRef.current = open;
413
416
  restHeightRef.current = null;
@@ -532,8 +535,9 @@ function FloatingPanel(param) {
532
535
  right: windowWidth - ((_ref4 = safeArea === null || safeArea === void 0 ? void 0 : safeArea.right) !== null && _ref4 !== void 0 ? _ref4 : 0) - import_useFloatingPanel.panelViewportPadding,
533
536
  bottom: windowHeight - Math.max((_ref5 = safeArea === null || safeArea === void 0 ? void 0 : safeArea.bottom) !== null && _ref5 !== void 0 ? _ref5 : 0, keyboardInset) - import_useFloatingPanel.panelViewportPadding
534
537
  },
535
- echo: triggerEcho && !iconCover ? triggerRow !== null && triggerRow !== void 0 ? triggerRow : trigger : null,
538
+ echo: triggerEcho && !iconCover && !popUp ? triggerRow !== null && triggerRow !== void 0 ? triggerRow : trigger : null,
536
539
  echoLabel: triggerA11y === null || triggerA11y === void 0 ? void 0 : triggerA11y.label,
540
+ popUp,
537
541
  iconCover: iconCover && anchorMode !== "attach",
538
542
  group: iconCover && anchorMode !== "attach" ? group !== null && group !== void 0 ? group : null : null,
539
543
  coverAlign: anchorMode === "attach" ? "start" : coverAlign,
@@ -630,6 +634,11 @@ function FloatingPanel(param) {
630
634
  ...knobProps.elevatedSurface,
631
635
  borderBottomLeftRadius: 0,
632
636
  borderBottomRightRadius: 0,
637
+ // A sheet spans the screen: only its top edge meets the page,
638
+ // so no side border gutters a full-width row (FZ-8557).
639
+ borderLeftWidth: 0,
640
+ borderRightWidth: 0,
641
+ borderBottomWidth: 0,
633
642
  maxHeight,
634
643
  flexShrink: 1,
635
644
  minHeight: 0,
@@ -638,13 +647,12 @@ function FloatingPanel(param) {
638
647
  ...(sheetFill ? {
639
648
  height: maxHeight
640
649
  } : void 0),
641
- paddingTop: "$2",
642
650
  paddingBottom: sheetBottomPadding,
643
651
  // VoiceOver escape gesture (two-finger Z) dismisses the sheet.
644
652
  onAccessibilityEscape: close,
645
653
  children: [
646
654
  /*
647
- The grab ZONE, not just the 4pt pill: a 4pt tall target is
655
+ The grab ZONE, not just the 5pt pill: a 5pt tall target is
648
656
  unhittable. The gesture lives here rather than on the whole
649
657
  sheet so it never fights the ScrollView inside it, which is the
650
658
  same division iOS uses.
@@ -654,17 +662,10 @@ function FloatingPanel(param) {
654
662
  ...panResponder.panHandlers,
655
663
  accessibilityRole: "adjustable",
656
664
  accessibilityLabel: (0, import_t.t)("Drag to resize"),
657
- style: {
658
- alignSelf: "stretch",
659
- alignItems: "center",
660
- paddingTop: 4,
661
- paddingBottom: 12
662
- },
665
+ testID: "floating-panel-grabber",
666
+ style: import_theme.sheetGrabberZone,
663
667
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
664
- width: 40,
665
- height: 4,
666
- borderRadius: 2,
667
- backgroundColor: "$color8"
668
+ ...import_theme.sheetGrabber
668
669
  })
669
670
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
670
671
  padding: framePadding,
@@ -696,6 +697,7 @@ function TriggerMenuPanel(param) {
696
697
  bounds,
697
698
  echo,
698
699
  echoLabel,
700
+ popUp,
699
701
  iconCover = false,
700
702
  group = null,
701
703
  coverAlign,
@@ -707,13 +709,18 @@ function TriggerMenuPanel(param) {
707
709
  onClose,
708
710
  children
709
711
  } = param;
710
- var _ref, _ref1, _ref2, _ref3, _ref4;
712
+ var _ref, _ref1, _ref2, _ref3, _ref4, _ref5;
711
713
  var {
712
714
  knobProps
713
715
  } = (0, import_theme2.useResolvedKnobs)({
714
716
  painted: false
715
717
  });
716
- var [size, setSize] = (0, import_react.useState)(null);
718
+ var glyphColor = (0, import_theme2.useGlyphColor)();
719
+ var [size, setSize] = (0, import_react2.useState)(null);
720
+ var [contentHeight, setContentHeight] = (0, import_react2.useState)(null);
721
+ var [scrolled, setScrolled] = (0, import_react2.useState)(null);
722
+ var scrollRef = (0, import_react2.useRef)(null);
723
+ var offsetRef = (0, import_react2.useRef)(0);
717
724
  var cover = anchor && iconCover ? (0, import_coverRect.iconCoverRect)(anchor, group) : anchor;
718
725
  var room = panelWidth === "screen" && anchor ? {
719
726
  ...bounds,
@@ -731,7 +738,23 @@ function TriggerMenuPanel(param) {
731
738
  echo: echo != null,
732
739
  floor: Math.max(import_compactFace.MENU_MIN_WIDTH, (_ref1 = cover === null || cover === void 0 ? void 0 : cover.width) !== null && _ref1 !== void 0 ? _ref1 : 0)
733
740
  });
734
- var placement = anchor && cover && size ? (attach ? import_pointAnchor.placeBesideTrigger : import_pointAnchor.placeOverTrigger)({
741
+ var borderWidth = Number(knobProps.elevatedSurface.borderWidth) || 0;
742
+ var framePaddingToken = (0, import_tamagui.getTokenValue)(framePadding, "space");
743
+ var framePaddingPx = typeof framePaddingToken === "number" ? framePaddingToken : 0;
744
+ var band = (0, import_checkedOnField.scrollArrowBand)(knobProps.menuRow.minHeight);
745
+ var fit = anchor && (popUp === null || popUp === void 0 ? void 0 : popUp.row) && contentHeight != null ? (0, import_checkedOnField.placeCheckedOnField)({
746
+ fieldTop: anchor.y,
747
+ fieldBottom: anchor.y + anchor.height,
748
+ rowTop: popUp.row.top + framePaddingPx,
749
+ rowHeight: popUp.row.height,
750
+ contentHeight,
751
+ boundsTop: bounds.top + borderWidth,
752
+ boundsBottom: bounds.bottom - borderWidth,
753
+ band
754
+ }) : null;
755
+ var scrollTop = (_ref2 = fit === null || fit === void 0 ? void 0 : fit.scrollTop) !== null && _ref2 !== void 0 ? _ref2 : 0;
756
+ var scrolls = fit != null && contentHeight != null && fit.height < contentHeight;
757
+ var placed = anchor && cover && size && (!popUp || fit) ? (attach ? import_pointAnchor.placeBesideTrigger : import_pointAnchor.placeOverTrigger)({
735
758
  trigger: cover,
736
759
  width: size.width,
737
760
  height: size.height,
@@ -740,9 +763,54 @@ function TriggerMenuPanel(param) {
740
763
  align: coverAlign,
741
764
  pinned: iconCover
742
765
  }) : null;
766
+ var placement = placed && fit ? {
767
+ ...placed,
768
+ top: fit.top - borderWidth,
769
+ maxHeight: fit.height + 2 * borderWidth
770
+ } : placed;
771
+ (0, import_react2.useLayoutEffect)(function () {
772
+ var _scrollRef_current;
773
+ offsetRef.current = scrollTop;
774
+ if (scrollTop > 0) (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTo({
775
+ y: scrollTop,
776
+ animated: false
777
+ });
778
+ }, [scrollTop]);
779
+ var atRest = {
780
+ up: scrolls && scrollTop > import_checkedOnField.scrollArrowThreshold,
781
+ down: scrolls && fit != null && contentHeight != null && contentHeight - scrollTop - fit.height > import_checkedOnField.scrollArrowThreshold
782
+ };
783
+ var arrows = scrolled !== null && scrolled !== void 0 ? scrolled : atRest;
784
+ var handleScroll = function handleScroll2(event) {
785
+ if (!scrolls) return;
786
+ var {
787
+ contentOffset,
788
+ contentSize,
789
+ layoutMeasurement
790
+ } = event.nativeEvent;
791
+ offsetRef.current = contentOffset.y;
792
+ var up = contentOffset.y > import_checkedOnField.scrollArrowThreshold;
793
+ var down = contentSize.height - contentOffset.y - layoutMeasurement.height > import_checkedOnField.scrollArrowThreshold;
794
+ setScrolled(function (prev) {
795
+ return (prev === null || prev === void 0 ? void 0 : prev.up) === up && (prev === null || prev === void 0 ? void 0 : prev.down) === down ? prev : {
796
+ up,
797
+ down
798
+ };
799
+ });
800
+ };
801
+ var scrollPage = function scrollPage2(direction) {
802
+ var _ref6;
803
+ var _popUp_row, _scrollRef_current;
804
+ if (!fit) return;
805
+ var page = Math.max(band, fit.height - 2 * band - ((_ref6 = popUp === null || popUp === void 0 ? void 0 : (_popUp_row = popUp.row) === null || _popUp_row === void 0 ? void 0 : _popUp_row.height) !== null && _ref6 !== void 0 ? _ref6 : 0));
806
+ var next = offsetRef.current + (direction === "up" ? -page : page);
807
+ (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTo({
808
+ y: Math.max(0, next),
809
+ animated: true
810
+ });
811
+ };
743
812
  var half = cover ? Math.min(cover.width, cover.height) / 2 : void 0;
744
813
  var radius = group != null && iconCover ? Math.min(group.radius, half !== null && half !== void 0 ? half : group.radius) : triggerRadius != null && half != null ? Math.min(triggerRadius, half) : coverAlign === "auto" && half ? half : void 0;
745
- var borderWidth = Number(knobProps.elevatedSurface.borderWidth) || 0;
746
814
  var echoShift = anchor && placement ? (0, import_panelWidth.echoOffset)({
747
815
  triggerLeft: anchor.x,
748
816
  triggerRight: anchor.x + anchor.width,
@@ -774,10 +842,10 @@ function TriggerMenuPanel(param) {
774
842
  },
775
843
  style: {
776
844
  position: "absolute",
777
- left: (_ref2 = placement === null || placement === void 0 ? void 0 : placement.left) !== null && _ref2 !== void 0 ? _ref2 : bounds.left,
778
- top: (_ref3 = placement === null || placement === void 0 ? void 0 : placement.top) !== null && _ref3 !== void 0 ? _ref3 : bounds.top,
845
+ left: (_ref3 = placement === null || placement === void 0 ? void 0 : placement.left) !== null && _ref3 !== void 0 ? _ref3 : bounds.left,
846
+ top: (_ref4 = placement === null || placement === void 0 ? void 0 : placement.top) !== null && _ref4 !== void 0 ? _ref4 : bounds.top,
779
847
  ...widthBox,
780
- maxHeight: (_ref4 = placement === null || placement === void 0 ? void 0 : placement.maxHeight) !== null && _ref4 !== void 0 ? _ref4 : bounds.bottom - bounds.top,
848
+ maxHeight: (_ref5 = placement === null || placement === void 0 ? void 0 : placement.maxHeight) !== null && _ref5 !== void 0 ? _ref5 : bounds.bottom - bounds.top,
781
849
  opacity: placement ? 1 : 0
782
850
  },
783
851
  children: (
@@ -834,22 +902,100 @@ function TriggerMenuPanel(param) {
834
902
  })
835
903
  })
836
904
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ScrollView, {
905
+ ref: scrollRef,
837
906
  style: {
838
907
  flexGrow: 0,
839
908
  flexShrink: 1
840
909
  },
841
910
  keyboardShouldPersistTaps: "handled",
842
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
843
- padding: framePadding,
844
- gap: frameGap,
845
- children
911
+ ...(popUp ? {
912
+ contentOffset: {
913
+ x: 0,
914
+ y: scrollTop
915
+ },
916
+ scrollEnabled: scrolls,
917
+ bounces: scrolls,
918
+ onScroll: handleScroll,
919
+ scrollEventThrottle: 16
920
+ } : null),
921
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
922
+ testID: "floating-panel-menu-content",
923
+ collapsable: false,
924
+ onLayout: popUp ? function (e) {
925
+ return setContentHeight(e.nativeEvent.layout.height);
926
+ } : void 0,
927
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
928
+ padding: framePadding,
929
+ gap: frameGap,
930
+ children
931
+ })
846
932
  })
847
- })]
933
+ }), scrolls ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
934
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ScrollBand, {
935
+ direction: "up",
936
+ band,
937
+ visible: arrows.up,
938
+ glyphColor,
939
+ onPress: scrollPage
940
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(ScrollBand, {
941
+ direction: "down",
942
+ band,
943
+ visible: arrows.down,
944
+ glyphColor,
945
+ onPress: scrollPage
946
+ })]
947
+ }) : null]
848
948
  })
849
949
  }))
850
950
  })]
851
951
  });
852
952
  }
953
+ function ScrollBand(param) {
954
+ var {
955
+ direction,
956
+ band,
957
+ visible,
958
+ glyphColor,
959
+ onPress
960
+ } = param;
961
+ var {
962
+ knobProps
963
+ } = (0, import_theme2.useResolvedKnobs)({
964
+ painted: false
965
+ });
966
+ var Icon = direction === "up" ? import_react.CaretUpIcon : import_react.CaretDownIcon;
967
+ if (!visible) return null;
968
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Pressable, {
969
+ testID: `floating-panel-scroll-${direction}`,
970
+ onPress: function onPress1() {
971
+ return onPress(direction);
972
+ },
973
+ accessibilityElementsHidden: true,
974
+ importantForAccessibility: "no-hide-descendants",
975
+ style: {
976
+ position: "absolute",
977
+ start: 0,
978
+ end: 0,
979
+ height: band,
980
+ zIndex: 1,
981
+ ...(direction === "up" ? {
982
+ top: 0
983
+ } : {
984
+ bottom: 0
985
+ })
986
+ },
987
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
988
+ flex: 1,
989
+ alignItems: "center",
990
+ justifyContent: "center",
991
+ backgroundColor: knobProps.elevatedSurface.backgroundColor,
992
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Icon, {
993
+ size: knobProps.controlIcon.width,
994
+ color: glyphColor
995
+ })
996
+ })
997
+ });
998
+ }
853
999
  function PointPanel(param) {
854
1000
  var {
855
1001
  point,
@@ -866,7 +1012,7 @@ function PointPanel(param) {
866
1012
  } = (0, import_theme2.useResolvedKnobs)({
867
1013
  painted: false
868
1014
  });
869
- var [size, setSize] = (0, import_react.useState)(null);
1015
+ var [size, setSize] = (0, import_react2.useState)(null);
870
1016
  var placement = size ? (0, import_pointAnchor.placeAtPoint)({
871
1017
  point,
872
1018
  width: size.width,