@multiplatform.one/forms 7.80.0 → 7.81.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 (587) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +1 -1
  2. package/dist/cjs/AdaptivePopup/index.native.js +3 -3
  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.cjs +12 -5
  8. package/dist/cjs/Button/index.native.js +16 -8
  9. package/dist/cjs/Button/index.native.js.map +1 -1
  10. package/dist/cjs/Button/webGlass.native.js.map +1 -1
  11. package/dist/cjs/Chip/index.native.js.map +1 -1
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  13. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  14. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  15. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  16. package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
  17. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  18. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  19. package/dist/cjs/ControlGroup/index.native.js +1 -1
  20. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  21. package/dist/cjs/DescriptionList/index.native.js +2 -2
  22. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  23. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  24. package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
  25. package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
  26. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  27. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  28. package/dist/cjs/FieldGroup.native.js.map +1 -1
  29. package/dist/cjs/FloatingPanel/PanelHeader.cjs +3 -8
  30. package/dist/cjs/FloatingPanel/PanelHeader.native.js +3 -8
  31. package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -1
  32. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
  33. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  34. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
  35. package/dist/cjs/FloatingPanel/coverRect.cjs +0 -8
  36. package/dist/cjs/FloatingPanel/coverRect.native.js +0 -8
  37. package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -1
  38. package/dist/cjs/FloatingPanel/echoContext.cjs +5 -27
  39. package/dist/cjs/FloatingPanel/echoContext.native.js +5 -28
  40. package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
  41. package/dist/cjs/FloatingPanel/index.cjs +49 -131
  42. package/dist/cjs/FloatingPanel/index.native.js +26 -91
  43. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  44. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
  45. package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -1
  46. package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -1
  47. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  48. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
  49. package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
  50. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
  51. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  52. package/dist/cjs/Form/index.native.js +1 -1
  53. package/dist/cjs/Form/index.native.js.map +1 -1
  54. package/dist/cjs/Form/submissionController.native.js.map +1 -1
  55. package/dist/cjs/Form/validateOn.native.js.map +1 -1
  56. package/dist/cjs/FormGrid.native.js.map +1 -1
  57. package/dist/cjs/FormSection.native.js.map +1 -1
  58. package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
  59. package/dist/cjs/InputParts/index.native.js.map +1 -1
  60. package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -1
  61. package/dist/cjs/Label/index.native.js.map +1 -1
  62. package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
  63. package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
  64. package/dist/cjs/MediaPicker/types.native.js.map +1 -1
  65. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
  66. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  67. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
  68. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
  69. package/dist/cjs/Table/index.native.js.map +1 -1
  70. package/dist/cjs/Wheel/haptic.native.js.map +1 -1
  71. package/dist/cjs/Wheel/index.native.js.map +1 -1
  72. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
  73. package/dist/cjs/actionLabel.native.js.map +1 -1
  74. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  75. package/dist/cjs/fieldLayout.native.js +1 -1
  76. package/dist/cjs/fieldLayout.native.js.map +1 -1
  77. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  78. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
  79. package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
  80. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  81. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
  83. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  84. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  85. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  86. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  87. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  88. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  89. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  90. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  91. package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  92. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  93. package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  94. package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
  95. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  96. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  97. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  98. package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  99. package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
  100. package/dist/cjs/fields/Combobox/index.cjs +3 -10
  101. package/dist/cjs/fields/Combobox/index.native.js +8 -15
  102. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  103. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  104. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  105. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  106. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  107. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  108. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  109. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  110. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  111. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  112. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  113. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
  114. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  115. package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  116. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  117. package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
  118. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  119. package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
  120. package/dist/cjs/fields/Duration/DurationWheel.native.js +1 -1
  121. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  122. package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -1
  123. package/dist/cjs/fields/Duration/index.native.js +3 -3
  124. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  125. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  126. package/dist/cjs/fields/FileUpload/index.native.js +2 -2
  127. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  128. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  129. package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  130. package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
  131. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
  132. package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
  133. package/dist/cjs/fields/Geolocation/index.native.js +5 -5
  134. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  135. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
  136. package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
  137. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  138. package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  139. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  140. package/dist/cjs/fields/Icon/index.native.js +3 -3
  141. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  142. package/dist/cjs/fields/ImageField/index.native.js +2 -2
  143. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  144. package/dist/cjs/fields/Input/index.native.js +3 -3
  145. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  146. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  147. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  148. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  149. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  150. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
  151. package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
  152. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  153. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  154. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
  155. package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
  156. package/dist/cjs/fields/Progress/index.native.js +1 -1
  157. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  158. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  159. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  160. package/dist/cjs/fields/Rating/index.native.js +1 -1
  161. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  162. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
  163. package/dist/cjs/fields/Rating/types.native.js.map +1 -1
  164. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  165. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  166. package/dist/cjs/fields/Select/InlineChoices.cjs +4 -8
  167. package/dist/cjs/fields/Select/InlineChoices.native.js +4 -8
  168. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  169. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
  170. package/dist/cjs/fields/Select/index.cjs +46 -199
  171. package/dist/cjs/fields/Select/index.native.js +56 -211
  172. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  173. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  174. package/dist/cjs/fields/Signature/index.native.js +2 -2
  175. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  176. package/dist/cjs/fields/Slider/index.native.js +1 -1
  177. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  178. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  179. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  180. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  181. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  182. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  183. package/dist/cjs/fields/Switch/index.native.js +2 -2
  184. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  185. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  186. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  187. package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
  188. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  189. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  190. package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
  191. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  192. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  193. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  194. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  195. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  196. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  197. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +2 -2
  198. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +3 -3
  199. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  200. package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  201. package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  202. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  203. package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
  204. package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
  205. package/dist/cjs/formSpacing.native.js.map +1 -1
  206. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  207. package/dist/cjs/index.cjs +4 -0
  208. package/dist/cjs/index.native.js +49 -45
  209. package/dist/cjs/index.native.js.map +1 -1
  210. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
  211. package/dist/cjs/keyboard/chain.native.js.map +1 -1
  212. package/dist/cjs/keyboard/index.native.js.map +1 -1
  213. package/dist/cjs/keyboard/types.native.js.map +1 -1
  214. package/dist/cjs/requiredMarking.native.js.map +1 -1
  215. package/dist/cjs/shared/CheckGlyph.cjs +40 -0
  216. package/dist/cjs/shared/CheckGlyph.native.js +44 -0
  217. package/dist/cjs/shared/CheckGlyph.native.js.map +1 -0
  218. package/dist/cjs/shared/TimeColumn.native.js +1 -1
  219. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  220. package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
  221. package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
  222. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  223. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  224. package/dist/cjs/shared/fieldRowContext.native.js.map +1 -1
  225. package/dist/cjs/shared/floatingList.cjs +82 -3
  226. package/dist/cjs/shared/floatingList.native.js +96 -6
  227. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  228. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  229. package/dist/cjs/shared/groupContext.native.js.map +1 -1
  230. package/dist/cjs/shared/i18n.native.js.map +1 -1
  231. package/dist/cjs/shared/instantMotion.native.js.map +1 -1
  232. package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
  233. package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
  234. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
  235. package/dist/cjs/shared/overlayStack.native.js.map +1 -1
  236. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  237. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
  238. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
  239. package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
  240. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
  241. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
  242. package/dist/cjs/shared/systemControls.native.js.map +1 -1
  243. package/dist/cjs/shared/t.native.js.map +1 -1
  244. package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
  245. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  246. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  247. package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
  248. package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
  249. package/dist/cjs/shared/utils.native.js +1 -1
  250. package/dist/cjs/shared/utils.native.js.map +1 -1
  251. package/dist/cjs/shared/zIndex.native.js.map +1 -1
  252. package/dist/cjs/standardActions.native.js.map +1 -1
  253. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  254. package/dist/cjs/types.native.js.map +1 -1
  255. package/dist/cjs/utils/LinkCell.native.js.map +1 -1
  256. package/dist/esm/AdaptivePopup/index.mjs +2 -2
  257. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  258. package/dist/esm/AdaptivePopup/index.native.js +2 -2
  259. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  260. package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
  261. package/dist/esm/Button/circleGlyph.native.js.map +1 -1
  262. package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
  263. package/dist/esm/Button/index.mjs +12 -5
  264. package/dist/esm/Button/index.mjs.map +1 -1
  265. package/dist/esm/Button/index.native.js +14 -6
  266. package/dist/esm/Button/index.native.js.map +1 -1
  267. package/dist/esm/Button/webGlass.native.js.map +1 -1
  268. package/dist/esm/Chip/index.native.js.map +1 -1
  269. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  270. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  271. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  272. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  273. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  274. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  275. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  276. package/dist/esm/ErrorSummary.native.js.map +1 -1
  277. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  278. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  279. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  280. package/dist/esm/FieldGroup.native.js.map +1 -1
  281. package/dist/esm/FloatingPanel/PanelHeader.mjs +3 -8
  282. package/dist/esm/FloatingPanel/PanelHeader.mjs.map +1 -1
  283. package/dist/esm/FloatingPanel/PanelHeader.native.js +3 -8
  284. package/dist/esm/FloatingPanel/PanelHeader.native.js.map +1 -1
  285. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
  286. package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
  287. package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -1
  288. package/dist/esm/FloatingPanel/coverRect.mjs +1 -8
  289. package/dist/esm/FloatingPanel/coverRect.mjs.map +1 -1
  290. package/dist/esm/FloatingPanel/coverRect.native.js +1 -8
  291. package/dist/esm/FloatingPanel/coverRect.native.js.map +1 -1
  292. package/dist/esm/FloatingPanel/echoContext.mjs +4 -24
  293. package/dist/esm/FloatingPanel/echoContext.mjs.map +1 -1
  294. package/dist/esm/FloatingPanel/echoContext.native.js +4 -25
  295. package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -1
  296. package/dist/esm/FloatingPanel/index.mjs +53 -135
  297. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  298. package/dist/esm/FloatingPanel/index.native.js +30 -95
  299. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  300. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
  301. package/dist/esm/FloatingPanel/paintedBox.native.js.map +1 -1
  302. package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -1
  303. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  304. package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -1
  305. package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -1
  306. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  307. package/dist/esm/Form/index.native.js.map +1 -1
  308. package/dist/esm/Form/submissionController.native.js.map +1 -1
  309. package/dist/esm/Form/validateOn.native.js.map +1 -1
  310. package/dist/esm/FormGrid.native.js.map +1 -1
  311. package/dist/esm/FormSection.native.js.map +1 -1
  312. package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -1
  313. package/dist/esm/InputParts/index.native.js.map +1 -1
  314. package/dist/esm/InputParts/keyboardAppearance.native.js.map +1 -1
  315. package/dist/esm/Label/index.native.js.map +1 -1
  316. package/dist/esm/MediaPicker/base64.native.js.map +1 -1
  317. package/dist/esm/MediaPicker/payload.native.js.map +1 -1
  318. package/dist/esm/MediaPicker/types.native.js.map +1 -1
  319. package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
  320. package/dist/esm/Skeleton/index.native.js.map +1 -1
  321. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  322. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  323. package/dist/esm/Table/index.native.js.map +1 -1
  324. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  325. package/dist/esm/Wheel/index.native.js.map +1 -1
  326. package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
  327. package/dist/esm/actionLabel.native.js.map +1 -1
  328. package/dist/esm/fieldDefaults.native.js.map +1 -1
  329. package/dist/esm/fieldLayout.native.js.map +1 -1
  330. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  331. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  332. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  333. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  334. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  335. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  336. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  337. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  338. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  339. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  340. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  341. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  342. package/dist/esm/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  343. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  344. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  345. package/dist/esm/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  346. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  347. package/dist/esm/fields/Combobox/index.mjs +4 -11
  348. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  349. package/dist/esm/fields/Combobox/index.native.js +4 -11
  350. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  351. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  352. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  353. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  354. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  355. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  356. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  357. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  358. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  359. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  360. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  361. package/dist/esm/fields/Duration/durationWheelTypes.native.js.map +1 -1
  362. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  363. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  364. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  365. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  366. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  367. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  368. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
  369. package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
  370. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  371. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  372. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  373. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  374. package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  375. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  376. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  377. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  378. package/dist/esm/fields/Input/index.native.js.map +1 -1
  379. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  380. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  381. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  382. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  383. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  384. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  385. package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
  386. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  387. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  388. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  389. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  390. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  391. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  392. package/dist/esm/fields/Select/InlineChoices.mjs +2 -6
  393. package/dist/esm/fields/Select/InlineChoices.mjs.map +1 -1
  394. package/dist/esm/fields/Select/InlineChoices.native.js +2 -6
  395. package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
  396. package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -1
  397. package/dist/esm/fields/Select/index.mjs +49 -202
  398. package/dist/esm/fields/Select/index.mjs.map +1 -1
  399. package/dist/esm/fields/Select/index.native.js +55 -210
  400. package/dist/esm/fields/Select/index.native.js.map +1 -1
  401. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  402. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  403. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  404. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  405. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  406. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  407. package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
  408. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  409. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  410. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  411. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  412. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  413. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  414. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  415. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +3 -3
  416. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  417. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +3 -3
  418. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  419. package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  420. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  421. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  422. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  423. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  424. package/dist/esm/formSpacing.native.js.map +1 -1
  425. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  426. package/dist/esm/index.mjs +3 -1
  427. package/dist/esm/index.mjs.map +1 -1
  428. package/dist/esm/index.native.js +3 -1
  429. package/dist/esm/index.native.js.map +1 -1
  430. package/dist/esm/keyboard/chain.native.js.map +1 -1
  431. package/dist/esm/keyboard/index.native.js.map +1 -1
  432. package/dist/esm/keyboard/types.native.js.map +1 -1
  433. package/dist/esm/requiredMarking.native.js.map +1 -1
  434. package/dist/esm/shared/CheckGlyph.mjs +15 -0
  435. package/dist/esm/shared/CheckGlyph.mjs.map +1 -0
  436. package/dist/esm/shared/CheckGlyph.native.js +16 -0
  437. package/dist/esm/shared/CheckGlyph.native.js.map +1 -0
  438. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  439. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  440. package/dist/esm/shared/choiceRowPress.native.js.map +1 -1
  441. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  442. package/dist/esm/shared/devWarn.native.js.map +1 -1
  443. package/dist/esm/shared/fieldRowContext.native.js.map +1 -1
  444. package/dist/esm/shared/floatingList.mjs +80 -4
  445. package/dist/esm/shared/floatingList.mjs.map +1 -1
  446. package/dist/esm/shared/floatingList.native.js +93 -6
  447. package/dist/esm/shared/floatingList.native.js.map +1 -1
  448. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  449. package/dist/esm/shared/groupContext.native.js.map +1 -1
  450. package/dist/esm/shared/i18n.native.js.map +1 -1
  451. package/dist/esm/shared/instantMotion.native.js.map +1 -1
  452. package/dist/esm/shared/nativeA11y.native.js.map +1 -1
  453. package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -1
  454. package/dist/esm/shared/overlaySizeClass.native.js.map +1 -1
  455. package/dist/esm/shared/overlayStack.native.js.map +1 -1
  456. package/dist/esm/shared/panelPortal.native.js.map +1 -1
  457. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
  458. package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
  459. package/dist/esm/shared/restoreRetries.native.js.map +1 -1
  460. package/dist/esm/shared/sheetNavigation.native.js.map +1 -1
  461. package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -1
  462. package/dist/esm/shared/systemControls.native.js.map +1 -1
  463. package/dist/esm/shared/t.native.js.map +1 -1
  464. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  465. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  466. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  467. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  468. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  469. package/dist/esm/shared/utils.native.js.map +1 -1
  470. package/dist/esm/shared/zIndex.native.js.map +1 -1
  471. package/dist/esm/standardActions.native.js.map +1 -1
  472. package/dist/esm/themedPrimitives.native.js.map +1 -1
  473. package/dist/esm/types.native.js.map +1 -1
  474. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  475. package/dist/jsx/AdaptivePopup/index.mjs +2 -2
  476. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  477. package/dist/jsx/AdaptivePopup/index.native.js +1 -1
  478. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  479. package/dist/jsx/Button/index.mjs +12 -5
  480. package/dist/jsx/Button/index.mjs.map +1 -1
  481. package/dist/jsx/Button/index.native.js +14 -6
  482. package/dist/jsx/Button/index.native.js.map +1 -1
  483. package/dist/jsx/FloatingPanel/PanelHeader.mjs +3 -8
  484. package/dist/jsx/FloatingPanel/PanelHeader.mjs.map +1 -1
  485. package/dist/jsx/FloatingPanel/PanelHeader.native.js +3 -8
  486. package/dist/jsx/FloatingPanel/PanelHeader.native.js.map +1 -1
  487. package/dist/jsx/FloatingPanel/coverRect.mjs +1 -8
  488. package/dist/jsx/FloatingPanel/coverRect.mjs.map +1 -1
  489. package/dist/jsx/FloatingPanel/coverRect.native.js +0 -8
  490. package/dist/jsx/FloatingPanel/coverRect.native.js.map +1 -1
  491. package/dist/jsx/FloatingPanel/echoContext.mjs +4 -24
  492. package/dist/jsx/FloatingPanel/echoContext.mjs.map +1 -1
  493. package/dist/jsx/FloatingPanel/echoContext.native.js +5 -28
  494. package/dist/jsx/FloatingPanel/echoContext.native.js.map +1 -1
  495. package/dist/jsx/FloatingPanel/index.mjs +53 -135
  496. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  497. package/dist/jsx/FloatingPanel/index.native.js +26 -91
  498. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  499. package/dist/jsx/fields/Combobox/index.mjs +4 -11
  500. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  501. package/dist/jsx/fields/Combobox/index.native.js +3 -10
  502. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  503. package/dist/jsx/fields/Select/InlineChoices.mjs +2 -6
  504. package/dist/jsx/fields/Select/InlineChoices.mjs.map +1 -1
  505. package/dist/jsx/fields/Select/InlineChoices.native.js +4 -8
  506. package/dist/jsx/fields/Select/InlineChoices.native.js.map +1 -1
  507. package/dist/jsx/fields/Select/index.mjs +49 -202
  508. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  509. package/dist/jsx/fields/Select/index.native.js +52 -207
  510. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  511. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +3 -3
  512. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  513. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +2 -2
  514. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  515. package/dist/jsx/index.js +3 -1
  516. package/dist/jsx/index.js.map +1 -1
  517. package/dist/jsx/index.mjs +3 -1
  518. package/dist/jsx/index.mjs.map +1 -1
  519. package/dist/jsx/index.native.js +4 -0
  520. package/dist/jsx/index.native.js.map +1 -1
  521. package/dist/jsx/shared/CheckGlyph.mjs +15 -0
  522. package/dist/jsx/shared/CheckGlyph.mjs.map +1 -0
  523. package/dist/jsx/shared/CheckGlyph.native.js +44 -0
  524. package/dist/jsx/shared/CheckGlyph.native.js.map +1 -0
  525. package/dist/jsx/shared/floatingList.mjs +80 -4
  526. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  527. package/dist/jsx/shared/floatingList.native.js +95 -5
  528. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  529. package/package.json +8 -8
  530. package/src/AdaptivePopup/index.tsx +2 -2
  531. package/src/Button/Button.iconButton.spec.tsx +39 -0
  532. package/src/Button/index.tsx +20 -8
  533. package/src/FloatingPanel/FloatingPanel.iconCover.spec.tsx +279 -0
  534. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +78 -69
  535. package/src/FloatingPanel/FloatingPanel.seamlessCover.spec.tsx +12 -0
  536. package/src/FloatingPanel/PanelHeader.tsx +4 -12
  537. package/src/FloatingPanel/coverRect.ts +2 -15
  538. package/src/FloatingPanel/echoContext.ts +6 -40
  539. package/src/FloatingPanel/index.native.tsx +36 -145
  540. package/src/FloatingPanel/index.tsx +61 -187
  541. package/src/FloatingPanel/pointAnchor.spec.ts +1 -1
  542. package/src/FloatingPanel/pointAnchor.ts +4 -4
  543. package/src/fields/Combobox/index.tsx +4 -9
  544. package/src/fields/Select/InlineChoices.tsx +2 -2
  545. package/src/fields/Select/Select.containingBlock.spec.tsx +131 -130
  546. package/src/fields/Select/Select.stories.tsx +10 -0
  547. package/src/fields/Select/index.tsx +66 -253
  548. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +3 -3
  549. package/src/index.ts +2 -1
  550. package/src/shared/CheckGlyph.tsx +12 -0
  551. package/src/shared/floatingList.spec.tsx +154 -1
  552. package/src/shared/floatingList.tsx +125 -8
  553. package/types/Button/index.d.ts.map +1 -1
  554. package/types/FloatingPanel/PanelHeader.d.ts +1 -6
  555. package/types/FloatingPanel/PanelHeader.d.ts.map +1 -1
  556. package/types/FloatingPanel/coverRect.d.ts +2 -11
  557. package/types/FloatingPanel/coverRect.d.ts.map +1 -1
  558. package/types/FloatingPanel/echoContext.d.ts +5 -22
  559. package/types/FloatingPanel/echoContext.d.ts.map +1 -1
  560. package/types/FloatingPanel/index.d.ts +6 -8
  561. package/types/FloatingPanel/index.d.ts.map +1 -1
  562. package/types/FloatingPanel/index.native.d.ts +1 -1
  563. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  564. package/types/FloatingPanel/pointAnchor.d.ts +4 -4
  565. package/types/fields/Combobox/index.d.ts.map +1 -1
  566. package/types/fields/Select/index.d.ts.map +1 -1
  567. package/types/index.d.ts +2 -1
  568. package/types/index.d.ts.map +1 -1
  569. package/types/shared/CheckGlyph.d.ts +10 -0
  570. package/types/shared/CheckGlyph.d.ts.map +1 -0
  571. package/types/shared/floatingList.d.ts +55 -1
  572. package/types/shared/floatingList.d.ts.map +1 -1
  573. package/dist/cjs/FloatingPanel/iconEcho.cjs +0 -106
  574. package/dist/cjs/FloatingPanel/iconEcho.native.js +0 -116
  575. package/dist/cjs/FloatingPanel/iconEcho.native.js.map +0 -1
  576. package/dist/esm/FloatingPanel/iconEcho.mjs +0 -79
  577. package/dist/esm/FloatingPanel/iconEcho.mjs.map +0 -1
  578. package/dist/esm/FloatingPanel/iconEcho.native.js +0 -86
  579. package/dist/esm/FloatingPanel/iconEcho.native.js.map +0 -1
  580. package/dist/jsx/FloatingPanel/iconEcho.mjs +0 -79
  581. package/dist/jsx/FloatingPanel/iconEcho.mjs.map +0 -1
  582. package/dist/jsx/FloatingPanel/iconEcho.native.js +0 -116
  583. package/dist/jsx/FloatingPanel/iconEcho.native.js.map +0 -1
  584. package/src/FloatingPanel/FloatingPanel.iconEcho.spec.tsx +0 -357
  585. package/src/FloatingPanel/iconEcho.tsx +0 -124
  586. package/types/FloatingPanel/iconEcho.d.ts +0 -29
  587. package/types/FloatingPanel/iconEcho.d.ts.map +0 -1
