@multiplatform.one/forms 7.46.0 → 7.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/dist/cjs/Button/index.cjs +14 -3
  2. package/dist/cjs/Button/index.native.js +18 -7
  3. package/dist/cjs/Button/index.native.js.map +1 -1
  4. package/dist/cjs/ErrorSummary.cjs +1 -1
  5. package/dist/cjs/ErrorSummary.native.js +1 -1
  6. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  7. package/dist/cjs/FloatingPanel/PanelPortal.cjs +1 -1
  8. package/dist/cjs/FloatingPanel/index.cjs +13 -4
  9. package/dist/cjs/FloatingPanel/index.native.js +9 -2
  10. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  11. package/dist/cjs/FloatingPanel/trailingAction.cjs +59 -0
  12. package/dist/cjs/FloatingPanel/trailingAction.native.js +64 -0
  13. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -0
  14. package/dist/cjs/FormGrid.cjs +1 -0
  15. package/dist/cjs/FormGrid.native.js +1 -0
  16. package/dist/cjs/FormGrid.native.js.map +1 -1
  17. package/dist/cjs/InputParts/PasswordReveal.cjs +96 -0
  18. package/dist/cjs/InputParts/PasswordReveal.native.js +104 -0
  19. package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -0
  20. package/dist/cjs/InputParts/index.cjs +95 -5
  21. package/dist/cjs/InputParts/index.native.js +99 -5
  22. package/dist/cjs/InputParts/index.native.js.map +1 -1
  23. package/dist/cjs/fields/ColorPicker/index.cjs +8 -17
  24. package/dist/cjs/fields/ColorPicker/index.native.js +9 -18
  25. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  26. package/dist/cjs/fields/Combobox/index.cjs +28 -44
  27. package/dist/cjs/fields/Combobox/index.native.js +30 -45
  28. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  29. package/dist/cjs/fields/DatePicker/Calendar.cjs +3 -4
  30. package/dist/cjs/fields/DatePicker/Calendar.native.js +3 -4
  31. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  32. package/dist/cjs/fields/DatePicker/parts.cjs +5 -9
  33. package/dist/cjs/fields/DatePicker/parts.native.js +5 -9
  34. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  35. package/dist/cjs/fields/Duration/durationMath.cjs +1 -1
  36. package/dist/cjs/fields/Duration/durationMath.native.js +1 -1
  37. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  38. package/dist/cjs/fields/Duration/index.cjs +100 -90
  39. package/dist/cjs/fields/Duration/index.native.js +108 -98
  40. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  41. package/dist/cjs/fields/FileUpload/index.cjs +134 -24
  42. package/dist/cjs/fields/FileUpload/index.native.js +149 -34
  43. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  44. package/dist/cjs/fields/Geolocation/GeolocationMap.cjs +2 -1
  45. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js +3 -2
  46. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  47. package/dist/cjs/fields/Geolocation/index.cjs +10 -8
  48. package/dist/cjs/fields/Geolocation/index.native.js +10 -8
  49. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  50. package/dist/cjs/fields/Icon/index.cjs +6 -13
  51. package/dist/cjs/fields/Icon/index.native.js +6 -13
  52. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  53. package/dist/cjs/fields/ImageField/index.cjs +5 -5
  54. package/dist/cjs/fields/ImageField/index.native.js +5 -5
  55. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  56. package/dist/cjs/fields/Input/index.cjs +27 -21
  57. package/dist/cjs/fields/Input/index.native.js +28 -21
  58. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  59. package/dist/cjs/fields/MentionInput/index.cjs +7 -8
  60. package/dist/cjs/fields/MentionInput/index.native.js +7 -8
  61. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  62. package/dist/cjs/fields/OTPInput/index.cjs +1 -1
  63. package/dist/cjs/fields/OTPInput/index.native.js +1 -1
  64. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  65. package/dist/cjs/fields/PhoneInput/index.cjs +3 -3
  66. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  67. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  68. package/dist/cjs/fields/RadioGroup/index.cjs +1 -0
  69. package/dist/cjs/fields/RadioGroup/index.native.js +1 -0
  70. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  71. package/dist/cjs/fields/SearchInput/index.cjs +4 -48
  72. package/dist/cjs/fields/SearchInput/index.native.js +4 -46
  73. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  74. package/dist/cjs/fields/Select/index.cjs +14 -12
  75. package/dist/cjs/fields/Select/index.native.js +14 -12
  76. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  77. package/dist/cjs/fields/Signature/index.cjs +1 -1
  78. package/dist/cjs/fields/Signature/index.native.js +1 -1
  79. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  80. package/dist/cjs/fields/Slider/index.cjs +1 -1
  81. package/dist/cjs/fields/Slider/index.native.js +1 -1
  82. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  83. package/dist/cjs/fields/TimePicker/parts.cjs +5 -9
  84. package/dist/cjs/fields/TimePicker/parts.native.js +5 -9
  85. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  86. package/dist/cjs/fields/TimeRangeScrubber/index.cjs +14 -9
  87. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +14 -9
  88. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  89. package/dist/cjs/fields/ToggleGroup/index.cjs +1 -1
  90. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  91. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  92. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +5 -5
  93. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
  94. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  95. package/dist/cjs/hooks/useFocusManagement.cjs +3 -2
  96. package/dist/cjs/hooks/useFocusManagement.native.js +3 -2
  97. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  98. package/dist/cjs/index.cjs +7 -0
  99. package/dist/cjs/index.native.js +7 -0
  100. package/dist/cjs/index.native.js.map +1 -1
  101. package/dist/cjs/shared/focusManagement.cjs +1 -1
  102. package/dist/cjs/shared/focusManagement.native.js +1 -1
  103. package/dist/cjs/shared/panelPortal.cjs +1 -1
  104. package/dist/cjs/shared/panelPortal.native.js +1 -1
  105. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  106. package/dist/cjs/shared/useDragScroll.cjs +2 -2
  107. package/dist/cjs/shared/useDragScroll.native.js +2 -2
  108. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  109. package/dist/esm/Button/index.mjs +17 -6
  110. package/dist/esm/Button/index.mjs.map +1 -1
  111. package/dist/esm/Button/index.native.js +21 -10
  112. package/dist/esm/Button/index.native.js.map +1 -1
  113. package/dist/esm/ErrorSummary.mjs +2 -2
  114. package/dist/esm/ErrorSummary.mjs.map +1 -1
  115. package/dist/esm/ErrorSummary.native.js +2 -2
  116. package/dist/esm/ErrorSummary.native.js.map +1 -1
  117. package/dist/esm/FloatingPanel/PanelPortal.mjs +1 -1
  118. package/dist/esm/FloatingPanel/PanelPortal.mjs.map +1 -1
  119. package/dist/esm/FloatingPanel/index.mjs +13 -4
  120. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  121. package/dist/esm/FloatingPanel/index.native.js +9 -2
  122. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  123. package/dist/esm/FloatingPanel/trailingAction.mjs +33 -0
  124. package/dist/esm/FloatingPanel/trailingAction.mjs.map +1 -0
  125. package/dist/esm/FloatingPanel/trailingAction.native.js +35 -0
  126. package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -0
  127. package/dist/esm/FormGrid.mjs +1 -0
  128. package/dist/esm/FormGrid.mjs.map +1 -1
  129. package/dist/esm/FormGrid.native.js +1 -0
  130. package/dist/esm/FormGrid.native.js.map +1 -1
  131. package/dist/esm/InputParts/PasswordReveal.mjs +68 -0
  132. package/dist/esm/InputParts/PasswordReveal.mjs.map +1 -0
  133. package/dist/esm/InputParts/PasswordReveal.native.js +73 -0
  134. package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -0
  135. package/dist/esm/InputParts/index.mjs +97 -8
  136. package/dist/esm/InputParts/index.mjs.map +1 -1
  137. package/dist/esm/InputParts/index.native.js +101 -8
  138. package/dist/esm/InputParts/index.native.js.map +1 -1
  139. package/dist/esm/fields/ColorPicker/index.mjs +8 -17
  140. package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
  141. package/dist/esm/fields/ColorPicker/index.native.js +9 -18
  142. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  143. package/dist/esm/fields/Combobox/index.mjs +29 -45
  144. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  145. package/dist/esm/fields/Combobox/index.native.js +31 -46
  146. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  147. package/dist/esm/fields/DatePicker/Calendar.mjs +4 -5
  148. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  149. package/dist/esm/fields/DatePicker/Calendar.native.js +4 -5
  150. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  151. package/dist/esm/fields/DatePicker/parts.mjs +5 -9
  152. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  153. package/dist/esm/fields/DatePicker/parts.native.js +5 -9
  154. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  155. package/dist/esm/fields/Duration/durationMath.mjs +1 -1
  156. package/dist/esm/fields/Duration/durationMath.mjs.map +1 -1
  157. package/dist/esm/fields/Duration/durationMath.native.js +1 -1
  158. package/dist/esm/fields/Duration/index.mjs +100 -90
  159. package/dist/esm/fields/Duration/index.mjs.map +1 -1
  160. package/dist/esm/fields/Duration/index.native.js +108 -98
  161. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  162. package/dist/esm/fields/FileUpload/index.mjs +135 -25
  163. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  164. package/dist/esm/fields/FileUpload/index.native.js +150 -35
  165. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  166. package/dist/esm/fields/Geolocation/GeolocationMap.mjs +2 -1
  167. package/dist/esm/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  168. package/dist/esm/fields/Geolocation/GeolocationMap.native.js +2 -1
  169. package/dist/esm/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  170. package/dist/esm/fields/Geolocation/index.mjs +13 -11
  171. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  172. package/dist/esm/fields/Geolocation/index.native.js +13 -11
  173. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  174. package/dist/esm/fields/Icon/index.mjs +8 -15
  175. package/dist/esm/fields/Icon/index.mjs.map +1 -1
  176. package/dist/esm/fields/Icon/index.native.js +8 -15
  177. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  178. package/dist/esm/fields/ImageField/index.mjs +7 -7
  179. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  180. package/dist/esm/fields/ImageField/index.native.js +7 -7
  181. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  182. package/dist/esm/fields/Input/index.mjs +28 -22
  183. package/dist/esm/fields/Input/index.mjs.map +1 -1
  184. package/dist/esm/fields/Input/index.native.js +29 -22
  185. package/dist/esm/fields/Input/index.native.js.map +1 -1
  186. package/dist/esm/fields/MentionInput/index.mjs +13 -14
  187. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  188. package/dist/esm/fields/MentionInput/index.native.js +13 -14
  189. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  190. package/dist/esm/fields/OTPInput/index.mjs +2 -2
  191. package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
  192. package/dist/esm/fields/OTPInput/index.native.js +2 -2
  193. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  194. package/dist/esm/fields/PhoneInput/index.mjs +5 -5
  195. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  196. package/dist/esm/fields/PhoneInput/index.native.js +5 -5
  197. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  198. package/dist/esm/fields/RadioGroup/index.mjs +1 -0
  199. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
  200. package/dist/esm/fields/RadioGroup/index.native.js +1 -0
  201. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  202. package/dist/esm/fields/SearchInput/index.mjs +5 -49
  203. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  204. package/dist/esm/fields/SearchInput/index.native.js +5 -47
  205. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  206. package/dist/esm/fields/Select/index.mjs +15 -13
  207. package/dist/esm/fields/Select/index.mjs.map +1 -1
  208. package/dist/esm/fields/Select/index.native.js +15 -13
  209. package/dist/esm/fields/Select/index.native.js.map +1 -1
  210. package/dist/esm/fields/Signature/index.mjs +2 -2
  211. package/dist/esm/fields/Signature/index.mjs.map +1 -1
  212. package/dist/esm/fields/Signature/index.native.js +2 -2
  213. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  214. package/dist/esm/fields/Slider/index.mjs +2 -2
  215. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  216. package/dist/esm/fields/Slider/index.native.js +2 -2
  217. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  218. package/dist/esm/fields/TimePicker/parts.mjs +5 -9
  219. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  220. package/dist/esm/fields/TimePicker/parts.native.js +5 -9
  221. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  222. package/dist/esm/fields/TimeRangeScrubber/index.mjs +20 -15
  223. package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -1
  224. package/dist/esm/fields/TimeRangeScrubber/index.native.js +20 -15
  225. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  226. package/dist/esm/fields/ToggleGroup/index.mjs +3 -3
  227. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  228. package/dist/esm/fields/ToggleGroup/index.native.js +3 -3
  229. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  230. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +2 -2
  231. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  232. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +2 -2
  233. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  234. package/dist/esm/hooks/useFocusManagement.mjs +3 -2
  235. package/dist/esm/hooks/useFocusManagement.mjs.map +1 -1
  236. package/dist/esm/hooks/useFocusManagement.native.js +3 -2
  237. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  238. package/dist/esm/index.mjs +3 -1
  239. package/dist/esm/index.mjs.map +1 -1
  240. package/dist/esm/index.native.js +3 -1
  241. package/dist/esm/index.native.js.map +1 -1
  242. package/dist/esm/shared/focusManagement.mjs +1 -1
  243. package/dist/esm/shared/focusManagement.mjs.map +1 -1
  244. package/dist/esm/shared/focusManagement.native.js +1 -1
  245. package/dist/esm/shared/panelPortal.mjs +1 -1
  246. package/dist/esm/shared/panelPortal.mjs.map +1 -1
  247. package/dist/esm/shared/panelPortal.native.js +1 -1
  248. package/dist/esm/shared/panelPortal.native.js.map +1 -1
  249. package/dist/esm/shared/useDragScroll.mjs +2 -2
  250. package/dist/esm/shared/useDragScroll.mjs.map +1 -1
  251. package/dist/esm/shared/useDragScroll.native.js +2 -2
  252. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  253. package/dist/jsx/Button/index.mjs +17 -6
  254. package/dist/jsx/Button/index.mjs.map +1 -1
  255. package/dist/jsx/Button/index.native.js +18 -7
  256. package/dist/jsx/Button/index.native.js.map +1 -1
  257. package/dist/jsx/ErrorSummary.mjs +2 -2
  258. package/dist/jsx/ErrorSummary.mjs.map +1 -1
  259. package/dist/jsx/ErrorSummary.native.js +1 -1
  260. package/dist/jsx/ErrorSummary.native.js.map +1 -1
  261. package/dist/jsx/FloatingPanel/PanelPortal.mjs +1 -1
  262. package/dist/jsx/FloatingPanel/PanelPortal.mjs.map +1 -1
  263. package/dist/jsx/FloatingPanel/index.mjs +13 -4
  264. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  265. package/dist/jsx/FloatingPanel/index.native.js +9 -2
  266. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  267. package/dist/jsx/FloatingPanel/trailingAction.mjs +33 -0
  268. package/dist/jsx/FloatingPanel/trailingAction.mjs.map +1 -0
  269. package/dist/jsx/FloatingPanel/trailingAction.native.js +64 -0
  270. package/dist/jsx/FloatingPanel/trailingAction.native.js.map +1 -0
  271. package/dist/jsx/FormGrid.mjs +1 -0
  272. package/dist/jsx/FormGrid.mjs.map +1 -1
  273. package/dist/jsx/FormGrid.native.js +1 -0
  274. package/dist/jsx/FormGrid.native.js.map +1 -1
  275. package/dist/jsx/InputParts/PasswordReveal.mjs +68 -0
  276. package/dist/jsx/InputParts/PasswordReveal.mjs.map +1 -0
  277. package/dist/jsx/InputParts/PasswordReveal.native.js +104 -0
  278. package/dist/jsx/InputParts/PasswordReveal.native.js.map +1 -0
  279. package/dist/jsx/InputParts/index.mjs +97 -8
  280. package/dist/jsx/InputParts/index.mjs.map +1 -1
  281. package/dist/jsx/InputParts/index.native.js +99 -5
  282. package/dist/jsx/InputParts/index.native.js.map +1 -1
  283. package/dist/jsx/fields/ColorPicker/index.mjs +8 -17
  284. package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
  285. package/dist/jsx/fields/ColorPicker/index.native.js +9 -18
  286. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  287. package/dist/jsx/fields/Combobox/index.mjs +29 -45
  288. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  289. package/dist/jsx/fields/Combobox/index.native.js +30 -45
  290. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  291. package/dist/jsx/fields/DatePicker/Calendar.mjs +4 -5
  292. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  293. package/dist/jsx/fields/DatePicker/Calendar.native.js +3 -4
  294. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  295. package/dist/jsx/fields/DatePicker/parts.mjs +5 -9
  296. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  297. package/dist/jsx/fields/DatePicker/parts.native.js +5 -9
  298. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  299. package/dist/jsx/fields/Duration/durationMath.mjs +1 -1
  300. package/dist/jsx/fields/Duration/durationMath.mjs.map +1 -1
  301. package/dist/jsx/fields/Duration/durationMath.native.js +1 -1
  302. package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -1
  303. package/dist/jsx/fields/Duration/index.mjs +100 -90
  304. package/dist/jsx/fields/Duration/index.mjs.map +1 -1
  305. package/dist/jsx/fields/Duration/index.native.js +108 -98
  306. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  307. package/dist/jsx/fields/FileUpload/index.mjs +135 -25
  308. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  309. package/dist/jsx/fields/FileUpload/index.native.js +149 -34
  310. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  311. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs +2 -1
  312. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  313. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js +3 -2
  314. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  315. package/dist/jsx/fields/Geolocation/index.mjs +13 -11
  316. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  317. package/dist/jsx/fields/Geolocation/index.native.js +10 -8
  318. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  319. package/dist/jsx/fields/Icon/index.mjs +8 -15
  320. package/dist/jsx/fields/Icon/index.mjs.map +1 -1
  321. package/dist/jsx/fields/Icon/index.native.js +6 -13
  322. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  323. package/dist/jsx/fields/ImageField/index.mjs +7 -7
  324. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  325. package/dist/jsx/fields/ImageField/index.native.js +5 -5
  326. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  327. package/dist/jsx/fields/Input/index.mjs +28 -22
  328. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  329. package/dist/jsx/fields/Input/index.native.js +28 -21
  330. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  331. package/dist/jsx/fields/MentionInput/index.mjs +13 -14
  332. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  333. package/dist/jsx/fields/MentionInput/index.native.js +7 -8
  334. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  335. package/dist/jsx/fields/OTPInput/index.mjs +2 -2
  336. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
  337. package/dist/jsx/fields/OTPInput/index.native.js +1 -1
  338. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  339. package/dist/jsx/fields/PhoneInput/index.mjs +5 -5
  340. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  341. package/dist/jsx/fields/PhoneInput/index.native.js +3 -3
  342. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  343. package/dist/jsx/fields/RadioGroup/index.mjs +1 -0
  344. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
  345. package/dist/jsx/fields/RadioGroup/index.native.js +1 -0
  346. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  347. package/dist/jsx/fields/SearchInput/index.mjs +5 -49
  348. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  349. package/dist/jsx/fields/SearchInput/index.native.js +4 -46
  350. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  351. package/dist/jsx/fields/Select/index.mjs +15 -13
  352. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  353. package/dist/jsx/fields/Select/index.native.js +14 -12
  354. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  355. package/dist/jsx/fields/Signature/index.mjs +2 -2
  356. package/dist/jsx/fields/Signature/index.mjs.map +1 -1
  357. package/dist/jsx/fields/Signature/index.native.js +1 -1
  358. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  359. package/dist/jsx/fields/Slider/index.mjs +2 -2
  360. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  361. package/dist/jsx/fields/Slider/index.native.js +1 -1
  362. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  363. package/dist/jsx/fields/TimePicker/parts.mjs +5 -9
  364. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  365. package/dist/jsx/fields/TimePicker/parts.native.js +5 -9
  366. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  367. package/dist/jsx/fields/TimeRangeScrubber/index.mjs +20 -15
  368. package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -1
  369. package/dist/jsx/fields/TimeRangeScrubber/index.native.js +14 -9
  370. package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -1
  371. package/dist/jsx/fields/ToggleGroup/index.mjs +3 -3
  372. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  373. package/dist/jsx/fields/ToggleGroup/index.native.js +1 -1
  374. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  375. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +2 -2
  376. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  377. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
  378. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  379. package/dist/jsx/hooks/useFocusManagement.mjs +3 -2
  380. package/dist/jsx/hooks/useFocusManagement.mjs.map +1 -1
  381. package/dist/jsx/hooks/useFocusManagement.native.js +3 -2
  382. package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
  383. package/dist/jsx/index.js +3 -1
  384. package/dist/jsx/index.js.map +1 -1
  385. package/dist/jsx/index.mjs +3 -1
  386. package/dist/jsx/index.mjs.map +1 -1
  387. package/dist/jsx/index.native.js +7 -0
  388. package/dist/jsx/index.native.js.map +1 -1
  389. package/dist/jsx/shared/focusManagement.mjs +1 -1
  390. package/dist/jsx/shared/focusManagement.mjs.map +1 -1
  391. package/dist/jsx/shared/focusManagement.native.js +1 -1
  392. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  393. package/dist/jsx/shared/panelPortal.mjs +1 -1
  394. package/dist/jsx/shared/panelPortal.mjs.map +1 -1
  395. package/dist/jsx/shared/panelPortal.native.js +1 -1
  396. package/dist/jsx/shared/panelPortal.native.js.map +1 -1
  397. package/dist/jsx/shared/useDragScroll.mjs +2 -2
  398. package/dist/jsx/shared/useDragScroll.mjs.map +1 -1
  399. package/dist/jsx/shared/useDragScroll.native.js +2 -2
  400. package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
  401. package/package.json +8 -8
  402. package/src/AdaptivePopup/AdaptivePopup.stories.tsx +2 -1
  403. package/src/Button/Button.borderLadder.spec.tsx +32 -7
  404. package/src/Button/Button.edge.spec.tsx +68 -0
  405. package/src/Button/Button.stories.tsx +2 -1
  406. package/src/Button/index.tsx +37 -11
  407. package/src/Chip/Chip.stories.tsx +2 -1
  408. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +2 -1
  409. package/src/ContextualSaveBar/UnsavedChangesDialog.stories.tsx +2 -1
  410. package/src/ControlGroup/ControlGroup.stories.tsx +2 -1
  411. package/src/DescriptionList/DescriptionList.stories.tsx +2 -1
  412. package/src/ErrorSummary.stories.tsx +2 -1
  413. package/src/ErrorSummary.tsx +2 -2
  414. package/src/FieldDisplay/FieldDisplay.stories.tsx +2 -1
  415. package/src/FieldLayout.stories.tsx +2 -2
  416. package/src/FloatingPanel/FloatingPanel.stories.tsx +2 -2
  417. package/src/FloatingPanel/PanelPortal.tsx +1 -0
  418. package/src/FloatingPanel/index.native.tsx +4 -2
  419. package/src/FloatingPanel/index.tsx +14 -4
  420. package/src/FloatingPanel/trailingAction.tsx +37 -0
  421. package/src/Form/Form.stories.tsx +2 -1
  422. package/src/FormGrid.stories.tsx +2 -1
  423. package/src/FormGrid.tsx +1 -0
  424. package/src/FormsIntegration.stories.tsx +4 -18
  425. package/src/InputParts/InputParts.stories.tsx +11 -11
  426. package/src/InputParts/PasswordReveal.tsx +94 -0
  427. package/src/InputParts/index.tsx +144 -2
  428. package/src/InputParts/inputPartsStories.spec.tsx +3 -1
  429. package/src/Skeleton/Skeleton.stories.tsx +2 -2
  430. package/src/Spinner/Spinner.stories.tsx +2 -2
  431. package/src/Wheel/Wheel.stories.tsx +2 -2
  432. package/src/fieldTrailingAction.spec.tsx +188 -0
  433. package/src/fields/Barcode/Barcode.stories.tsx +2 -1
  434. package/src/fields/Barcode/BarcodePreview.stories.tsx +2 -1
  435. package/src/fields/Checkbox/Checkbox.stories.tsx +3 -1
  436. package/src/fields/Checkbox/CheckboxGroup.stories.tsx +2 -2
  437. package/src/fields/Checkbox/Checkboxes.stories.tsx +2 -1
  438. package/src/fields/ColorPicker/PresetSwatches.stories.tsx +2 -1
  439. package/src/fields/ColorPicker/index.tsx +6 -12
  440. package/src/fields/Combobox/Combobox.stories.tsx +2 -1
  441. package/src/fields/Combobox/index.tsx +39 -41
  442. package/src/fields/DatePicker/Calendar.stories.tsx +2 -1
  443. package/src/fields/DatePicker/Calendar.tsx +4 -5
  444. package/src/fields/DatePicker/DatePicker.spec.tsx +2 -2
  445. package/src/fields/DatePicker/DatePicker.stories.tsx +2 -1
  446. package/src/fields/DatePicker/DateRangePicker.stories.tsx +2 -1
  447. package/src/fields/DatePicker/DatetimePicker.stories.tsx +2 -1
  448. package/src/fields/DatePicker/MonthPicker.stories.tsx +2 -1
  449. package/src/fields/DatePicker/MultiDatePicker.spec.tsx +1 -1
  450. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +2 -1
  451. package/src/fields/DatePicker/parts.tsx +6 -10
  452. package/src/fields/Duration/Duration.spec.tsx +25 -1
  453. package/src/fields/Duration/Duration.stories.tsx +6 -1
  454. package/src/fields/Duration/durationMath.spec.ts +2 -2
  455. package/src/fields/Duration/durationMath.ts +1 -1
  456. package/src/fields/Duration/index.tsx +91 -70
  457. package/src/fields/FileUpload/FileUpload.spec.tsx +86 -3
  458. package/src/fields/FileUpload/FileUpload.stories.tsx +15 -0
  459. package/src/fields/FileUpload/index.tsx +170 -50
  460. package/src/fields/Geolocation/Geolocation.stories.tsx +2 -1
  461. package/src/fields/Geolocation/GeolocationMap.native.tsx +2 -1
  462. package/src/fields/Geolocation/GeolocationMap.tsx +2 -1
  463. package/src/fields/Geolocation/index.tsx +39 -16
  464. package/src/fields/Icon/index.tsx +9 -15
  465. package/src/fields/ImageField/index.tsx +9 -8
  466. package/src/fields/Input/Input.stories.tsx +39 -1
  467. package/src/fields/Input/index.tsx +45 -25
  468. package/src/fields/MentionInput/index.tsx +17 -18
  469. package/src/fields/OTPInput/OtpInput.stories.tsx +2 -1
  470. package/src/fields/OTPInput/index.tsx +2 -2
  471. package/src/fields/PhoneInput/PhoneInput.stories.tsx +2 -1
  472. package/src/fields/PhoneInput/index.tsx +10 -6
  473. package/src/fields/Progress/Progress.stories.tsx +2 -1
  474. package/src/fields/RadioGroup/RadioGroup.stories.tsx +3 -2
  475. package/src/fields/RadioGroup/index.tsx +1 -0
  476. package/src/fields/Rating/Rating.stories.tsx +2 -1
  477. package/src/fields/SearchInput/SearchInput.stories.tsx +2 -1
  478. package/src/fields/SearchInput/index.tsx +8 -45
  479. package/src/fields/Select/Select.stories.tsx +2 -2
  480. package/src/fields/Select/index.tsx +18 -12
  481. package/src/fields/Signature/Signature.stories.tsx +2 -1
  482. package/src/fields/Signature/index.tsx +6 -1
  483. package/src/fields/Slider/Slider.stories.tsx +2 -1
  484. package/src/fields/Slider/index.tsx +6 -2
  485. package/src/fields/Stepper/Stepper.stories.tsx +2 -1
  486. package/src/fields/Switch/Switch.stories.tsx +3 -1
  487. package/src/fields/TextArea/TextArea.stories.tsx +2 -1
  488. package/src/fields/TimePicker/TimePicker.stories.tsx +2 -1
  489. package/src/fields/TimePicker/parts.tsx +6 -10
  490. package/src/fields/TimeRangeScrubber/index.tsx +20 -18
  491. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +2 -8
  492. package/src/fields/ToggleGroup/index.tsx +10 -4
  493. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +2 -2
  494. package/src/fields/pickerActivation.spec.tsx +7 -3
  495. package/src/hooks/useFocusManagement.ts +3 -2
  496. package/src/index.ts +9 -0
  497. package/src/shared/focusManagement.ts +1 -1
  498. package/src/shared/panelPortal.ts +2 -1
  499. package/src/shared/useDragScroll.ts +2 -2
  500. package/types/Button/index.d.ts +9 -1
  501. package/types/Button/index.d.ts.map +1 -1
  502. package/types/FloatingPanel/PanelPortal.d.ts.map +1 -1
  503. package/types/FloatingPanel/index.d.ts.map +1 -1
  504. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  505. package/types/FloatingPanel/trailingAction.d.ts +16 -0
  506. package/types/FloatingPanel/trailingAction.d.ts.map +1 -0
  507. package/types/InputParts/PasswordReveal.d.ts +28 -0
  508. package/types/InputParts/PasswordReveal.d.ts.map +1 -0
  509. package/types/InputParts/index.d.ts +34 -2
  510. package/types/InputParts/index.d.ts.map +1 -1
  511. package/types/fields/Checkbox/index.d.ts +4 -4
  512. package/types/fields/ColorPicker/index.d.ts.map +1 -1
  513. package/types/fields/Combobox/index.d.ts.map +1 -1
  514. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  515. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  516. package/types/fields/Duration/index.d.ts.map +1 -1
  517. package/types/fields/FileUpload/index.d.ts +1 -0
  518. package/types/fields/FileUpload/index.d.ts.map +1 -1
  519. package/types/fields/Geolocation/GeolocationMap.d.ts.map +1 -1
  520. package/types/fields/Geolocation/GeolocationMap.native.d.ts.map +1 -1
  521. package/types/fields/Geolocation/index.d.ts.map +1 -1
  522. package/types/fields/Icon/index.d.ts.map +1 -1
  523. package/types/fields/ImageField/index.d.ts.map +1 -1
  524. package/types/fields/Input/index.d.ts +9 -3
  525. package/types/fields/Input/index.d.ts.map +1 -1
  526. package/types/fields/MentionInput/index.d.ts.map +1 -1
  527. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  528. package/types/fields/RadioGroup/index.d.ts +2 -2
  529. package/types/fields/RadioGroup/index.d.ts.map +1 -1
  530. package/types/fields/SearchInput/index.d.ts.map +1 -1
  531. package/types/fields/Select/index.d.ts.map +1 -1
  532. package/types/fields/Signature/index.d.ts.map +1 -1
  533. package/types/fields/Slider/index.d.ts.map +1 -1
  534. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  535. package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -1
  536. package/types/fields/ToggleGroup/index.d.ts +1 -1
  537. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  538. package/types/hooks/useFocusManagement.d.ts.map +1 -1
  539. package/types/index.d.ts +4 -0
  540. package/types/index.d.ts.map +1 -1
  541. package/types/shared/panelPortal.d.ts.map +1 -1
