@multiplatform.one/forms 8.2.2 → 8.4.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 (570) hide show
  1. package/dist/cjs/AdaptivePopup/index.native.js +2 -2
  2. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  3. package/dist/cjs/Button/index.native.js +2 -2
  4. package/dist/cjs/Button/index.native.js.map +1 -1
  5. package/dist/cjs/Composer/index.native.js +1 -1
  6. package/dist/cjs/Composer/index.native.js.map +1 -1
  7. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  8. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  9. package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
  10. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  11. package/dist/cjs/ControlGroup/index.cjs +2 -1
  12. package/dist/cjs/ControlGroup/index.native.js +3 -2
  13. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  14. package/dist/cjs/DescriptionList/index.native.js +2 -2
  15. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  16. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  17. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  18. package/dist/cjs/FloatingPanel/index.native.js +20 -2
  19. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  20. package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
  21. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
  22. package/dist/cjs/Form/index.native.js +1 -1
  23. package/dist/cjs/Form/index.native.js.map +1 -1
  24. package/dist/cjs/InputParts/index.cjs +1 -0
  25. package/dist/cjs/InputParts/index.native.js +1 -0
  26. package/dist/cjs/InputParts/index.native.js.map +1 -1
  27. package/dist/cjs/Wheel/index.cjs +22 -6
  28. package/dist/cjs/Wheel/index.native.js +26 -8
  29. package/dist/cjs/Wheel/index.native.js.map +1 -1
  30. package/dist/cjs/fieldLayout.native.js +1 -1
  31. package/dist/cjs/fieldLayout.native.js.map +1 -1
  32. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
  33. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  34. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  35. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  36. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  37. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  38. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  39. package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
  40. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  41. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  42. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  43. package/dist/cjs/fields/Combobox/index.native.js +5 -5
  44. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  45. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  46. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  47. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  48. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  49. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  50. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  51. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  52. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  53. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  54. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
  55. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  56. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  57. package/dist/cjs/fields/DatePicker/parts.cjs +33 -30
  58. package/dist/cjs/fields/DatePicker/parts.native.js +36 -32
  59. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  60. package/dist/cjs/fields/Duration/DurationWheel.native.js +1 -1
  61. package/dist/cjs/fields/Duration/index.native.js +3 -3
  62. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  63. package/dist/cjs/fields/FileUpload/index.cjs +32 -15
  64. package/dist/cjs/fields/FileUpload/index.native.js +42 -21
  65. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  66. package/dist/cjs/fields/Geolocation/index.native.js +5 -5
  67. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  68. package/dist/cjs/fields/Icon/index.native.js +3 -3
  69. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  70. package/dist/cjs/fields/ImageField/index.cjs +35 -20
  71. package/dist/cjs/fields/ImageField/index.native.js +39 -22
  72. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  73. package/dist/cjs/fields/Input/index.native.js +3 -3
  74. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  75. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  76. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  77. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  78. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  79. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  80. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  81. package/dist/cjs/fields/Progress/index.cjs +5 -0
  82. package/dist/cjs/fields/Progress/index.native.js +6 -1
  83. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  84. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  85. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Rating/index.native.js +1 -1
  87. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  88. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  89. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  90. package/dist/cjs/fields/Select/index.native.js +4 -4
  91. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  92. package/dist/cjs/fields/Signature/index.native.js +2 -2
  93. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  94. package/dist/cjs/fields/Slider/index.cjs +38 -12
  95. package/dist/cjs/fields/Slider/index.native.js +40 -12
  96. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  97. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  98. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  99. package/dist/cjs/fields/Switch/index.cjs +10 -6
  100. package/dist/cjs/fields/Switch/index.native.js +12 -8
  101. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  102. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  103. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  104. package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
  105. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  106. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  107. package/dist/cjs/fields/TimePicker/parts.cjs +9 -10
  108. package/dist/cjs/fields/TimePicker/parts.native.js +10 -11
  109. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  110. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  111. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  112. package/dist/cjs/fields/ToggleGroup/index.cjs +1 -0
  113. package/dist/cjs/fields/ToggleGroup/index.native.js +2 -1
  114. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  115. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
  116. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  117. package/dist/cjs/fields/pickerHandle.cjs +18 -0
  118. package/dist/cjs/fields/pickerHandle.native.js +21 -0
  119. package/dist/cjs/fields/pickerHandle.native.js.map +1 -0
  120. package/dist/cjs/hooks/useHoldCue.cjs +54 -0
  121. package/dist/cjs/hooks/useHoldCue.native.js +62 -0
  122. package/dist/cjs/hooks/useHoldCue.native.js.map +1 -0
  123. package/dist/cjs/index.cjs +4 -0
  124. package/dist/cjs/index.gnome.cjs +4 -0
  125. package/dist/cjs/index.gnome.native.js +41 -37
  126. package/dist/cjs/index.gnome.native.js.map +1 -1
  127. package/dist/cjs/index.native.js +50 -46
  128. package/dist/cjs/index.native.js.map +1 -1
  129. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
  130. package/dist/cjs/shared/TimeColumn.native.js +1 -1
  131. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  132. package/dist/cjs/shared/colorRamps.cjs +9 -7
  133. package/dist/cjs/shared/colorRamps.native.js +9 -7
  134. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  135. package/dist/cjs/shared/controlTrack.cjs +32 -0
  136. package/dist/cjs/shared/controlTrack.native.js +35 -0
  137. package/dist/cjs/shared/controlTrack.native.js.map +1 -0
  138. package/dist/cjs/shared/floatingList.native.js +1 -1
  139. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  140. package/dist/cjs/shared/utils.native.js +1 -1
  141. package/dist/cjs/shared/utils.native.js.map +1 -1
  142. package/dist/esm/ControlGroup/index.mjs +2 -1
  143. package/dist/esm/ControlGroup/index.mjs.map +1 -1
  144. package/dist/esm/ControlGroup/index.native.js +2 -1
  145. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  146. package/dist/esm/FloatingPanel/index.native.js +20 -2
  147. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  148. package/dist/esm/InputParts/index.mjs +1 -0
  149. package/dist/esm/InputParts/index.mjs.map +1 -1
  150. package/dist/esm/InputParts/index.native.js +1 -0
  151. package/dist/esm/InputParts/index.native.js.map +1 -1
  152. package/dist/esm/Wheel/index.mjs +23 -7
  153. package/dist/esm/Wheel/index.mjs.map +1 -1
  154. package/dist/esm/Wheel/index.native.js +27 -9
  155. package/dist/esm/Wheel/index.native.js.map +1 -1
  156. package/dist/esm/fields/DatePicker/parts.mjs +35 -32
  157. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  158. package/dist/esm/fields/DatePicker/parts.native.js +36 -32
  159. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  160. package/dist/esm/fields/FileUpload/index.mjs +33 -16
  161. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  162. package/dist/esm/fields/FileUpload/index.native.js +41 -20
  163. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  164. package/dist/esm/fields/ImageField/index.mjs +36 -21
  165. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  166. package/dist/esm/fields/ImageField/index.native.js +38 -21
  167. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  168. package/dist/esm/fields/Progress/index.mjs +5 -0
  169. package/dist/esm/fields/Progress/index.mjs.map +1 -1
  170. package/dist/esm/fields/Progress/index.native.js +5 -0
  171. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  172. package/dist/esm/fields/Slider/index.mjs +38 -12
  173. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  174. package/dist/esm/fields/Slider/index.native.js +39 -11
  175. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  176. package/dist/esm/fields/Switch/index.mjs +10 -6
  177. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  178. package/dist/esm/fields/Switch/index.native.js +10 -6
  179. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  180. package/dist/esm/fields/TimePicker/parts.mjs +9 -10
  181. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  182. package/dist/esm/fields/TimePicker/parts.native.js +9 -10
  183. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  184. package/dist/esm/fields/ToggleGroup/index.mjs +2 -1
  185. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  186. package/dist/esm/fields/ToggleGroup/index.native.js +2 -1
  187. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  188. package/dist/esm/fields/pickerHandle.mjs +2 -0
  189. package/dist/esm/fields/pickerHandle.mjs.map +1 -0
  190. package/dist/esm/fields/pickerHandle.native.js +2 -0
  191. package/dist/esm/fields/pickerHandle.native.js.map +1 -0
  192. package/dist/esm/hooks/useHoldCue.mjs +27 -0
  193. package/dist/esm/hooks/useHoldCue.mjs.map +1 -0
  194. package/dist/esm/hooks/useHoldCue.native.js +32 -0
  195. package/dist/esm/hooks/useHoldCue.native.js.map +1 -0
  196. package/dist/esm/index.gnome.mjs +2 -1
  197. package/dist/esm/index.gnome.mjs.map +1 -1
  198. package/dist/esm/index.gnome.native.js +2 -1
  199. package/dist/esm/index.gnome.native.js.map +1 -1
  200. package/dist/esm/index.mjs +2 -1
  201. package/dist/esm/index.mjs.map +1 -1
  202. package/dist/esm/index.native.js +2 -1
  203. package/dist/esm/index.native.js.map +1 -1
  204. package/dist/esm/shared/colorRamps.mjs +9 -7
  205. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  206. package/dist/esm/shared/colorRamps.native.js +9 -7
  207. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  208. package/dist/esm/shared/controlTrack.mjs +7 -0
  209. package/dist/esm/shared/controlTrack.mjs.map +1 -0
  210. package/dist/esm/shared/controlTrack.native.js +7 -0
  211. package/dist/esm/shared/controlTrack.native.js.map +1 -0
  212. package/dist/esm/shared/nativeOverlayWindow.mjs.map +1 -1
  213. package/dist/esm/shared/systemControls.mjs.map +1 -1
  214. package/dist/esm/shared/systemControls.native.js.map +1 -1
  215. package/dist/jsx/AdaptivePopup/index.native.js +2 -2
  216. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  217. package/dist/jsx/Button/IconButtonGroup.native.js.map +1 -1
  218. package/dist/jsx/Button/circleGlyph.native.js.map +1 -1
  219. package/dist/jsx/Button/iconButtonGroupContext.native.js.map +1 -1
  220. package/dist/jsx/Button/index.native.js +2 -2
  221. package/dist/jsx/Button/index.native.js.map +1 -1
  222. package/dist/jsx/Button/webGlass.native.js.map +1 -1
  223. package/dist/jsx/Chip/index.native.js.map +1 -1
  224. package/dist/jsx/Composer/index.native.js +1 -1
  225. package/dist/jsx/Composer/index.native.js.map +1 -1
  226. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  227. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  228. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  229. package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  230. package/dist/jsx/ContextualSaveBar/index.native.js +3 -3
  231. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  232. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  233. package/dist/jsx/ControlGroup/index.mjs +2 -1
  234. package/dist/jsx/ControlGroup/index.mjs.map +1 -1
  235. package/dist/jsx/ControlGroup/index.native.js +3 -2
  236. package/dist/jsx/ControlGroup/index.native.js.map +1 -1
  237. package/dist/jsx/DescriptionList/index.native.js +2 -2
  238. package/dist/jsx/DescriptionList/index.native.js.map +1 -1
  239. package/dist/jsx/ErrorSummary.native.js.map +1 -1
  240. package/dist/jsx/FieldDisplay/editMode.native.js.map +1 -1
  241. package/dist/jsx/FieldDisplay/formatters.native.js.map +1 -1
  242. package/dist/jsx/FieldDisplay/index.native.js +1 -1
  243. package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
  244. package/dist/jsx/FieldGroup.native.js.map +1 -1
  245. package/dist/jsx/FloatingPanel/PanelHeader.native.js.map +1 -1
  246. package/dist/jsx/FloatingPanel/RegularPanel.native.js.map +1 -1
  247. package/dist/jsx/FloatingPanel/compactFace.native.js.map +1 -1
  248. package/dist/jsx/FloatingPanel/containingBlock.native.js.map +1 -1
  249. package/dist/jsx/FloatingPanel/coverRect.native.js.map +1 -1
  250. package/dist/jsx/FloatingPanel/echoContext.native.js.map +1 -1
  251. package/dist/jsx/FloatingPanel/index.native.js +20 -2
  252. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  253. package/dist/jsx/FloatingPanel/nestedAction.native.js.map +1 -1
  254. package/dist/jsx/FloatingPanel/paintedBox.native.js.map +1 -1
  255. package/dist/jsx/FloatingPanel/panelWidth.native.js.map +1 -1
  256. package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
  257. package/dist/jsx/FloatingPanel/regularPlacement.native.js.map +1 -1
  258. package/dist/jsx/FloatingPanel/trailingAction.native.js +1 -1
  259. package/dist/jsx/FloatingPanel/trailingAction.native.js.map +1 -1
  260. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  261. package/dist/jsx/Form/index.native.js +1 -1
  262. package/dist/jsx/Form/index.native.js.map +1 -1
  263. package/dist/jsx/Form/submissionController.native.js.map +1 -1
  264. package/dist/jsx/Form/validateOn.native.js.map +1 -1
  265. package/dist/jsx/FormGrid.native.js.map +1 -1
  266. package/dist/jsx/FormSection.native.js.map +1 -1
  267. package/dist/jsx/InputParts/PasswordReveal.native.js.map +1 -1
  268. package/dist/jsx/InputParts/index.mjs +1 -0
  269. package/dist/jsx/InputParts/index.mjs.map +1 -1
  270. package/dist/jsx/InputParts/index.native.js +1 -0
  271. package/dist/jsx/InputParts/index.native.js.map +1 -1
  272. package/dist/jsx/InputParts/keyboardAppearance.native.js.map +1 -1
  273. package/dist/jsx/Label/index.native.js.map +1 -1
  274. package/dist/jsx/MediaPicker/base64.native.js.map +1 -1
  275. package/dist/jsx/MediaPicker/payload.native.js.map +1 -1
  276. package/dist/jsx/MediaPicker/types.native.js.map +1 -1
  277. package/dist/jsx/MediaPicker/useMediaPicker.native.js.map +1 -1
  278. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  279. package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -1
  280. package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -1
  281. package/dist/jsx/Table/index.native.js.map +1 -1
  282. package/dist/jsx/Wheel/haptic.native.js.map +1 -1
  283. package/dist/jsx/Wheel/index.mjs +23 -7
  284. package/dist/jsx/Wheel/index.mjs.map +1 -1
  285. package/dist/jsx/Wheel/index.native.js +26 -8
  286. package/dist/jsx/Wheel/index.native.js.map +1 -1
  287. package/dist/jsx/Wheel/wheelShared.native.js.map +1 -1
  288. package/dist/jsx/actionLabel.native.js.map +1 -1
  289. package/dist/jsx/fieldDefaults.native.js.map +1 -1
  290. package/dist/jsx/fieldLayout.native.js +1 -1
  291. package/dist/jsx/fieldLayout.native.js.map +1 -1
  292. package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
  293. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +1 -1
  294. package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
  295. package/dist/jsx/fields/Barcode/index.native.js +2 -2
  296. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  297. package/dist/jsx/fields/Barcode/qr.native.js.map +1 -1
  298. package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
  299. package/dist/jsx/fields/Checkbox/Checkbox.native.js +1 -1
  300. package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
  301. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  302. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  303. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  304. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +1 -1
  305. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  306. package/dist/jsx/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  307. package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
  308. package/dist/jsx/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  309. package/dist/jsx/fields/ColorPicker/index.native.js +2 -2
  310. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  311. package/dist/jsx/fields/ColorPicker/parts.native.js +2 -2
  312. package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
  313. package/dist/jsx/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  314. package/dist/jsx/fields/Combobox/authorOptions.native.js.map +1 -1
  315. package/dist/jsx/fields/Combobox/index.native.js +5 -5
  316. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  317. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  318. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +2 -2
  319. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  320. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  321. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  322. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +2 -2
  323. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +2 -2
  324. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  325. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +2 -2
  326. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  327. package/dist/jsx/fields/DatePicker/catalog.native.js +2 -2
  328. package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
  329. package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  330. package/dist/jsx/fields/DatePicker/index.native.js +2 -2
  331. package/dist/jsx/fields/DatePicker/parts.mjs +35 -32
  332. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  333. package/dist/jsx/fields/DatePicker/parts.native.js +36 -32
  334. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  335. package/dist/jsx/fields/DatePicker/utils.native.js.map +1 -1
  336. package/dist/jsx/fields/Duration/DurationWheel.native.js +1 -1
  337. package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -1
  338. package/dist/jsx/fields/Duration/durationWheelTypes.native.js.map +1 -1
  339. package/dist/jsx/fields/Duration/index.native.js +3 -3
  340. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  341. package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  342. package/dist/jsx/fields/FileUpload/index.mjs +33 -16
  343. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  344. package/dist/jsx/fields/FileUpload/index.native.js +42 -21
  345. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  346. package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  347. package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  348. package/dist/jsx/fields/Geolocation/geoValue.native.js.map +1 -1
  349. package/dist/jsx/fields/Geolocation/geocoder.native.js.map +1 -1
  350. package/dist/jsx/fields/Geolocation/geocoderContext.native.js.map +1 -1
  351. package/dist/jsx/fields/Geolocation/index.native.js +5 -5
  352. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  353. package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -1
  354. package/dist/jsx/fields/Geolocation/mapTypes.native.js.map +1 -1
  355. package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  356. package/dist/jsx/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  357. package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -1
  358. package/dist/jsx/fields/Icon/index.native.js +3 -3
  359. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  360. package/dist/jsx/fields/ImageField/index.mjs +36 -21
  361. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  362. package/dist/jsx/fields/ImageField/index.native.js +39 -22
  363. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  364. package/dist/jsx/fields/Input/index.native.js +3 -3
  365. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  366. package/dist/jsx/fields/MentionInput/index.native.js +3 -3
  367. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  368. package/dist/jsx/fields/OTPInput/index.native.js +3 -3
  369. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  370. package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -1
  371. package/dist/jsx/fields/OTPInput/otpCellEdge.native.js.map +1 -1
  372. package/dist/jsx/fields/PhoneInput/dialCodes.native.js.map +1 -1
  373. package/dist/jsx/fields/PhoneInput/index.native.js +3 -3
  374. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  375. package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -1
  376. package/dist/jsx/fields/PhoneInput/regionNames.native.js.map +1 -1
  377. package/dist/jsx/fields/Progress/index.mjs +5 -0
  378. package/dist/jsx/fields/Progress/index.mjs.map +1 -1
  379. package/dist/jsx/fields/Progress/index.native.js +6 -1
  380. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  381. package/dist/jsx/fields/RadioGroup/index.native.js +1 -1
  382. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  383. package/dist/jsx/fields/Rating/index.native.js +1 -1
  384. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  385. package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -1
  386. package/dist/jsx/fields/Rating/types.native.js.map +1 -1
  387. package/dist/jsx/fields/SearchInput/index.native.js +2 -2
  388. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  389. package/dist/jsx/fields/Select/InlineChoices.native.js.map +1 -1
  390. package/dist/jsx/fields/Select/SheetPickerRow.native.js.map +1 -1
  391. package/dist/jsx/fields/Select/index.native.js +4 -4
  392. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  393. package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
  394. package/dist/jsx/fields/Signature/index.native.js +2 -2
  395. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  396. package/dist/jsx/fields/Slider/index.mjs +38 -12
  397. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  398. package/dist/jsx/fields/Slider/index.native.js +40 -12
  399. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  400. package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
  401. package/dist/jsx/fields/Stepper/index.native.js +2 -2
  402. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  403. package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  404. package/dist/jsx/fields/Switch/footprint.native.js.map +1 -1
  405. package/dist/jsx/fields/Switch/index.mjs +10 -6
  406. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  407. package/dist/jsx/fields/Switch/index.native.js +12 -8
  408. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  409. package/dist/jsx/fields/TextArea/index.native.js +2 -2
  410. package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
  411. package/dist/jsx/fields/TimePicker/catalog.native.js +3 -3
  412. package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
  413. package/dist/jsx/fields/TimePicker/index.native.js +2 -2
  414. package/dist/jsx/fields/TimePicker/parts.mjs +9 -10
  415. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  416. package/dist/jsx/fields/TimePicker/parts.native.js +10 -11
  417. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  418. package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  419. package/dist/jsx/fields/TimeRangeScrubber/index.native.js +2 -2
  420. package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -1
  421. package/dist/jsx/fields/ToggleGroup/index.mjs +2 -1
  422. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  423. package/dist/jsx/fields/ToggleGroup/index.native.js +2 -1
  424. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  425. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
  426. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  427. package/dist/jsx/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  428. package/dist/jsx/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  429. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  430. package/dist/jsx/fields/nativeSelect.native.js.map +1 -1
  431. package/dist/jsx/fields/pickerHandle.mjs +2 -0
  432. package/dist/jsx/fields/pickerHandle.mjs.map +1 -0
  433. package/dist/jsx/fields/pickerHandle.native.js +21 -0
  434. package/dist/jsx/fields/pickerHandle.native.js.map +1 -0
  435. package/dist/jsx/fields/selectedOrder.native.js.map +1 -1
  436. package/dist/jsx/formSpacing.native.js.map +1 -1
  437. package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
  438. package/dist/jsx/hooks/useHoldCue.mjs +27 -0
  439. package/dist/jsx/hooks/useHoldCue.mjs.map +1 -0
  440. package/dist/jsx/hooks/useHoldCue.native.js +62 -0
  441. package/dist/jsx/hooks/useHoldCue.native.js.map +1 -0
  442. package/dist/jsx/index.gnome.mjs +2 -1
  443. package/dist/jsx/index.gnome.mjs.map +1 -1
  444. package/dist/jsx/index.gnome.native.js +41 -37
  445. package/dist/jsx/index.gnome.native.js.map +1 -1
  446. package/dist/jsx/index.js +2 -1
  447. package/dist/jsx/index.js.map +1 -1
  448. package/dist/jsx/index.mjs +2 -1
  449. package/dist/jsx/index.mjs.map +1 -1
  450. package/dist/jsx/index.native.js +50 -46
  451. package/dist/jsx/index.native.js.map +1 -1
  452. package/dist/jsx/keyboard/KeyboardDoneBar.native.js +1 -1
  453. package/dist/jsx/keyboard/chain.native.js.map +1 -1
  454. package/dist/jsx/keyboard/index.native.js.map +1 -1
  455. package/dist/jsx/keyboard/types.native.js.map +1 -1
  456. package/dist/jsx/nativeTwins.native.js.map +1 -1
  457. package/dist/jsx/requiredMarking.native.js.map +1 -1
  458. package/dist/jsx/shared/CheckGlyph.native.js.map +1 -1
  459. package/dist/jsx/shared/TimeColumn.native.js +1 -1
  460. package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
  461. package/dist/jsx/shared/capabilityPreflight.native.js.map +1 -1
  462. package/dist/jsx/shared/checkedOnField.native.js.map +1 -1
  463. package/dist/jsx/shared/choiceRowPress.native.js.map +1 -1
  464. package/dist/jsx/shared/colorRamps.mjs +9 -7
  465. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  466. package/dist/jsx/shared/colorRamps.native.js +9 -7
  467. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  468. package/dist/jsx/shared/controlTrack.mjs +7 -0
  469. package/dist/jsx/shared/controlTrack.mjs.map +1 -0
  470. package/dist/jsx/shared/controlTrack.native.js +35 -0
  471. package/dist/jsx/shared/controlTrack.native.js.map +1 -0
  472. package/dist/jsx/shared/devWarn.native.js.map +1 -1
  473. package/dist/jsx/shared/fieldRowContext.native.js.map +1 -1
  474. package/dist/jsx/shared/floatingList.native.js +1 -1
  475. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  476. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  477. package/dist/jsx/shared/groupContext.native.js.map +1 -1
  478. package/dist/jsx/shared/i18n.native.js.map +1 -1
  479. package/dist/jsx/shared/instantMotion.native.js.map +1 -1
  480. package/dist/jsx/shared/nativeA11y.native.js.map +1 -1
  481. package/dist/jsx/shared/nativeAutoFocus.native.js.map +1 -1
  482. package/dist/jsx/shared/nativeOverlayWindow.mjs.map +1 -1
  483. package/dist/jsx/shared/nativeOverlayWindow.native.js.map +1 -1
  484. package/dist/jsx/shared/overlaySizeClass.native.js.map +1 -1
  485. package/dist/jsx/shared/overlayStack.native.js.map +1 -1
  486. package/dist/jsx/shared/panelPortal.native.js.map +1 -1
  487. package/dist/jsx/shared/pickerTriggerContract.native.js.map +1 -1
  488. package/dist/jsx/shared/pressSlopProps.native.js.map +1 -1
  489. package/dist/jsx/shared/restoreRetries.native.js.map +1 -1
  490. package/dist/jsx/shared/sheetNavigation.native.js.map +1 -1
  491. package/dist/jsx/shared/systemControlModules.gnome.native.js.map +1 -1
  492. package/dist/jsx/shared/systemControls.mjs.map +1 -1
  493. package/dist/jsx/shared/systemControls.native.js.map +1 -1
  494. package/dist/jsx/shared/t.native.js.map +1 -1
  495. package/dist/jsx/shared/tableCellContext.native.js.map +1 -1
  496. package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
  497. package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -1
  498. package/dist/jsx/shared/useSheetEscapeDismiss.native.js.map +1 -1
  499. package/dist/jsx/shared/useWheelIncrement.native.js.map +1 -1
  500. package/dist/jsx/shared/utils.native.js +1 -1
  501. package/dist/jsx/shared/utils.native.js.map +1 -1
  502. package/dist/jsx/shared/zIndex.native.js.map +1 -1
  503. package/dist/jsx/standardActions.native.js.map +1 -1
  504. package/dist/jsx/themedPrimitives.native.js.map +1 -1
  505. package/dist/jsx/types.native.js.map +1 -1
  506. package/dist/jsx/utils/LinkCell.native.js.map +1 -1
  507. package/package.json +11 -10
  508. package/src/Button/Button.controlTiers.spec.tsx +2 -2
  509. package/src/ControlGroup/index.tsx +2 -1
  510. package/src/FloatingPanel/FloatingPanel.holdCue.native.spec.tsx +72 -0
  511. package/src/FloatingPanel/index.native.tsx +9 -1
  512. package/src/InputParts/index.tsx +1 -0
  513. package/src/Wheel/Wheel.edgeFade.spec.tsx +74 -0
  514. package/src/Wheel/index.tsx +25 -11
  515. package/src/fields/DatePicker/dateFieldMarks.spec.tsx +154 -0
  516. package/src/fields/DatePicker/parts.tsx +33 -30
  517. package/src/fields/FileUpload/index.tsx +45 -16
  518. package/src/fields/ImageField/index.tsx +42 -19
  519. package/src/fields/Progress/index.tsx +3 -0
  520. package/src/fields/Slider/Slider.system.native.spec.tsx +44 -0
  521. package/src/fields/Slider/index.tsx +40 -12
  522. package/src/fields/Stepper/Stepper.stories.tsx +42 -0
  523. package/src/fields/Switch/Switch.spec.tsx +14 -10
  524. package/src/fields/Switch/index.tsx +11 -7
  525. package/src/fields/TimePicker/parts.tsx +8 -8
  526. package/src/fields/ToggleGroup/index.tsx +7 -1
  527. package/src/fields/fieldTriggerSlot.spec.tsx +89 -0
  528. package/src/fields/pickerHandle.ts +13 -0
  529. package/src/hooks/useHoldCue.ts +26 -0
  530. package/src/index.gnome.ts +1 -0
  531. package/src/index.ts +2 -0
  532. package/src/overlayGround.spec.ts +5 -3
  533. package/src/shared/OverlayWindow.tsx +2 -2
  534. package/src/shared/colorRamps.ts +9 -6
  535. package/src/shared/controlTrack.ts +7 -0
  536. package/src/shared/nativeOverlayWindow.tsx +1 -1
  537. package/src/shared/systemControls.ts +10 -2
  538. package/types/ControlGroup/index.d.ts.map +1 -1
  539. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  540. package/types/InputParts/index.d.ts +4 -4
  541. package/types/InputParts/index.d.ts.map +1 -1
  542. package/types/Wheel/index.d.ts.map +1 -1
  543. package/types/fields/DatePicker/parts.d.ts +4 -3
  544. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  545. package/types/fields/FileUpload/index.d.ts +6 -1
  546. package/types/fields/FileUpload/index.d.ts.map +1 -1
  547. package/types/fields/ImageField/index.d.ts +7 -2
  548. package/types/fields/ImageField/index.d.ts.map +1 -1
  549. package/types/fields/Progress/index.d.ts.map +1 -1
  550. package/types/fields/Slider/index.d.ts.map +1 -1
  551. package/types/fields/Switch/index.d.ts.map +1 -1
  552. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  553. package/types/fields/pickerHandle.d.ts +12 -0
  554. package/types/fields/pickerHandle.d.ts.map +1 -0
  555. package/types/hooks/useHoldCue.d.ts +10 -0
  556. package/types/hooks/useHoldCue.d.ts.map +1 -0
  557. package/types/index.d.ts +2 -0
  558. package/types/index.d.ts.map +1 -1
  559. package/types/index.gnome.d.ts +1 -0
  560. package/types/index.gnome.d.ts.map +1 -1
  561. package/types/shared/OverlayWindow.d.ts +2 -2
  562. package/types/shared/OverlayWindow.d.ts.map +1 -1
  563. package/types/shared/colorRamps.d.ts +8 -6
  564. package/types/shared/colorRamps.d.ts.map +1 -1
  565. package/types/shared/controlTrack.d.ts +3 -0
  566. package/types/shared/controlTrack.d.ts.map +1 -0
  567. package/types/shared/nativeOverlayWindow.d.ts +1 -1
  568. package/types/shared/nativeOverlayWindow.d.ts.map +1 -1
  569. package/types/shared/systemControls.d.ts +2 -1
  570. package/types/shared/systemControls.d.ts.map +1 -1