@@ -1,22 +1,14 @@
1
1
  import { XStack, type XStackProps } from "tamagui";
2
- import { usePanelIconEchoBox } from "./echoContext";
3
2
 
4
- /**
5
- * A floating panel's header row (LC-112, FZ-8480 Round 37). Over an
6
- * icon-trigger panel whose X shares the header's row, it takes the X's
7
- * height and centres its content on the X's line, keeping clear of the X;
8
- * anywhere else it is the panel's padded top row.
9
- */
3
+ /** A floating panel's title row: the panel's padded top row (LC-112). */
10
4
  export function PanelHeader({ children, ...rest }: XStackProps) {
11
- const echo = usePanelIconEchoBox();
12
5
  return (
13
6
  <XStack
14
7
  alignItems="center"
15
8
  gap="$2"
16
- paddingLeft={echo?.left || "$4"}
17
- paddingRight={echo?.right || "$4"}
18
- paddingTop={echo ? 0 : "$4"}
19
- {...(echo ? { minHeight: echo.height } : undefined)}
9
+ paddingLeft="$4"
10
+ paddingRight="$4"
11
+ paddingTop="$4"
20
12
  data-fp-panel-header=""
21
13
  {...rest}
22
14
  >
@@ -5,8 +5,8 @@ import type { TriggerRect } from "./pointAnchor";
5
5
  * The 44pt box an icon trigger is pressed in, centred on the trigger
6
6
  * (LC-176). A trigger drawn smaller than its target (a 32pt avatar) is
7
7
  * covered at its target, so the panel's row-icon column, which centres on
8
- * a 44pt start inset, runs through the trigger's centre and the X drawn on
9
- * it (FZ-8480 GAP). A trigger at least that big is its own box.
8
+ * a 44pt start inset, runs through the trigger's centre (FZ-8480 GAP). A
9
+ * trigger at least that big is its own box.
10
10
  */
11
11
  export function pressTargetRect(trigger: TriggerRect, min = MIN_PRESS_TARGET): TriggerRect {
12
12
  const width = Math.max(trigger.width, min);
@@ -27,16 +27,3 @@ export function pressTargetRect(trigger: TriggerRect, min = MIN_PRESS_TARGET): T
27
27
  export function iconCoverRect(trigger: TriggerRect, group: TriggerRect | null): TriggerRect {
28
28
  return group ?? pressTargetRect(trigger);
29
29
  }
30
-
31
- /**
32
- * Where the trigger sits inside the surface its panel covers: the X box's
33
- * offset from the cover's top, and the band's height. Null when the cover is
34
- * the trigger itself.
35
- */
36
- export function echoInCover(
37
- trigger: TriggerRect,
38
- cover: TriggerRect,
39
- ): { top: number; height: number } | null {
40
- if (cover.y === trigger.y && cover.height === trigger.height) return null;
41
- return { top: trigger.y - cover.y, height: cover.height };
42
- }
@@ -22,46 +22,12 @@ export function usePanelTriggerRadiusReporter(): ((radius: number) => void) | nu
22
22
  }
23
23
 
24
24
  /**
25
- * The X a panel lays over its content's header row (LC-112, FZ-8480 Round
26
- * 37): its height, and how far the header keeps clear of it on each side.
27
- * A panel header sits on the X's line and never runs under it.
25
+ * True inside a panel's sheet face (a phone's bottom sheet, web or native). A
26
+ * sheet isn't laid over its trigger, so LC-112's echo row has nothing to
27
+ * cover: a picker titles the sheet instead, per HIG (FZ-8557, Round 40).
28
28
  */
29
- export interface PanelIconEchoBox {
30
- height: number;
31
- left: number;
32
- right: number;
33
- }
34
-
35
- export const PanelIconEchoBoxContext = createContext<PanelIconEchoBox | null>(null);
36
-
37
- export function usePanelIconEchoBox(): PanelIconEchoBox | null {
38
- return useContext(PanelIconEchoBoxContext);
39
- }
40
-
41
- /**
42
- * The header's clearance around an X `offset` in from the panel's start edge:
43
- * the X's side keeps clear of it, the other side keeps none of its own.
44
- */
45
- export function echoHeaderBox({
46
- offset,
47
- width,
48
- height,
49
- panelWidth,
50
- rtl = false,
51
- }: {
52
- offset: number;
53
- width: number;
54
- height: number;
55
- panelWidth: number;
56
- rtl?: boolean;
57
- }): PanelIconEchoBox {
58
- const atStart = offset + width / 2 < panelWidth / 2;
59
- const start = atStart ? Math.max(0, offset + width) : 0;
60
- const end = atStart ? 0 : Math.max(0, panelWidth - offset);
61
- return { height, left: rtl ? end : start, right: rtl ? start : end };
62
- }
29
+ export const PanelSheetContext = createContext(false);
63
30
 
64
- export function sameEchoBox(a: PanelIconEchoBox | null, b: PanelIconEchoBox | null): boolean {
65
- if (a == null || b == null) return a === b;
66
- return a.height === b.height && a.left === b.left && a.right === b.right;
31
+ export function useInPanelSheet(): boolean {
32
+ return useContext(PanelSheetContext);
67
33
  }
@@ -63,7 +63,7 @@
63
63
  * compact windows (iPhone, Slide Over) keep the sheet. `sheet` forces it.
64
64
  */
65
65
 
66
- import { nativeAnimationConfig, type MotionStop } from "@multiplatform.one/theme";
66
+ import { nativeAnimationConfig, type MotionStop, overlayScrim } from "@multiplatform.one/theme";
67
67
  import {
68
68
  isValidElement,
69
69
  type ReactNode,
@@ -90,12 +90,7 @@ import {
90
90
  type GestureResponderEvent,
91
91
  } from "react-native";
92
92
  import { SafeAreaInsetsContext, initialWindowMetrics } from "react-native-safe-area-context";
93
- import {
94
- Surface,
95
- SurfaceContext,
96
- useResolvedKnobs,
97
- motionDurationMs,
98
- } from "@multiplatform.one/theme";
93
+ import { Surface, useResolvedKnobs, motionDurationMs } from "@multiplatform.one/theme";
99
94
  import { View, YStack } from "tamagui";
100
95
  import { useInsideOverlay, useOverlayZIndex } from "../shared/overlayStack";
101
96
  import { OverlayWindow } from "../shared/OverlayWindow";
@@ -105,12 +100,7 @@ import { useKeyboardInset } from "../shared/useKeyboardInset";
105
100
  import type { FloatingPanelProps } from "./index";
106
101
  import { MENU_MIN_WIDTH, resolveCompactFace } from "./compactFace";
107
102
  import { echoOffset, type PanelWidth, panelWidthBox, screenBounds } from "./panelWidth";
108
- import {
109
- echoHeaderBox,
110
- PanelEchoContext,
111
- PanelIconEchoBoxContext,
112
- PanelTriggerRadiusContext,
113
- } from "./echoContext";
103
+ import { PanelEchoContext, PanelSheetContext, PanelTriggerRadiusContext } from "./echoContext";
114
104
  import {
115
105
  placeAtPoint,
116
106
  placeBesideTrigger,
@@ -122,8 +112,7 @@ import {
122
112
  import { RegularPanel } from "./RegularPanel";
123
113
  import { panelViewportPadding, resolvePanelWidthMode } from "./useFloatingPanel";
124
114
  import { TrailingActionOverlay, TriggerWithTrailingAction } from "./trailingAction";
125
- import { iconEchoElement, iconEchoOverlays, type IconEcho } from "./iconEcho";
126
- import { echoInCover, iconCoverRect } from "./coverRect";
115
+ import { iconCoverRect } from "./coverRect";
127
116
  import {
128
117
  IconButtonGroupSurfaceContext,
129
118
  useIconButtonGroupSurface,
@@ -184,7 +173,7 @@ export function FloatingPanel({
184
173
  triggerRow,
185
174
  triggerEcho = true,
186
175
  coverAlign = "start",
187
- iconEcho,
176
+ iconCover = false,
188
177
  anchorMode,
189
178
  panelWidth = "content",
190
179
  sheet,
@@ -193,7 +182,6 @@ export function FloatingPanel({
193
182
  }: FloatingPanelProps) {
194
183
  // The panel floats over the page: it never inherits a painted ancestor.
195
184
  const { knobProps } = useResolvedKnobs({ painted: false });
196
- const triggerSurface = SurfaceContext.useStyledContext();
197
185
  const windowZIndex = useOverlayZIndex("sheet");
198
186
  // A grouped trigger's capsule is its own: a panel's content never covers it.
199
187
  const children = (
@@ -289,7 +277,7 @@ export function FloatingPanel({
289
277
  } else {
290
278
  setAnchor({ x: 0, y: 0, width: 0, height: 0 });
291
279
  }
292
- if (iconEcho && anchorMode !== "attach" && groupSurface) {
280
+ if (iconCover && anchorMode !== "attach" && groupSurface) {
293
281
  setGroup(undefined);
294
282
  groupSurface.measure((plate) => {
295
283
  if (live) setGroup(plate);
@@ -300,7 +288,7 @@ export function FloatingPanel({
300
288
  return () => {
301
289
  live = false;
302
290
  };
303
- }, [anchored, open, iconEcho, anchorMode, groupSurface]);
291
+ }, [anchored, open, iconCover, anchorMode, groupSurface]);
304
292
 
305
293
  const handleBackdropPress = useCallback(() => {
306
294
  if (backdropArmed) close();
@@ -669,15 +657,10 @@ export function FloatingPanel({
669
657
  Math.max(safeArea?.bottom ?? 0, keyboardInset) -
670
658
  panelViewportPadding,
671
659
  }}
672
- echo={triggerEcho && !iconEcho ? (triggerRow ?? trigger) : null}
660
+ echo={triggerEcho && !iconCover ? (triggerRow ?? trigger) : null}
673
661
  echoLabel={triggerA11y?.label}
674
- iconEcho={
675
- iconEcho && anchorMode !== "attach"
676
- ? iconEchoElement(trigger, iconEcho, close, triggerSurface)
677
- : null
678
- }
679
- iconEchoKind={iconEcho}
680
- group={iconEcho && anchorMode !== "attach" ? (group ?? null) : null}
662
+ iconCover={iconCover && anchorMode !== "attach"}
663
+ group={iconCover && anchorMode !== "attach" ? (group ?? null) : null}
681
664
  coverAlign={anchorMode === "attach" ? "start" : coverAlign}
682
665
  panelWidth={panelWidth}
683
666
  triggerRadius={anchorMode === "attach" ? null : triggerRadius}
@@ -749,7 +732,7 @@ export function FloatingPanel({
749
732
  accessibilityRole="button"
750
733
  accessibilityLabel={t("Close")}
751
734
  >
752
- <View flex={1} backgroundColor="$shadow6" />
735
+ <View flex={1} backgroundColor={overlayScrim} />
753
736
  </Pressable>
754
737
  {/*
755
738
  Sheet sits above the absoluteFill backdrop in z-order (later sibling).
@@ -819,8 +802,10 @@ export function FloatingPanel({
819
802
  {...(sheetFill ? { flex: 1, minHeight: 0 } : undefined)}
820
803
  >
821
804
  <Surface size="$true">
822
- {header}
823
- {content}
805
+ <PanelSheetContext.Provider value>
806
+ {header}
807
+ {content}
808
+ </PanelSheetContext.Provider>
824
809
  </Surface>
825
810
  </YStack>
826
811
  </YStack>
@@ -835,9 +820,9 @@ export function FloatingPanel({
835
820
 
836
821
  /**
837
822
  * The menu over its trigger (LC-112): measured once per open at its natural
838
- * size, then placed on the trigger's window rect. The first row repeats the
839
- * trigger in the trigger's own box, and pressing it closes the menu, as the
840
- * web echo row does.
823
+ * size, then placed on the trigger's window rect. A field's first row repeats
824
+ * the trigger in the trigger's own box, and pressing it closes the menu, as
825
+ * the web echo row does. An icon trigger repeats nothing (Round 45).
841
826
  */
842
827
  function TriggerMenuPanel({
843
828
  anchor,
@@ -845,8 +830,7 @@ function TriggerMenuPanel({
845
830
  bounds,
846
831
  echo,
847
832
  echoLabel,
848
- iconEcho = null,
849
- iconEchoKind = "menu",
833
+ iconCover = false,
850
834
  group = null,
851
835
  coverAlign,
852
836
  panelWidth,
@@ -862,9 +846,8 @@ function TriggerMenuPanel({
862
846
  bounds: PanelBounds;
863
847
  echo: ReactNode;
864
848
  echoLabel?: string;
865
- /** LC-112 (FZ-8480): the icon trigger drawn again in its own spot. */
866
- iconEcho?: ReactNode;
867
- iconEchoKind?: IconEcho;
849
+ /** LC-112 (FZ-8665): an icon trigger, covered at the surface it is seen on. */
850
+ iconCover?: boolean;
868
851
  /** LC-112 (FZ-8550): the glass capsule a grouped trigger sits on. */
869
852
  group?: IconButtonGroupPlate | null;
870
853
  coverAlign: "start" | "auto";
@@ -879,10 +862,8 @@ function TriggerMenuPanel({
879
862
  const { knobProps } = useResolvedKnobs({ painted: false });
880
863
  const [size, setSize] = useState<{ width: number; height: number } | null>(null);
881
864
  // LC-112 (FZ-8480, FZ-8550): an icon trigger's panel covers the surface the
882
- // trigger is seen on, its capsule or its press target, and the X keeps the
883
- // trigger's own box inside it.
884
- const cover = anchor && iconEcho != null ? iconCoverRect(anchor, group) : anchor;
885
- const echoCover = anchor && cover && iconEcho != null ? echoInCover(anchor, cover) : null;
865
+ // trigger is seen on, its capsule or its press target.
866
+ const cover = anchor && iconCover ? iconCoverRect(anchor, group) : anchor;
886
867
  // LC-112 width setting (FZ-8438 r3). `"content"` keeps the iOS pull-down's
887
868
  // 250pt floor (FZ-8220), and no panel is narrower than an echoed trigger.
888
869
  const room =
@@ -913,7 +894,7 @@ function TriggerMenuPanel({
913
894
  bounds: room,
914
895
  rtl: I18nManager.isRTL,
915
896
  align: coverAlign,
916
- pinned: iconEcho != null,
897
+ pinned: iconCover,
917
898
  })
918
899
  : null;
919
900
  // LC-112 seamless cover: the menu is its trigger grown open, so it draws the
@@ -921,7 +902,7 @@ function TriggerMenuPanel({
921
902
  // icon button with no echo is a circle or capsule, half its short side.
922
903
  const half = cover ? Math.min(cover.width, cover.height) / 2 : undefined;
923
904
  const radius =
924
- group != null && iconEcho != null
905
+ group != null && iconCover
925
906
  ? Math.min(group.radius, half ?? group.radius)
926
907
  : triggerRadius != null && half != null
927
908
  ? Math.min(triggerRadius, half)
@@ -929,7 +910,6 @@ function TriggerMenuPanel({
929
910
  ? half
930
911
  : undefined;
931
912
  const borderWidth = Number(knobProps.elevatedSurface.borderWidth) || 0;
932
- const echoOverlays = iconEchoOverlays(iconEchoKind, placement?.up ?? false);
933
913
  // A panel slid along the screen (a `"screen"` or fixed width, or one pushed
934
914
  // back inside the margins) keeps its echo on the trigger.
935
915
  const echoShift =
@@ -943,7 +923,11 @@ function TriggerMenuPanel({
943
923
  })
944
924
  : 0;
945
925
  return (
946
- <RNView style={StyleSheet.absoluteFill}>
926
+ <RNView
927
+ style={StyleSheet.absoluteFill}
928
+ testID="floating-panel-menu-layer"
929
+ accessibilityViewIsModal
930
+ >
947
931
  <Pressable
948
932
  style={StyleSheet.absoluteFill}
949
933
  onPress={onBackdropPress}
@@ -1013,50 +997,14 @@ function TriggerMenuPanel({
1013
997
  </RNView>
1014
998
  </Pressable>
1015
999
  ) : null}
1016
- {iconEcho != null && anchor && !placement?.up && !echoOverlays ? (
1017
- <IconEchoBand
1018
- anchor={anchor}
1019
- cover={echoCover}
1020
- shift={echoShift}
1021
- borderWidth={borderWidth}
1022
- edge="top"
1023
- >
1024
- {iconEcho}
1025
- </IconEchoBand>
1026
- ) : null}
1027
1000
  <RNScrollView
1028
1001
  style={{ flexGrow: 0, flexShrink: 1 }}
1029
1002
  keyboardShouldPersistTaps="handled"
1030
1003
  >
1031
1004
  <YStack padding={framePadding} gap={frameGap}>
1032
- <PanelIconEchoBoxContext.Provider
1033
- value={
1034
- iconEcho != null && anchor && placement && echoOverlays
1035
- ? echoHeaderBox({
1036
- offset: echoShift,
1037
- width: anchor.width,
1038
- height: echoCover?.height ?? anchor.height,
1039
- panelWidth: placement.width,
1040
- rtl: I18nManager.isRTL,
1041
- })
1042
- : null
1043
- }
1044
- >
1045
- {children}
1046
- </PanelIconEchoBoxContext.Provider>
1005
+ {children}
1047
1006
  </YStack>
1048
1007
  </RNScrollView>
1049
- {iconEcho != null && anchor && (placement?.up || echoOverlays) ? (
1050
- <IconEchoBand
1051
- anchor={anchor}
1052
- cover={echoCover}
1053
- shift={echoShift}
1054
- borderWidth={borderWidth}
1055
- edge={echoOverlays ? "overlay" : "bottom"}
1056
- >
1057
- {iconEcho}
1058
- </IconEchoBand>
1059
- ) : null}
1060
1008
  </YStack>
1061
1009
  </YStack>
1062
1010
  </RNView>
@@ -1064,67 +1012,6 @@ function TriggerMenuPanel({
1064
1012
  );
1065
1013
  }
1066
1014
 
1067
- /**
1068
- * The band an icon trigger's echo rides (LC-112, FZ-8480): the trigger's
1069
- * height on the edge the menu shares with it, outside the scroll view so the
1070
- * rows scroll under it, and the button in the trigger's own box, pulled back
1071
- * over the frame's border so it lands exactly where the trigger is.
1072
- */
1073
- function IconEchoBand({
1074
- anchor,
1075
- cover = null,
1076
- shift,
1077
- borderWidth,
1078
- edge,
1079
- children,
1080
- }: {
1081
- anchor: TriggerRect;
1082
- /** The trigger's offset in, and the height of, a cover larger than it. */
1083
- cover?: { top: number; height: number } | null;
1084
- shift: number;
1085
- borderWidth: number;
1086
- /** `"overlay"`: an X laid over the content's top corner, taking no height. */
1087
- edge: "top" | "bottom" | "overlay";
1088
- children: ReactNode;
1089
- }) {
1090
- const bandHeight = cover?.height ?? anchor.height;
1091
- return (
1092
- <RNView
1093
- testID="floating-panel-icon-echo-band"
1094
- pointerEvents="box-none"
1095
- style={
1096
- edge === "overlay"
1097
- ? {
1098
- position: "absolute",
1099
- top: -borderWidth,
1100
- start: -borderWidth,
1101
- end: -borderWidth,
1102
- height: bandHeight,
1103
- zIndex: 1,
1104
- }
1105
- : {
1106
- height: bandHeight,
1107
- marginHorizontal: -borderWidth,
1108
- ...(edge === "top" ? { marginTop: -borderWidth } : { marginBottom: -borderWidth }),
1109
- }
1110
- }
1111
- >
1112
- <RNView
1113
- style={{
1114
- width: anchor.width,
1115
- height: anchor.height,
1116
- marginStart: shift,
1117
- marginTop: cover?.top ?? 0,
1118
- alignItems: "flex-start",
1119
- justifyContent: "flex-start",
1120
- }}
1121
- >
1122
- {children}
1123
- </RNView>
1124
- </RNView>
1125
- );
1126
- }
1127
-
1128
1015
  /**
1129
1016
  * The menu at the long-press point: measured once per open at its natural
1130
1017
  * size, then placed by the same rule as the web pointer menu. Later layouts
@@ -1159,7 +1046,11 @@ function PointPanel({
1159
1046
  })
1160
1047
  : null;
1161
1048
  return (
1162
- <RNView style={StyleSheet.absoluteFill}>
1049
+ <RNView
1050
+ style={StyleSheet.absoluteFill}
1051
+ testID="floating-panel-point-layer"
1052
+ accessibilityViewIsModal
1053
+ >
1163
1054
  <Pressable
1164
1055
  style={StyleSheet.absoluteFill}
1165
1056
  onPress={onBackdropPress}