@@ -67,6 +67,8 @@ var defaultPresets = [{
67
67
  label: "8h",
68
68
  seconds: 28800
69
69
  }];
70
+ var DIGIT_PROBE = "000";
71
+ var CARET_ALLOWANCE = 2;
70
72
  var DURATION_PRESET_SIZE = "$2";
71
73
  function DurationSegment(param) {
72
74
  var {
@@ -83,13 +85,15 @@ function DurationSegment(param) {
83
85
  placeholder,
84
86
  required,
85
87
  hasError,
86
- sizeToken
88
+ sizeToken,
89
+ digitAdvance
87
90
  } = param;
88
91
  var [draft, setDraft] = (0, import_react2.useState)(null);
89
92
  var shown = draft !== null && draft !== void 0 ? draft : wide ? String(value) : String(value).padStart(2, "0");
90
93
  var locked = !!(disabled || readOnly);
91
94
  var recipe = (0, import_theme2.sizeRecipeForToken)(sizeToken);
92
- var segmentWidth = (0, import_durationMath.durationSegmentWidth)(sizeToken, wide ? 3 : 2);
95
+ var digits = Math.max(1, shown.length);
96
+ var segmentWidth = digitAdvance == null ? (0, import_durationMath.durationSegmentWidth)(sizeToken, digits) : Math.ceil(digitAdvance * digits) + CARET_ALLOWANCE;
93
97
  var commitDraft = function commitDraft2() {
94
98
  if (draft == null) return;
95
99
  var n = (0, import_durationMath.normalizeSeconds)(draft === "" ? 0 : Number(draft));
@@ -116,9 +120,8 @@ function DurationSegment(param) {
116
120
  "aria-required": required || void 0,
117
121
  "aria-invalid": hasError || void 0,
118
122
  color: import_colorRamps.formCommonColors.text,
119
- textAlign: "right",
123
+ textAlign: "left",
120
124
  ...knobProps.controlType,
121
- flex: 0,
122
125
  width: segmentWidth,
123
126
  minWidth: segmentWidth,
124
127
  maxWidth: segmentWidth,
@@ -206,6 +209,7 @@ function DurationControl(param) {
206
209
  var resolvedClock = clockIcon === void 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.ClockIcon, {
207
210
  size: recipe.iconSize
208
211
  }) : clockIcon;
212
+ var [digitAdvance, setDigitAdvance] = (0, import_react2.useState)(null);
209
213
  var commitParts = (0, import_react2.useCallback)(function (patch) {
210
214
  onChange((0, import_durationMath.partsToSeconds)({
211
215
  ...parts,
@@ -217,111 +221,117 @@ function DurationControl(param) {
217
221
  ...(hasError ? {
218
222
  theme: "error"
219
223
  } : void 0),
220
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InputParts.Input.Box, {
221
- elevation: void 0,
224
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_InputParts.Input.Box, {
222
225
  disabled,
223
226
  role: "group",
224
227
  "aria-label": hasLabel ? void 0 : (0, import_t.t)("Duration"),
225
228
  "data-ring-target": "box",
226
229
  "data-duration-box": "",
227
230
  justifyContent: "flex-start",
228
- alignItems: "stretch",
229
231
  size: sizeToken,
230
- height: recipe.height,
231
- sizeRecipeEscape: "duration-box",
232
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InputParts.Input.Section, {
232
+ children: [resolvedClock != null ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InputParts.Input.Icon, {
233
+ adornment: "leading",
234
+ children: resolvedClock
235
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
236
+ alignItems: "center",
233
237
  justifyContent: "flex-start",
234
- alignItems: "stretch",
238
+ height: "100%",
235
239
  flexGrow: 1,
236
240
  flexShrink: 1,
237
- flexBasis: "auto",
238
241
  minWidth: 0,
239
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
240
- alignItems: "center",
241
- justifyContent: "flex-start",
242
- width: "100%",
243
- height: "100%",
244
- flexGrow: 0,
245
- flexShrink: 1,
246
- gap: recipe.gap,
247
- "data-duration-row": "",
248
- children: [resolvedClock != null ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InputParts.Input.Icon, {
249
- adornment: "leading",
250
- children: resolvedClock
251
- }) : null, !hideDays ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
252
- id,
253
- unit: (0, import_t.t)("d"),
254
- ariaLabel: (0, import_t.t)("Days"),
255
- value: parts.days,
256
- onCommit: function onCommit(days) {
257
- return commitParts({
258
- days
259
- });
260
- },
261
- onPasteDuration: onChange,
262
- disabled,
263
- readOnly,
264
- knobProps,
265
- placeholder,
266
- required,
267
- hasError,
268
- sizeToken
269
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
270
- id: hideDays ? id : `${id}-hours`,
271
- unit: (0, import_t.t)("h"),
272
- ariaLabel: (0, import_t.t)("Hours"),
273
- value: parts.hours,
274
- onCommit: function onCommit(hours) {
275
- return commitParts({
276
- hours
277
- });
278
- },
279
- onPasteDuration: onChange,
280
- disabled,
281
- readOnly,
282
- knobProps,
283
- wide: true,
284
- placeholder: hideDays ? placeholder : void 0,
285
- required,
286
- hasError,
287
- sizeToken
288
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
289
- id: `${id}-minutes`,
290
- unit: (0, import_t.t)("m"),
291
- ariaLabel: (0, import_t.t)("Min"),
292
- value: parts.minutes,
293
- onCommit: function onCommit(minutes) {
294
- return commitParts({
295
- minutes
296
- });
297
- },
298
- onPasteDuration: onChange,
299
- disabled,
300
- readOnly,
301
- knobProps,
302
- required,
303
- hasError,
304
- sizeToken
305
- }), showSeconds ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
306
- id: `${id}-seconds`,
307
- unit: (0, import_t.t)("s"),
308
- ariaLabel: (0, import_t.t)("Sec"),
309
- value: parts.seconds,
310
- onCommit: function onCommit(secs) {
311
- return commitParts({
312
- seconds: secs
313
- });
314
- },
315
- onPasteDuration: onChange,
316
- disabled,
317
- readOnly,
318
- knobProps,
319
- required,
320
- hasError,
321
- sizeToken
322
- }) : null]
323
- })
324
- })
242
+ gap: recipe.gap,
243
+ "data-duration-row": "",
244
+ children: [!hideDays ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
245
+ id,
246
+ unit: (0, import_t.t)("d"),
247
+ ariaLabel: (0, import_t.t)("Days"),
248
+ value: parts.days,
249
+ onCommit: function onCommit(days) {
250
+ return commitParts({
251
+ days
252
+ });
253
+ },
254
+ onPasteDuration: onChange,
255
+ disabled,
256
+ readOnly,
257
+ knobProps,
258
+ placeholder,
259
+ required,
260
+ hasError,
261
+ sizeToken,
262
+ digitAdvance
263
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
264
+ id: hideDays ? id : `${id}-hours`,
265
+ unit: (0, import_t.t)("h"),
266
+ ariaLabel: (0, import_t.t)("Hours"),
267
+ value: parts.hours,
268
+ onCommit: function onCommit(hours) {
269
+ return commitParts({
270
+ hours
271
+ });
272
+ },
273
+ onPasteDuration: onChange,
274
+ disabled,
275
+ readOnly,
276
+ knobProps,
277
+ wide: true,
278
+ placeholder: hideDays ? placeholder : void 0,
279
+ required,
280
+ hasError,
281
+ sizeToken,
282
+ digitAdvance
283
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
284
+ id: `${id}-minutes`,
285
+ unit: (0, import_t.t)("m"),
286
+ ariaLabel: (0, import_t.t)("Min"),
287
+ value: parts.minutes,
288
+ onCommit: function onCommit(minutes) {
289
+ return commitParts({
290
+ minutes
291
+ });
292
+ },
293
+ onPasteDuration: onChange,
294
+ disabled,
295
+ readOnly,
296
+ knobProps,
297
+ required,
298
+ hasError,
299
+ sizeToken,
300
+ digitAdvance
301
+ }), showSeconds ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(DurationSegment, {
302
+ id: `${id}-seconds`,
303
+ unit: (0, import_t.t)("s"),
304
+ ariaLabel: (0, import_t.t)("Sec"),
305
+ value: parts.seconds,
306
+ onCommit: function onCommit(secs) {
307
+ return commitParts({
308
+ seconds: secs
309
+ });
310
+ },
311
+ onPasteDuration: onChange,
312
+ disabled,
313
+ readOnly,
314
+ knobProps,
315
+ required,
316
+ hasError,
317
+ sizeToken,
318
+ digitAdvance
319
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
320
+ "aria-hidden": true,
321
+ position: "absolute",
322
+ opacity: 0,
323
+ pointerEvents: "none",
324
+ numberOfLines: 1,
325
+ ...knobProps.body,
326
+ ...knobProps.controlType,
327
+ fontSize: recipe.fontSize,
328
+ onLayout: function onLayout(e) {
329
+ var width = e.nativeEvent.layout.width;
330
+ if (width > 0) setDigitAdvance(width / DIGIT_PROBE.length);
331
+ },
332
+ children: DIGIT_PROBE
333
+ })]
334
+ })]
325
335
  })