@@ -34,6 +34,7 @@ import {
34
34
  import { Skeleton } from "../../Skeleton";
35
35
  import { Field, FieldLayout, useFieldA11y, useFieldDescribedBy } from "../../fieldLayout";
36
36
  import { formCommonColors, formControlColors, formSelectedColors } from "../../shared/colorRamps";
37
+ import { useControlTrackFill } from "../../shared/controlTrack";
37
38
  import { loadSystemSlider } from "../../shared/systemControlModules";
38
39
  import {
39
40
  type SystemPlatform,
@@ -74,12 +75,16 @@ function radiusStopFromToken(token: number | string): BorderRadius {
74
75
  }
75
76
 
76
77
  // Track styling helper - returns props to pass to TamaguiSlider.Track
77
- const getTrackProps = (outlined: boolean | undefined, borderRadius: number) => ({
78
+ const getTrackProps = (
79
+ outlined: boolean | undefined,
80
+ borderRadius: number,
81
+ trackFill: string = formControlColors.background,
82
+ ) => ({
78
83
  unstyled: false,
79
84
  height: TRACK_HEIGHT,
80
85
  width: "100%",
81
86
  alignSelf: "center" as const,
82
- backgroundColor: outlined ? "transparent" : formControlColors.background,
87
+ backgroundColor: outlined ? "transparent" : trackFill,
83
88
  borderWidth: outlined ? 1 : 0,
84
89
  borderColor: outlined ? formControlColors.border : undefined,
85
90
  borderRadius,
@@ -270,9 +275,26 @@ function SystemSliderControl({
270
275
  onBlur?: (...args: any[]) => void;
271
276
  }) {
272
277
  const literal = useThemeLiteral();
278
+ const trackFill = useControlTrackFill();
273
279
  const [displayValue, setDisplayValue] = useState(value);
274
280
  useEffect(() => setDisplayValue(value), [value]);
275
281
  const fill = literal(hasError ? formCommonColors.error : formSelectedColors.mark);
282
+ // A Fabric view is an accessibility element only when `accessible` says so:
283
+ // without it UIKit drops the UISlider from the tree (FZ-8905). It takes the
284
+ // MPO thumb's VoiceOver contract: adjustable, named by its field, valued,
285
+ // and one step per swipe.
286
+ const fieldA11y = useFieldA11y();
287
+ const move = (next: number) => {
288
+ setDisplayValue(next);
289
+ if (disabled || readOnly) return;
290
+ onChangeValue(next);
291
+ };
292
+ const adjust = (direction: 1 | -1) => {
293
+ if (disabled || readOnly) return;
294
+ const next = snapSliderValue(displayValue + direction * step, min, max, step);
295
+ if (next !== displayValue) move(next);
296
+ };
297
+ const readout = formatSliderOutput([displayValue], step);
276
298
  return (
277
299
  <XStack height={height} alignItems="center" width="100%" gap="$3">
278
300
  <View
@@ -291,15 +313,20 @@ function SystemSliderControl({
291
313
  step={step}
292
314
  disabled={disabled}
293
315
  minimumTrackTintColor={fill}
294
- maximumTrackTintColor={literal(formControlColors.background)}
316
+ maximumTrackTintColor={literal(trackFill)}
295
317
  {...(platform === "android" && { thumbTintColor: fill })}
296
- accessibilityLabel={accessibilityLabel}
297
- accessibilityHint={accessibilityHint}
298
- onValueChange={(next) => {
299
- setDisplayValue(next);
300
- if (disabled || readOnly) return;
301
- onChangeValue(next);
318
+ accessible
319
+ accessibilityRole="adjustable"
320
+ accessibilityLabel={accessibilityLabel ?? fieldA11y?.label ?? t("Slider")}
321
+ accessibilityHint={accessibilityHint ?? fieldA11y?.description}
322
+ accessibilityValue={{ min, max, now: displayValue, text: readout }}
323
+ accessibilityState={{ disabled: Boolean(disabled) }}
324
+ accessibilityActions={A11Y_ADJUSTABLE_ACTIONS}
325
+ onAccessibilityAction={(event: { nativeEvent: { actionName: string } }) => {
326
+ if (event.nativeEvent.actionName === "increment") adjust(1);
327
+ else if (event.nativeEvent.actionName === "decrement") adjust(-1);
302
328
  }}
329
+ onValueChange={move}
303
330
  onSlidingComplete={() => onBlur?.()}
304
331
  />
305
332
  </View>
@@ -310,7 +337,7 @@ function SystemSliderControl({
310
337
  textAlign="right"
311
338
  aria-hidden
312
339
  >
313
- {formatSliderOutput([displayValue], step)}
340
+ {readout}
314
341
  </Paragraph>
315
342
  </XStack>
316
343
  );
@@ -383,6 +410,7 @@ function SliderControl({
383
410
  // with their thumbs (RULINGS-2026-08-28 §R2).
384
411
  const radiusStop = radiusStopFromToken(borderRadius);
385
412
  const railRadius = resolveRadiusClass("BINARY", radiusStop, { heightPx: TRACK_HEIGHT });
413
+ const trackFill = useControlTrackFill();
386
414
 
387
415
  // Native jump tween rides transform (FLIP) — the RN driver cannot animate
388
416
  // the thumb's `left` percent (see ./jumpMotion.ts). Web keeps the css
@@ -634,12 +662,12 @@ function SliderControl({
634
662
  height={TRACK_HEIGHT}
635
663
  borderRadius={railRadius}
636
664
  >
637
- <TamaguiSlider.Track {...getTrackProps(outlined, railRadius)}>
665
+ <TamaguiSlider.Track {...getTrackProps(outlined, railRadius, trackFill)}>
638
666
  {trackActive}
639
667
  </TamaguiSlider.Track>
640
668
  </View>
641
669
  ) : (
642
- <TamaguiSlider.Track {...getTrackProps(outlined, railRadius)}>
670
+ <TamaguiSlider.Track {...getTrackProps(outlined, railRadius, trackFill)}>
643
671
  {trackActive}
644
672
  </TamaguiSlider.Track>
645
673
  )}
@@ -188,3 +188,45 @@ export const InTable: Story = {
188
188
  );
189
189
  },
190
190
  };
191
+
192
+ /** LC-114: a buttonless Stepper with `hug` is the number field. It is as wide as its value plus the currency glyph or unit, and a long signed value with decimals still fits (FZ-7598). */
193
+ export const HuggingCurrency: Story = {
194
+ render: () => (
195
+ <YStack gap="$4" width="100%">
196
+ <Stepper
197
+ label="Daily loss cap"
198
+ aria-label="Daily loss cap"
199
+ currency="USD"
200
+ hug
201
+ showButtons={false}
202
+ min={0}
203
+ max={50000}
204
+ precision={2}
205
+ defaultValue={2500}
206
+ />
207
+ <Stepper
208
+ label="Position limit"
209
+ aria-label="Position limit"
210
+ unit="%"
211
+ hug
212
+ showButtons={false}
213
+ min={0}
214
+ max={100}
215
+ precision={1}
216
+ defaultValue={12.5}
217
+ />
218
+ <Stepper
219
+ label="Adjustment"
220
+ aria-label="Adjustment"
221
+ currency="USD"
222
+ hug
223
+ showButtons={false}
224
+ min={-9999999}
225
+ max={9999999}
226
+ precision={2}
227
+ defaultValue={-1234567.89}
228
+ />
229
+ <Stepper label="Contracts" aria-label="Contracts" hug min={1} max={500} defaultValue={12} />
230
+ </YStack>
231
+ ),
232
+ };
@@ -499,16 +499,20 @@ describe("Switch thumb and pointer paint", () => {
499
499
  expect(paint(track, "_bg-")).toBe("var(--switchTrackOff)");
500
500
  });
501
501
 
502
- it.each([false, true])("grown=%s changes only the outlined ring on hover", (grown) => {
503
- const { frame, track } = mount({ grown, outlined: true });
504
- expect(track.className).toContain("_bg-transparent");
505
- expect(paint(track, "_btc-")).toBe("var(--switchTrackOff)");
506
- fireEvent.mouseEnter(frame);
507
- expect(track.className).toContain("_bg-transparent");
508
- expect(paint(track, "_btc-")).toBe("var(--switchTrackOffHover)");
509
- fireEvent.mouseLeave(frame);
510
- expect(paint(track, "_btc-")).toBe("var(--switchTrackOff)");
511
- });
502
+ it.each([false, true])(
503
+ "grown=%s keeps the outlined ring on its 3:1 edge and washes the track on hover (LC-299)",
504
+ (grown) => {
505
+ const { frame, track } = mount({ grown, outlined: true });
506
+ expect(track.className).toContain("_bg-transparent");
507
+ expect(paint(track, "_btc-")).toBe("var(--switchTrackOffBorder)");
508
+ fireEvent.mouseEnter(frame);
509
+ expect(paint(track, "_bg-")).toBe("var(--switchTrackOffHover)");
510
+ expect(paint(track, "_btc-")).toBe("var(--switchTrackOffBorder)");
511
+ fireEvent.mouseLeave(frame);
512
+ expect(track.className).toContain("_bg-transparent");
513
+ expect(paint(track, "_btc-")).toBe("var(--switchTrackOffBorder)");
514
+ },
515
+ );
512
516
 
513
517
  it("composes the caller's mouse handlers once", () => {
514
518
  const onMouseEnter = vi.fn();
@@ -198,7 +198,7 @@ const SwitchFrameStyled = styled(View, {
198
198
  borderRadius: 1000,
199
199
  backgroundColor: formSwitchColors.track.off,
200
200
  borderWidth: 0,
201
- borderColor: formSwitchColors.track.off,
201
+ borderColor: formSwitchColors.track.offBorder,
202
202
  outlineWidth: 0,
203
203
  focusStyle: { outlineWidth: 0 },
204
204
  // LC-71: ring is painted from keyboard modality on the track, never
@@ -214,7 +214,7 @@ const SwitchFrameStyled = styled(View, {
214
214
  },
215
215
  false: {
216
216
  backgroundColor: formSwitchColors.track.off,
217
- borderColor: formSwitchColors.track.off,
217
+ borderColor: formSwitchColors.track.offBorder,
218
218
  },
219
219
  },
220
220
 
@@ -406,6 +406,8 @@ function SwitchControl({
406
406
  : hovered
407
407
  ? formSwitchColors.track.offHover
408
408
  : formSwitchColors.track.off;
409
+ const offFill = outlined && !hovered && !pressed ? "transparent" : offPaint;
410
+ const offRing = outlined ? undefined : knobProps.trackRing;
409
411
  const { thumbInset, thumbSize, travel: dragDistance } = footprint;
410
412
  const motion = resolveSwitchMotion(transition);
411
413
  const [dragX, setDragX] = useState<number | null>(null);
@@ -562,8 +564,9 @@ function SwitchControl({
562
564
  borderColor: formSwitchColors.track.on,
563
565
  }
564
566
  : {
565
- backgroundColor: outlined ? "transparent" : offPaint,
566
- borderColor: offPaint,
567
+ backgroundColor: offFill,
568
+ borderColor: formSwitchColors.track.offBorder,
569
+ ...offRing,
567
570
  })}
568
571
  {...(kbFocus ? { "data-kb-focus": "true" } : undefined)}
569
572
  {...(frameClassName ? { className: frameClassName } : undefined)}
@@ -653,10 +656,11 @@ function SwitchControl({
653
656
  borderRadius={cellTrack.borderRadius}
654
657
  {...radiusResolution}
655
658
  borderWidth={cellTrack.borderWidth}
656
- borderColor={displayChecked ? formSwitchColors.track.on : offPaint}
657
- backgroundColor={
658
- displayChecked ? formSwitchColors.track.on : outlined ? "transparent" : offPaint
659
+ borderColor={
660
+ displayChecked ? formSwitchColors.track.on : formSwitchColors.track.offBorder
659
661
  }
662
+ backgroundColor={displayChecked ? formSwitchColors.track.on : offFill}
663
+ {...(displayChecked ? undefined : offRing)}
660
664
  {...transitionProps({ ...knobProps.motion.control, transition: motion }, ["borderWidth"])}
661
665
  pointerEvents="none"
662
666
  className={kbFocus ? SWITCH_KB_RING_CLASS : undefined}
@@ -160,11 +160,6 @@ export function TimePickerInputTrigger({
160
160
  onPress={isWeb && interactive ? onOpen : undefined}
161
161
  {...(disabled ? { opacity: 0.5, pointerEvents: "none" as const } : undefined)}
162
162
  >
163
- <InputParts.Section data-testid="time-picker-glyph">
164
- <InputParts.Icon adornment="leading" color={formCommonColors.muted}>
165
- {clockIcon ?? <ClockIcon />}
166
- </InputParts.Icon>
167
- </InputParts.Section>
168
163
  <InputParts.Section>
169
164
  <InputParts.Area
170
165
  readOnly
@@ -174,7 +169,6 @@ export function TimePickerInputTrigger({
174
169
  placeholder={placeholder}
175
170
  disabled={disabled}
176
171
  color={formCommonColors.text}
177
- placeholderTextColor={formCommonColors.muted}
178
172
  aria-label={ariaLabel}
179
173
  aria-required={ariaRequired}
180
174
  aria-invalid={ariaInvalid}
@@ -196,11 +190,17 @@ export function TimePickerInputTrigger({
196
190
  }
197
191
  />
198
192
  </InputParts.Section>
199
- {value && isWeb && !readOnly ? (
193
+ {value && isWeb && !readOnly && !disabled ? (
200
194
  <InputParts.Section>
201
195
  <TimePickerClearButton onClear={onClear} disabled={disabled} />
202
196
  </InputParts.Section>
203
- ) : null}
197
+ ) : (
198
+ <InputParts.Section data-testid="time-picker-glyph">
199
+ <InputParts.Icon adornment="trailing" color={formCommonColors.muted}>
200
+ {clockIcon ?? <ClockIcon />}
201
+ </InputParts.Icon>
202
+ </InputParts.Section>
203
+ )}
204
204
  </InputParts.Box>
205
205
  </View>
206
206
  );
@@ -25,7 +25,12 @@ import {
25
25
  } from "tamagui";
26
26
  import { Skeleton } from "../../Skeleton";
27
27
  import { Field, FieldLayout } from "../../fieldLayout";
28
- import { formButtonColors, formCommonColors, formInputColors } from "../../shared/colorRamps";
28
+ import {
29
+ formButtonColors,
30
+ formCommonColors,
31
+ formControlColors,
32
+ formInputColors,
33
+ } from "../../shared/colorRamps";
29
34
  import { warnBareDisabled } from "../../shared/devWarn";
30
35
  import { choiceItemA11y, composeA11yName } from "../../shared/nativeA11y";
31
36
  import { loadSystemSegmentedControl } from "../../shared/systemControlModules";
@@ -693,6 +698,7 @@ export function ToggleGroup({
693
698
  {...toggleProps}
694
699
  {...knobProps.borderRadius}
695
700
  {...knobProps.inputSurface}
701
+ borderColor={formControlColors.edge}
696
702
  overflow="hidden"
697
703
  backgroundColor={knobProps.outlined ? "transparent" : formInputColors.background.base}
698
704
  {...(isWeb
@@ -0,0 +1,89 @@
1
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
2
+ import { act, cleanup, fireEvent } from "@testing-library/react";
3
+ import { createRef } from "react";
4
+ import { afterEach, describe, expect, it, vi } from "vitest";
5
+ import { Button } from "../Button";
6
+ import { FileUpload } from "./FileUpload";
7
+ import { ImageField } from "./ImageField";
8
+ import type { FieldPickerHandle } from "./pickerHandle";
9
+
10
+ afterEach(() => {
11
+ cleanup();
12
+ vi.restoreAllMocks();
13
+ });
14
+
15
+ function fileInput(container: HTMLElement) {
16
+ return container.querySelector("input[type='file']") as HTMLInputElement;
17
+ }
18
+
19
+ function pick(input: HTMLInputElement, file: File) {
20
+ fireEvent.change(input, { target: { files: [file] } });
21
+ }
22
+
23
+ describe("LC-290 FIELD-TRIGGER-SLOT", () => {
24
+ it("FileUpload opens its picker from an imperative open()", () => {
25
+ const click = vi.spyOn(HTMLInputElement.prototype, "click").mockImplementation(() => {});
26
+ const handle = createRef<FieldPickerHandle>();
27
+ renderWithProviders(<FileUpload ref={handle} />);
28
+ act(() => handle.current?.open());
29
+ expect(click).toHaveBeenCalledTimes(1);
30
+ });
31
+
32
+ it("FileUpload draws a consumer trigger instead of its dropzone, and a pick from it reaches onChange", () => {
33
+ const click = vi.spyOn(HTMLInputElement.prototype, "click").mockImplementation(() => {});
34
+ const onChange = vi.fn();
35
+ const { container, getByRole } = renderWithProviders(
36
+ <FileUpload
37
+ onChange={onChange}
38
+ trigger={(open) => (
39
+ <Button onPress={open} aria-label="Choose from library">
40
+ Library
41
+ </Button>
42
+ )}
43
+ />,
44
+ );
45
+ expect(container.querySelector("[data-file-upload='trigger']")).toBeTruthy();
46
+ expect(container.textContent).not.toContain("Choose File");
47
+ fireEvent.click(getByRole("button", { name: "Choose from library" }));
48
+ expect(click).toHaveBeenCalledTimes(1);
49
+ pick(fileInput(container), new File(["x"], "receipt.pdf", { type: "application/pdf" }));
50
+ expect(onChange).toHaveBeenCalledTimes(1);
51
+ });
52
+
53
+ it("FileUpload's open() does nothing while disabled", () => {
54
+ const click = vi.spyOn(HTMLInputElement.prototype, "click").mockImplementation(() => {});
55
+ const handle = createRef<FieldPickerHandle>();
56
+ renderWithProviders(<FileUpload ref={handle} disabled />);
57
+ act(() => handle.current?.open());
58
+ expect(click).not.toHaveBeenCalled();
59
+ });
60
+
61
+ it("ImageField opens its picker from an imperative open()", () => {
62
+ const click = vi.spyOn(HTMLInputElement.prototype, "click").mockImplementation(() => {});
63
+ const handle = createRef<FieldPickerHandle>();
64
+ renderWithProviders(<ImageField ref={handle} label="Avatar" />);
65
+ act(() => handle.current?.open());
66
+ expect(click).toHaveBeenCalledTimes(1);
67
+ });
68
+
69
+ it("ImageField draws a consumer trigger instead of its frame, and a pick from it reaches onChange", () => {
70
+ const click = vi.spyOn(HTMLInputElement.prototype, "click").mockImplementation(() => {});
71
+ const onChange = vi.fn();
72
+ const { container, getByRole } = renderWithProviders(
73
+ <ImageField
74
+ label="Receipt"
75
+ onChange={onChange}
76
+ trigger={(open) => (
77
+ <Button onPress={open} aria-label="Photo library">
78
+ Library
79
+ </Button>
80
+ )}
81
+ />,
82
+ );
83
+ expect(container.querySelector("[data-media-tile]")).toBeNull();
84
+ fireEvent.click(getByRole("button", { name: "Photo library" }));
85
+ expect(click).toHaveBeenCalledTimes(1);
86
+ pick(fileInput(container), new File(["x"], "receipt.png", { type: "image/png" }));
87
+ expect(onChange).toHaveBeenCalledTimes(1);
88
+ });
89
+ });
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from "react";
2
+
3
+ /**
4
+ * LC-290 FIELD-TRIGGER-SLOT: a picking field (FileUpload, ImageField) opens
5
+ * from the app's own control. `ref` takes this handle; `open()` runs the same
6
+ * press the field's own surface runs, through the same validation.
7
+ */
8
+ export interface FieldPickerHandle {
9
+ open: () => void;
10
+ }
11
+
12
+ /** Draws the app's own control in place of the field's surface; call `open` from its press. */
13
+ export type FieldPickerTrigger = (open: () => void) => ReactNode;
@@ -0,0 +1,26 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+
3
+ /** LC-197 HOLD-CUE: how far into a hold the press cue starts. */
4
+ export const holdCueStartMs = 150;
5
+
6
+ /** LC-197: how far a held control shrinks while its long press builds. */
7
+ export const holdCueScale = 0.97;
8
+
9
+ export function useHoldCue(cueStartMs: number = holdCueStartMs) {
10
+ const [holding, setHolding] = useState(false);
11
+ const timer = useRef<ReturnType<typeof setTimeout> | null>(null);
12
+ const clear = () => {
13
+ if (timer.current) clearTimeout(timer.current);
14
+ timer.current = null;
15
+ };
16
+ const stop = useCallback(() => {
17
+ clear();
18
+ setHolding(false);
19
+ }, []);
20
+ const start = useCallback(() => {
21
+ clear();
22
+ timer.current = setTimeout(() => setHolding(true), cueStartMs);
23
+ }, [cueStartMs]);
24
+ useEffect(() => clear, []);
25
+ return { holding, start, stop };
26
+ }
@@ -101,6 +101,7 @@ export {
101
101
  } from "./shared/utils";
102
102
  export { TableCellContext, useIsInTableCell, useTableCellContext } from "./shared/tableCellContext";
103
103
  export { useControlGrouped } from "./shared/groupContext";
104
+ export { holdCueScale, holdCueStartMs, useHoldCue } from "./hooks/useHoldCue";
104
105
  export { formFieldGap, formReadableMaxWidth, formSectionGap } from "./formSpacing";
105
106
  export type {
106
107
  AnyFormApi,
package/src/index.ts CHANGED
@@ -264,6 +264,7 @@ export type { PhotonGeocoderOptions } from "./fields/Geolocation/photonGeocoder"
264
264
 
265
265
  export { ImageField } from "./fields/ImageField";
266
266
  export type { ImageFieldProps } from "./fields/ImageField";
267
+ export type { FieldPickerHandle, FieldPickerTrigger } from "./fields/pickerHandle";
267
268
 
268
269
  export {
269
270
  Icon,
@@ -386,6 +387,7 @@ export {
386
387
  focusFieldTarget,
387
388
  } from "./hooks/useFocusManagement";
388
389
  export type { FocusManagementOptions, FocusManagementReturn } from "./hooks/useFocusManagement";
390
+ export { holdCueScale, holdCueStartMs, useHoldCue } from "./hooks/useHoldCue";
389
391
 
390
392
  // ── Shared Utilities ──────────────────────────────────────────
391
393
  export {
@@ -10,6 +10,7 @@
10
10
  import * as themePackage from "@multiplatform.one/theme";
11
11
  import {
12
12
  controlTierPaint,
13
+ controlTrackFill,
13
14
  createDefaultThemeConfig,
14
15
  holdInkFloor,
15
16
  measureContrast,
@@ -21,7 +22,7 @@ import { readFileSync } from "node:fs";
21
22
  import { dirname, join } from "node:path";
22
23
  import { fileURLToPath } from "node:url";
23
24
  import { describe, expect, it } from "vitest";
24
- import { formControlColors, formSelectedColors, formSwitchColors } from "./shared/colorRamps";
25
+ import { formSelectedColors, formSwitchColors } from "./shared/colorRamps";
25
26
 
26
27
  /** The card's floor: the console's "a plain Button on an overlay's ground" asks the same. */
27
28
  const plateFloor = 1.1;
@@ -141,7 +142,8 @@ describe("FZ-7944: a control on an overlay has a plate distinct from the overlay
141
142
 
142
143
  it("Slider and Progress tracks read on the ground", () => {
143
144
  for (const component of ["Slider", "Progress"]) {
144
- const track = resolve(c.scope, formControlColors.background, component);
145
+ // On an overlay the track takes the elevated fill (FZ-8400).
146
+ const track = resolve(c.scope, controlTrackFill(true, true), component);
145
147
  expect(
146
148
  ratio(track, ground),
147
149
  `${component} track ${track} on ${ground}`,
@@ -170,7 +172,7 @@ describe("FZ-7944: a control on an overlay has a plate distinct from the overlay
170
172
  const knobs = themePackage.defaultPreset.knobs;
171
173
  const ground = (scheme: "light" | "dark") =>
172
174
  resolveKnobs(knobs, undefined, scheme).knobProps.elevatedSurface.backgroundColor;
173
- expect(ground("dark")).toBe("$color4");
175
+ expect(ground("dark")).toBe("$color5");
174
176
  expect(ground("light")).toBe("$background");
175
177
  expect(controlTierPaint("tinted", false, true)).toEqual(controlTierPaint("tinted", false));
176
178
  });
@@ -3,8 +3,8 @@ import { OverlayStackProvider } from "./overlayStack";
3
3
 
4
4
  export interface OverlayWindowProps {
5
5
  /** The z the window's own overlay binds; nested overlays stack above it. */
6
- zIndex: number;
7
- children?: ReactNode;
6
+ readonly zIndex: number;
7
+ readonly children?: ReactNode;
8
8
  }
9
9
 
10
10
  /**
@@ -30,9 +30,9 @@ export const formInputColors = {
30
30
  focus: "$color4",
31
31
  },
32
32
  border: {
33
- base: "$borderColor",
34
- hover: "$borderColorHover",
35
- focus: "$borderColorFocus",
33
+ base: "$borderColorField",
34
+ hover: "$borderColorFieldHover",
35
+ focus: "$borderColorField",
36
36
  },
37
37
  } as const;
38
38
 
@@ -41,6 +41,7 @@ export const formControlColors = {
41
41
  border: "$borderColor",
42
42
  /** DF-06 / WCAG 1.4.11: the build holds ≥3:1 on page, surface1 and control well. */
43
43
  boundary: "$boundaryColor",
44
+ edge: "$borderColorControl",
44
45
  thumb: {
45
46
  base: "$color10",
46
47
  hover: "$color9",
@@ -49,10 +50,11 @@ export const formControlColors = {
49
50
  } as const;
50
51
 
51
52
  // LC-05: the neutral selection tier, shared with componentColors.selection.
53
+ // Theme keys, so a row on a dark card steps off the card's fill (FZ-8400).
52
54
  export const formSelectionColors = {
53
- background: "$color4",
54
- hover: "$color5",
55
- press: "$color5",
55
+ background: "$selectFill",
56
+ hover: "$selectPress",
57
+ press: "$selectPress",
56
58
  ink: "$color12",
57
59
  ring: "$color8",
58
60
  } as const;
@@ -81,6 +83,7 @@ export const formSwitchColors = {
81
83
  off: "$switchTrackOff",
82
84
  offHover: "$switchTrackOffHover",
83
85
  offPress: "$switchTrackOffPress",
86
+ offBorder: "$switchTrackOffBorder",
84
87
  },
85
88
  thumb: "$switchThumb",
86
89
  } as const;
@@ -0,0 +1,7 @@
1
+ import { controlTrackFill, isDarkThemeName, useElevatedSurface } from "@multiplatform.one/theme";
2
+ import { useThemeName } from "tamagui";
3
+
4
+ /** The track fill for this control's ground: a step above an elevated dark overlay. */
5
+ export function useControlTrackFill(): string {
6
+ return controlTrackFill(isDarkThemeName(useThemeName()), useElevatedSurface());
7
+ }
@@ -16,7 +16,7 @@ export type { OverlayWindowProps } from "./OverlayWindow";
16
16
  * content, and those overlays open inside it. A PortalItem in here aimed at
17
17
  * any other app-level host finds no host, since this provider owns none.
18
18
  */
19
- export function OverlayWindow({ zIndex, children }: OverlayWindowProps) {
19
+ export function OverlayWindow({ zIndex, children }: Readonly<OverlayWindowProps>) {
20
20
  return (
21
21
  <PortalProvider shouldAddRootHost={false}>
22
22
  <OverlayStackProvider zIndex={zIndex}>{children}</OverlayStackProvider>
@@ -1,5 +1,5 @@
1
1
  import type { ComponentType } from "react";
2
- import { Platform } from "react-native";
2
+ import { Platform, type AccessibilityProps } from "react-native";
3
3
  import { isDarkThemeName } from "@multiplatform.one/theme";
4
4
  import { useTheme, useThemeName } from "tamagui";
5
5
 
@@ -30,7 +30,15 @@ export function useSystemControlScheme(): "light" | "dark" {
30
30
  return isDarkThemeName(useThemeName()) ? "dark" : "light";
31
31
  }
32
32
 
33
- export interface SystemSliderProps {
33
+ export interface SystemSliderProps extends Pick<
34
+ AccessibilityProps,
35
+ | "accessible"
36
+ | "accessibilityRole"
37
+ | "accessibilityState"
38
+ | "accessibilityValue"
39
+ | "accessibilityActions"
40
+ | "onAccessibilityAction"
41
+ > {
34
42
  id?: string;
35
43
  value?: number;
36
44
  minimumValue?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ControlGroup/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAe,IAAI,EAAiB,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmBxC,QAAA,MAAM,iBAAiB;;;6CAsBrB,CAAC;AAgCH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,GAAG;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,iBAAS,qBAAqB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAgC5E;AAED,eAAO,MAAM,iBAAiB;;CAE5B,CAAC;AAMH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,iBAAiB,CAAC;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAED,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CA6K9F;AAED,eAAO,MAAM,YAAY;;;;CAEvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ControlGroup/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAe,IAAI,EAAiB,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmBxC,QAAA,MAAM,iBAAiB;;;6CAsBrB,CAAC;AAgCH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,GAAG;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,iBAAS,qBAAqB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAgC5E;AAED,eAAO,MAAM,iBAAiB;;CAE5B,CAAC;AAMH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,CAAC,OAAO,iBAAiB,CAAC;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAED,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAA0B,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CA8K9F;AAED,eAAO,MAAM,YAAY;;;;CAEvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAwDH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAyBlD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,uFAAuF;AACvF,wBAAgB,eAAe,YAE9B;AAiBD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAyB,EACzB,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,QAAQ,EACR,cAA0B,EAC1B,MAAM,EACN,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAkB,EAClB,UAAoB,EACpB,SAAiB,EACjB,KAAK,EACL,UAAU,EACV,UAAsB,EACtB,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,2CAgoBpB;AAuaD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAEvE;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,IAAI,CAAG"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAyDH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAyBlD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,uFAAuF;AACvF,wBAAgB,eAAe,YAE9B;AAiBD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAyB,EACzB,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,QAAQ,EACR,cAA0B,EAC1B,MAAM,EACN,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAkB,EAClB,UAAoB,EACpB,SAAiB,EACjB,KAAK,EACL,UAAU,EACV,UAAsB,EACtB,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,2CAuoBpB;AAuaD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAEvE;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,IAAI,CAAG"}
@@ -24,7 +24,7 @@ export declare const inputPartsRingCss: string;
24
24
  export declare function ensureInputPartsFocusRing(): void;
25
25
  export declare const defaultInputGroupStyles: {
26
26
  readonly hoverStyle: {
27
- readonly borderColor: "$borderColorHover";
27
+ readonly borderColor: "$borderColorFieldHover";
28
28
  };
29
29
  readonly focusStyle: {
30
30
  borderColor: string;
@@ -41,7 +41,7 @@ export declare const defaultInputGroupStyles: {
41
41
  readonly outlineWidth: number;
42
42
  readonly outlineStyle: "solid";
43
43
  readonly outlineColor: string;
44
- readonly borderColor: "$borderColor";
44
+ readonly borderColor: "$borderColorField";
45
45
  readonly backgroundColor: "$background";
46
46
  readonly minWidth: 0;
47
47
  readonly tabIndex: number;
@@ -51,7 +51,7 @@ export declare const defaultInputGroupStyles: {
51
51
  readonly color: "$color";
52
52
  } | {
53
53
  readonly hoverStyle: {
54
- readonly borderColor: "$borderColorHover";
54
+ readonly borderColor: "$borderColorFieldHover";
55
55
  };
56
56
  readonly focusStyle: {
57
57
  borderColor: string;
@@ -68,7 +68,7 @@ export declare const defaultInputGroupStyles: {
68
68
  readonly outlineWidth: number;
69
69
  readonly outlineStyle: "solid";
70
70
  readonly outlineColor: string;
71
- readonly borderColor: "$borderColor";
71
+ readonly borderColor: "$borderColorField";
72
72
  readonly backgroundColor: "$background";
73
73
  readonly minWidth: 0;
74
74
  readonly focusable: boolean;