326
336
  });
327
337
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Duration_exports","__export","DURATION_PRESET_SIZE","Duration","durationSegmentWidth","import_durationMath","normalizeSeconds","parseDurationText","partsToSeconds","secondsToParts","module","exports","import_jsx_runtime","require","import_theme","import_theme2","import_react","import_react2","import_tamagui","import_Button","import_Skeleton","import_fieldLayout","import_InputParts","import_colorRamps","import_t","import_tableCellContext","import_utils","defaultPresets","label","seconds","DurationSegment","param","id","unit","ariaLabel","onCommit","onPasteDuration","disabled","readOnly","knobProps","wide","placeholder","required","hasError","sizeToken","draft","setDraft","useState","shown","String","padStart","locked","recipe","sizeRecipeForToken","segmentWidth","commitDraft","commitDraft2","n","Number","jsxs","XStack","alignItems","gap","flexGrow","flexShrink","height","children","jsx","Input","Area","keyboardType","color","formCommonColors","text","textAlign","controlType","flex","width","minWidth","maxWidth","minHeight","maxHeight","size","paddingHorizontal","maxLength","isWeb","tabIndex","onChangeText","test","onBlur","onFocus","fontVariantNumeric","onKeyDown","e","_ref","_e_nativeEvent","key","nativeEvent","_e_preventDefault","preventDefault","call","_e_preventDefault1","Math","max","_e_preventDefault2","onPaste","_e_clipboardData_getData","_e_clipboardData","clipboardData","getData","parsed","Text","body","muted","textTransform","DurationControl","onChange","hideDays","showSeconds","clockIcon","hasLabel","parts","resolvedClock","ClockIcon","iconSize","commitParts","useCallback","patch","theme","Box","elevation","role","t","justifyContent","sizeRecipeEscape","Section","flexBasis","Icon","adornment","days","hours","minutes","secs","DurationPresets","presets","length","flexWrap","map","preset","selected","Button","outlined","accent","onPress","name","form","formProp","validators","labelProps","helperText","error","idProp","defaultValue","skeleton","hydrationTouch","useTouchSurface","resolvedForm","useFormField","resolvedValidators","useResolvedValidators","isControlled","internal","setInternal","inTableCell","useIsInTableCell","resolvedSize","visualHeight","getFieldHeight","handleChange","next","fieldChange","FieldLayout","Skeleton","variant","fieldBody","fieldBody2","current","onValueChange","YStack","Boolean","s","Field","field","_field_state_value","resolvedError","getFieldError","fieldValue","state","mergeFieldHandler","v"],"sources":["../../../../src/fields/Duration/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Duration_exports","__export","DURATION_PRESET_SIZE","Duration","durationSegmentWidth","import_durationMath","normalizeSeconds","parseDurationText","partsToSeconds","secondsToParts","module","exports","import_jsx_runtime","require","import_theme","import_theme2","import_react","import_react2","import_tamagui","import_Button","import_Skeleton","import_fieldLayout","import_InputParts","import_colorRamps","import_t","import_tableCellContext","import_utils","defaultPresets","label","seconds","DIGIT_PROBE","CARET_ALLOWANCE","DurationSegment","param","id","unit","ariaLabel","onCommit","onPasteDuration","disabled","readOnly","knobProps","wide","placeholder","required","hasError","sizeToken","digitAdvance","draft","setDraft","useState","shown","String","padStart","locked","recipe","sizeRecipeForToken","digits","Math","max","length","segmentWidth","ceil","commitDraft","commitDraft2","n","Number","jsxs","XStack","alignItems","gap","flexGrow","flexShrink","height","children","jsx","Input","Area","keyboardType","color","formCommonColors","text","textAlign","controlType","width","minWidth","maxWidth","minHeight","maxHeight","size","paddingHorizontal","maxLength","isWeb","tabIndex","onChangeText","test","onBlur","onFocus","fontVariantNumeric","onKeyDown","e","_ref","_e_nativeEvent","key","nativeEvent","_e_preventDefault","preventDefault","call","_e_preventDefault1","_e_preventDefault2","onPaste","_e_clipboardData_getData","_e_clipboardData","clipboardData","getData","parsed","Text","body","muted","textTransform","DurationControl","onChange","hideDays","showSeconds","clockIcon","hasLabel","parts","resolvedClock","ClockIcon","iconSize","setDigitAdvance","commitParts","useCallback","patch","theme","Box","role","t","justifyContent","Icon","adornment","days","hours","minutes","secs","position","opacity","pointerEvents","numberOfLines","fontSize","onLayout","layout","DurationPresets","presets","flexWrap","map","preset","selected","Button","outlined","accent","onPress","name","form","formProp","validators","labelProps","helperText","error","idProp","defaultValue","skeleton","hydrationTouch","useTouchSurface","resolvedForm","useFormField","resolvedValidators","useResolvedValidators","isControlled","internal","setInternal","inTableCell","useIsInTableCell","resolvedSize","visualHeight","getFieldHeight","handleChange","next","fieldChange","FieldLayout","Skeleton","variant","fieldBody","fieldBody2","current","onValueChange","YStack","Boolean","s","Field","field","_field_state_value","resolvedError","getFieldError","fieldValue","state","mergeFieldHandler","v"],"sources":["../../../../src/fields/Duration/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -110,6 +110,7 @@ const UploadTileGridFrame = (0, import_tamagui2.styled)(import_tamagui2.XStack,
110
110
  });
111
111
  function FileUpload(props) {
112
112
  const hydrationTouch = (0, import_theme2.useTouchSurface)();
113
+ const media = (0, import_tamagui.useMedia)();
113
114
  const {
114
115
  defaultValue,
115
116
  form,
@@ -162,6 +163,28 @@ function FileUpload(props) {
162
163
  const tilePx = (0, import_utils.getFieldHeight)(knobProps.sizeToken, 2, hydrationTouch);
163
164
  const tileRemoveInset = -Math.round(knobProps.nestedControl.px / 4);
164
165
  const [selectedFiles, setSelectedFiles] = (0, import_react2.useState)([]);
166
+ const [replacing, setReplacing] = (0, import_react2.useState)(false);
167
+ const [existingRemoved, setExistingRemoved] = (0, import_react2.useState)(false);
168
+ const [pixelated, setPixelated] = (0, import_react2.useState)(false);
169
+ const replaceRef = (0, import_react2.useRef)(null);
170
+ const sourceRef = (0, import_react2.useRef)(null);
171
+ const storedSrcRef = (0, import_react2.useRef)(existing?.src);
172
+ const previousReplacing = (0, import_react2.useRef)(replacing);
173
+ (0, import_react2.useEffect)(() => {
174
+ if (storedSrcRef.current === existing?.src) return;
175
+ storedSrcRef.current = existing?.src;
176
+ const currentFiles = Array.isArray(defaultValue) ? defaultValue : [defaultValue];
177
+ if (existing?.src || !selectedFiles.every(file => currentFiles.includes(file))) setSelectedFiles([]);
178
+ setExistingRemoved(false);
179
+ setReplacing(false);
180
+ }, [existing?.src]);
181
+ (0, import_react2.useEffect)(() => {
182
+ if (previousReplacing.current === replacing) return;
183
+ previousReplacing.current = replacing;
184
+ if (!import_tamagui2.isWeb) return;
185
+ const target = replacing ? sourceRef : replaceRef;
186
+ target.current?.querySelector('button, [role="button"]')?.focus();
187
+ }, [replacing]);
165
188
  const [transfers, setTransfers] = (0, import_react2.useState)([]);
166
189
  const [isDragOver, setIsDragOver] = (0, import_react2.useState)(false);
167
190
  const [validationError, setValidationError] = (0, import_react2.useState)();
@@ -257,13 +280,14 @@ function FileUpload(props) {
257
280
  });
258
281
  if (controller.signal.aborted) return;
259
282
  setTransfersAndRef(prev => prev.filter(item => item.id !== id2));
283
+ setReplacing(false);
260
284
  setSelectedFiles(prev => {
261
285
  const nextFiles = multipleRef.current ? [...prev, file] : [file];
262
286
  syncFieldValue(nextFiles, emitFieldRef.current);
263
287
  return nextFiles;
264
288
  });
265
289
  } catch (err) {
266
- if (controller.signal.aborted || err instanceof DOMException && err.name === "AbortError") {
290
+ if (controller.signal.aborted || err instanceof Error && err.name === "AbortError" || typeof DOMException !== "undefined" && err instanceof DOMException && err.name === "AbortError") {
267
291
  setTransfersAndRef(prev => prev.filter(item => item.id !== id2));
268
292
  return;
269
293
  }
@@ -346,6 +370,7 @@ function FileUpload(props) {
346
370
  if (onUploadRef.current) {
347
371
  validFiles.forEach(file => startTransfer(file));
348
372
  } else {
373
+ setReplacing(false);
349
374
  setSelectedFiles(prev => {
350
375
  const nextFiles = multiple ? [...prev, ...validFiles] : validFiles.slice(0, 1);
351
376
  syncFieldValue(nextFiles, onValueChange);
@@ -368,8 +393,11 @@ function FileUpload(props) {
368
393
  syncFieldValue(nextFiles, onValueChange);
369
394
  return nextFiles;
370
395
  });
396
+ if (fileInputRef.current) fileInputRef.current.value = "";
397
+ setReplacing(false);
398
+ if (!multiple) setExistingRemoved(true);
371
399
  onFileRemove?.(fileToRemove);
372
- }, [onFileRemove, syncFieldValue]);
400
+ }, [multiple, onFileRemove, syncFieldValue]);
373
401
  const dragDepthRef = (0, import_react2.useRef)(0);
374
402
  const handleDragEnter = (0, import_react2.useCallback)(e => {
375
403
  e.preventDefault();
@@ -481,7 +509,7 @@ function FileUpload(props) {
481
509
  return null;
482
510
  }, []);
483
511
  if (skeleton) {
484
- const minHeightPx = (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5, hydrationTouch);
512
+ const minHeightPx = (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 2, hydrationTouch);
485
513
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {
486
514
  id,
487
515
  label: fieldProps.label,
@@ -495,7 +523,11 @@ function FileUpload(props) {
495
523
  });
496
524
  }
497
525
  const canInteract = !disabled && !readOnly;
498
- const showExisting = Boolean(existing?.src) && selectedFiles.length === 0 && transfers.length === 0;
526
+ const showExisting = Boolean(existing?.src) && !existingRemoved && selectedFiles.length === 0;
527
+ const singleFile = !multiple ? selectedFiles[0] : void 0;
528
+ const filled = !multiple && (showExisting || Boolean(singleFile));
529
+ const storedImage = existing?.isImage ?? /^(data:image\/)|\.(png|jpe?g|gif|webp|svg|avif|bmp)(?:[?#]|$)/i.test(existing?.src ?? "");
530
+ const singlePreview = showPreview ? singleFile ? getFilePreview(singleFile) : storedImage ? existing?.src : void 0 : void 0;
499
531
  const existingName = existing?.name || fileNameFromSrc(existing?.src ?? "");
500
532
  const hasRows = selectedFiles.length > 0 || transfers.length > 0 || showExisting;
501
533
  const renderRemoveDisc = (ariaLabel, onPress) => canInteract ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
@@ -581,13 +613,13 @@ function FileUpload(props) {
581
613
  };
582
614
  const zoneInteractionProps = canInteract ? import_tamagui2.isWeb ? {
583
615
  // DROPZONE-FULL-TARGET: the entire surface is the click target.
584
- role: "button",
585
- tabIndex: 0,
616
+ role: filled ? "group" : "button",
617
+ tabIndex: filled ? void 0 : 0,
586
618
  onFocus: handleZoneFocus,
587
619
  onBlur: handleZoneBlur,
588
620
  cursor: "pointer",
589
- onClick: handleZoneClick,
590
- onKeyDown: handleZoneKeyDown,
621
+ onClick: filled ? void 0 : handleZoneClick,
622
+ onKeyDown: filled ? void 0 : handleZoneKeyDown,
591
623
  ...(dragDrop ? {
592
624
  onDragEnter: handleDragEnter,
593
625
  onDragOver: handleDragOver,
@@ -597,7 +629,7 @@ function FileUpload(props) {
597
629
  onBlurHandler?.();
598
630
  }
599
631
  } : null)
600
- } : {
632
+ } : filled ? {} : {
601
633
  role: "button",
602
634
  onPress: requestFiles
603
635
  } : {
@@ -630,7 +662,6 @@ function FileUpload(props) {
630
662
  } : void 0),
631
663
  elevation: knobProps.elevation,
632
664
  ...(0, import_theme.transitionProps)(knobProps.motion.control),
633
- minHeight: (0, import_utils.getFieldHeight)(fieldProps.size || knobProps.sizeToken, 5, hydrationTouch),
634
665
  "aria-required": fieldProps.required || void 0,
635
666
  "aria-invalid": !!errorProp || void 0,
636
667
  "aria-readonly": readOnly || void 0,
@@ -643,7 +674,7 @@ function FileUpload(props) {
643
674
  backgroundColor: import_colorRamps.formInputColors.background.focus
644
675
  } : void 0,
645
676
  ...zoneInteractionProps,
646
- ...(canInteract ?
677
+ ...(canInteract && !filled ?
647
678
  // Labeled fields get aria-labelledby auto-wired by the FieldLayout
648
679
  // Label (tamagui Label htmlFor → this id); the aria-label fallback
649
680
  // covers label-less usage, and is what a screen reader announces
@@ -682,29 +713,108 @@ function FileUpload(props) {
682
713
  })]
683
714
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {
684
715
  ...knobProps.panelPadding,
685
- flexGrow: 1,
686
716
  width: "100%",
687
717
  alignItems: "center",
688
718
  justifyContent: "center",
689
719
  ...knobProps.gap,
690
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {
720
+ children: [filled ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {
721
+ "data-file-upload": "preview",
722
+ width: "100%",
691
723
  alignItems: "center",
692
- justifyContent: "center",
693
- flexWrap: "wrap",
694
- maxWidth: "100%",
724
+ ...knobProps.gap,
725
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.YStack, {
726
+ "data-file-upload": showExisting ? "existing" : "selected",
727
+ alignItems: "center",
728
+ width: "100%",
729
+ children: singlePreview ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Image, {
730
+ src: singlePreview,
731
+ alt: singleFile?.name ?? existingName,
732
+ width: "$14",
733
+ height: "$14",
734
+ maxWidth: "100%",
735
+ objectFit: "contain",
736
+ onLoad: event => {
737
+ if (!import_tamagui2.isWeb) return;
738
+ const image = event.currentTarget;
739
+ setPixelated(image.naturalWidth > 0 && image.naturalWidth < image.width);
740
+ },
741
+ ...(import_tamagui2.isWeb && pixelated ? {
742
+ style: {
743
+ imageRendering: "pixelated"
744
+ }
745
+ } : {})
746
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.YStack, {
747
+ alignItems: "center",
748
+ ...knobProps.gap,
749
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.FileIcon, {
750
+ size: rowGlyphSize
751
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Text, {
752
+ ...knobProps.body,
753
+ textAlign: "center",
754
+ numberOfLines: 2,
755
+ children: singleFile?.name ?? existingName
756
+ })]
757
+ })
758
+ }), canInteract ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {
759
+ ref: replaceRef,
760
+ ...knobProps.gap,
761
+ justifyContent: "center",
762
+ flexWrap: "wrap",
763
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
764
+ size: knobProps.sizeToken,
765
+ "aria-label": replacing ? (0, import_t.t)("Cancel replacement") : (0, import_t.t)("Replace"),
766
+ "aria-expanded": replacing,
767
+ onPress: event => {
768
+ event.stopPropagation();
769
+ if (replacing) {
770
+ transfersRef.current.forEach(item => item.controller.abort());
771
+ setTransfersAndRef(() => []);
772
+ if (fileInputRef.current) fileInputRef.current.value = "";
773
+ if (import_tamagui2.isWeb) replaceRef.current?.querySelector('button, [role="button"]')?.focus();
774
+ }
775
+ setReplacing(!replacing);
776
+ },
777
+ children: replacing ? (0, import_t.t)("Cancel") : (0, import_t.t)("Replace")
778
+ }), singleFile || onExistingRemove ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
779
+ size: knobProps.sizeToken,
780
+ outlined: true,
781
+ "aria-label": (0, import_t.t)("Remove {{name}}", {
782
+ name: singleFile?.name ?? existingName
783
+ }),
784
+ onPress: event => {
785
+ event.stopPropagation();
786
+ transfersRef.current.forEach(item => item.controller.abort());
787
+ setTransfersAndRef(() => []);
788
+ if (singleFile) handleFileRemove(singleFile, onValueChange);else onExistingRemove?.();
789
+ setReplacing(false);
790
+ },
791
+ children: (0, import_t.t)("Remove")
792
+ }) : null]
793
+ }) : null]
794
+ }) : null, !filled || replacing ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui2.XStack, {
795
+ ref: sourceRef,
796
+ "data-file-upload": "sources",
797
+ width: "100%",
798
+ flexDirection: media.xs ? "column" : "row",
799
+ alignItems: "stretch",
695
800
  ...knobProps.gap,
696
801
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
697
- onPress: requestFiles,
802
+ alignSelf: "stretch",
803
+ flex: media.xs ? void 0 : 1,
804
+ onPress: event => {
805
+ event.stopPropagation();
806
+ requestFiles();
807
+ },
698
808
  disabled: !canInteract,
699
809
  size: knobProps.sizeToken,
700
- tabIndex: -1,
810
+ tabIndex: replacing ? 0 : -1,
701
811
  icon: import_react.UploadIcon,
702
812
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button.Text, {
703
813
  ...knobProps.body,
704
814
  children: buttonText
705
815
  })
706
816
  }), actions]
707
- }), selectedFiles.length === 0 && transfers.length === 0 && !showExisting && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Text, {
817
+ }) : null, !hasRows && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui2.Text, {
708
818
  color: import_colorRamps.formCommonColors.muted,
709
819
  textAlign: "center",
710
820
  ...knobProps.body,
@@ -724,10 +834,10 @@ function FileUpload(props) {
724
834
  },
725
835
  disabled: !canInteract
726
836
  }) : null]
727
- }), hasRows && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(UploadFileListFrame, {
837
+ }), (multiple && hasRows || transfers.length > 0) && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(UploadFileListFrame, {
728
838
  "data-file-upload": "files",
729
839
  borderTopWidth: knobProps.borderRadius.borderWidth ?? 1,
730
- children: [showExisting && existing ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
840
+ children: [multiple && showExisting && existing ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
731
841
  "data-file-upload": "tiles",
732
842
  ...knobProps.gap,
733
843
  ...knobProps.panelPadding,
@@ -754,7 +864,7 @@ function FileUpload(props) {
754
864
  }), onExistingRemove)
755
865
  }) : null]
756
866
  })
757
- }) : null, imageTiles.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
867
+ }) : null, multiple && imageTiles.length > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(UploadTileGridFrame, {
758
868
  "data-file-upload": "tiles",
759
869
  ...knobProps.gap,
760
870
  ...knobProps.panelPadding,
@@ -762,7 +872,7 @@ function FileUpload(props) {
762
872
  file,
763
873
  preview
764
874
  }) => renderImageTile(file, preview, onValueChange))
765
- }) : null, fileRows.map(({
875
+ }) : null, (multiple ? fileRows : []).map(({
766
876
  file,
767
877
  preview,
768
878
  index
@@ -857,7 +967,7 @@ function FileUpload(props) {
857
967
  size: fieldProps.size,
858
968
  knobProps,
859
969
  disabled,
860
- children: renderUploadArea(standaloneError, emitChange)
970
+ children: renderUploadArea(standaloneError, emitChange, fieldProps.onBlur)
861
971
  });
862
972
  }
863
973
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.Field, {