@multiplatform.one/forms 7.7.4 → 7.8.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 (579) hide show
  1. package/dist/cjs/Button/index.cjs +3 -36
  2. package/dist/cjs/Button/index.native.js +3 -36
  3. package/dist/cjs/Button/index.native.js.map +1 -1
  4. package/dist/cjs/Chip/index.cjs +1 -1
  5. package/dist/cjs/Chip/index.native.js +1 -1
  6. package/dist/cjs/Chip/index.native.js.map +1 -1
  7. package/dist/cjs/ContextualSaveBar/index.cjs +17 -10
  8. package/dist/cjs/ContextualSaveBar/index.native.js +18 -10
  9. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  10. package/dist/cjs/FloatingPanel/index.cjs +59 -14
  11. package/dist/cjs/FloatingPanel/index.native.js +16 -7
  12. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  13. package/dist/cjs/FloatingPanel/nestedAction.cjs +37 -0
  14. package/dist/cjs/FloatingPanel/nestedAction.native.js +42 -0
  15. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -0
  16. package/dist/cjs/InputParts/index.cjs +11 -7
  17. package/dist/cjs/InputParts/index.native.js +12 -10
  18. package/dist/cjs/InputParts/index.native.js.map +1 -1
  19. package/dist/cjs/Wheel/index.cjs +3 -3
  20. package/dist/cjs/Wheel/index.native.js +3 -3
  21. package/dist/cjs/Wheel/index.native.js.map +1 -1
  22. package/dist/cjs/fieldLayout.cjs +3 -3
  23. package/dist/cjs/fieldLayout.native.js +3 -3
  24. package/dist/cjs/fieldLayout.native.js.map +1 -1
  25. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +9 -2
  26. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  27. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  28. package/dist/cjs/fields/Combobox/index.cjs +74 -76
  29. package/dist/cjs/fields/Combobox/index.native.js +78 -86
  30. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  31. package/dist/cjs/fields/DatePicker/Calendar.cjs +6 -1
  32. package/dist/cjs/fields/DatePicker/Calendar.native.js +6 -1
  33. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  34. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +2 -2
  35. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  36. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  37. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +15 -12
  38. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  39. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  40. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +39 -14
  41. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  42. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +10 -3
  43. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +10 -3
  44. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  45. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +2 -2
  46. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  47. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  48. package/dist/cjs/fields/DatePicker/index.native.js +3 -0
  49. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  50. package/dist/cjs/fields/DatePicker/parts.cjs +26 -14
  51. package/dist/cjs/fields/DatePicker/parts.native.js +28 -14
  52. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  53. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  54. package/dist/cjs/fields/Geolocation/geocoder.cjs +63 -0
  55. package/dist/cjs/fields/Geolocation/geocoder.native.js +68 -0
  56. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -0
  57. package/dist/cjs/fields/Geolocation/index.cjs +801 -152
  58. package/dist/cjs/fields/Geolocation/index.native.js +856 -167
  59. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  60. package/dist/cjs/fields/Geolocation/nativeSearchFocus.cjs +44 -0
  61. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js +47 -0
  62. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  63. package/dist/cjs/fields/Icon/drawnSet.cjs +14 -3
  64. package/dist/cjs/fields/Icon/drawnSet.native.js +18 -3
  65. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  66. package/dist/cjs/fields/Icon/index.cjs +102 -27
  67. package/dist/cjs/fields/Icon/index.native.js +115 -31
  68. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  69. package/dist/cjs/fields/Input/index.cjs +5 -12
  70. package/dist/cjs/fields/Input/index.native.js +5 -13
  71. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  72. package/dist/cjs/fields/PhoneInput/index.cjs +2 -2
  73. package/dist/cjs/fields/PhoneInput/index.native.js +2 -2
  74. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  75. package/dist/cjs/fields/SearchInput/index.cjs +8 -9
  76. package/dist/cjs/fields/SearchInput/index.native.js +8 -9
  77. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Select/index.cjs +53 -18
  79. package/dist/cjs/fields/Select/index.native.js +63 -37
  80. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  81. package/dist/cjs/fields/Stepper/index.cjs +144 -31
  82. package/dist/cjs/fields/Stepper/index.native.js +151 -31
  83. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  84. package/dist/cjs/index.cjs +2 -0
  85. package/dist/cjs/index.native.js +2 -0
  86. package/dist/cjs/index.native.js.map +1 -1
  87. package/dist/cjs/shared/focusManagement.cjs +24 -11
  88. package/dist/cjs/shared/focusManagement.native.js +24 -11
  89. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  90. package/dist/cjs/shared/pickerTriggerContract.cjs +38 -0
  91. package/dist/cjs/shared/pickerTriggerContract.native.js +41 -0
  92. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -0
  93. package/dist/cjs/shared/pressSlopProps.cjs +68 -0
  94. package/dist/cjs/shared/pressSlopProps.native.js +72 -0
  95. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -0
  96. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  97. package/dist/esm/Button/index.mjs +1 -34
  98. package/dist/esm/Button/index.mjs.map +1 -1
  99. package/dist/esm/Button/index.native.js +1 -34
  100. package/dist/esm/Button/index.native.js.map +1 -1
  101. package/dist/esm/Chip/index.mjs +1 -1
  102. package/dist/esm/Chip/index.mjs.map +1 -1
  103. package/dist/esm/Chip/index.native.js +1 -1
  104. package/dist/esm/Chip/index.native.js.map +1 -1
  105. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  106. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  107. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  108. package/dist/esm/ContextualSaveBar/index.mjs +17 -10
  109. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
  110. package/dist/esm/ContextualSaveBar/index.native.js +18 -10
  111. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  112. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  113. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  114. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  115. package/dist/esm/ErrorSummary.native.js.map +1 -1
  116. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  117. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  118. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  119. package/dist/esm/FieldGroup.native.js.map +1 -1
  120. package/dist/esm/FloatingPanel/index.mjs +58 -15
  121. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  122. package/dist/esm/FloatingPanel/index.native.js +15 -8
  123. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  124. package/dist/esm/FloatingPanel/nestedAction.mjs +11 -0
  125. package/dist/esm/FloatingPanel/nestedAction.mjs.map +1 -0
  126. package/dist/esm/FloatingPanel/nestedAction.native.js +13 -0
  127. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -0
  128. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  129. package/dist/esm/Form/index.native.js.map +1 -1
  130. package/dist/esm/Form/validateOn.native.js.map +1 -1
  131. package/dist/esm/FormGrid.native.js.map +1 -1
  132. package/dist/esm/FormSection.native.js.map +1 -1
  133. package/dist/esm/InputParts/index.mjs +12 -8
  134. package/dist/esm/InputParts/index.mjs.map +1 -1
  135. package/dist/esm/InputParts/index.native.js +13 -11
  136. package/dist/esm/InputParts/index.native.js.map +1 -1
  137. package/dist/esm/Label/index.native.js.map +1 -1
  138. package/dist/esm/Skeleton/index.native.js.map +1 -1
  139. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  140. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  141. package/dist/esm/Table/index.native.js.map +1 -1
  142. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  143. package/dist/esm/Wheel/index.mjs +3 -3
  144. package/dist/esm/Wheel/index.mjs.map +1 -1
  145. package/dist/esm/Wheel/index.native.js +3 -3
  146. package/dist/esm/Wheel/index.native.js.map +1 -1
  147. package/dist/esm/actionLabel.native.js.map +1 -1
  148. package/dist/esm/fieldDefaults.native.js.map +1 -1
  149. package/dist/esm/fieldLayout.mjs +3 -3
  150. package/dist/esm/fieldLayout.mjs.map +1 -1
  151. package/dist/esm/fieldLayout.native.js +3 -3
  152. package/dist/esm/fieldLayout.native.js.map +1 -1
  153. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  154. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  155. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  156. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  157. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  158. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  159. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  160. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  161. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +8 -1
  162. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  163. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  164. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  165. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  166. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  167. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  168. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  169. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  170. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  171. package/dist/esm/fields/Combobox/index.mjs +74 -76
  172. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  173. package/dist/esm/fields/Combobox/index.native.js +78 -86
  174. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  175. package/dist/esm/fields/DatePicker/Calendar.mjs +6 -1
  176. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  177. package/dist/esm/fields/DatePicker/Calendar.native.js +6 -1
  178. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  179. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +2 -2
  180. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  181. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +2 -2
  182. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  183. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +15 -12
  184. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  185. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  186. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  187. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +39 -14
  188. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  189. package/dist/esm/fields/DatePicker/MonthPicker.mjs +10 -3
  190. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  191. package/dist/esm/fields/DatePicker/MonthPicker.native.js +10 -3
  192. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  193. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +2 -2
  194. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  195. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +2 -2
  196. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  197. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  198. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  199. package/dist/esm/fields/DatePicker/index.native.js +3 -0
  200. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  201. package/dist/esm/fields/DatePicker/parts.mjs +28 -16
  202. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  203. package/dist/esm/fields/DatePicker/parts.native.js +30 -16
  204. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  205. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  206. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  207. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  208. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  209. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  210. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  211. package/dist/esm/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  212. package/dist/esm/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  213. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  214. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  215. package/dist/esm/fields/Geolocation/geocoder.mjs +33 -0
  216. package/dist/esm/fields/Geolocation/geocoder.mjs.map +1 -0
  217. package/dist/esm/fields/Geolocation/geocoder.native.js +35 -0
  218. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -0
  219. package/dist/esm/fields/Geolocation/index.mjs +792 -149
  220. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  221. package/dist/esm/fields/Geolocation/index.native.js +847 -164
  222. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  223. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  224. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  225. package/dist/esm/fields/Geolocation/nativeSearchFocus.mjs +19 -0
  226. package/dist/esm/fields/Geolocation/nativeSearchFocus.mjs.map +1 -0
  227. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js +19 -0
  228. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  229. package/dist/esm/fields/Icon/drawnSet.mjs +14 -3
  230. package/dist/esm/fields/Icon/drawnSet.mjs.map +1 -1
  231. package/dist/esm/fields/Icon/drawnSet.native.js +18 -3
  232. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  233. package/dist/esm/fields/Icon/index.mjs +93 -18
  234. package/dist/esm/fields/Icon/index.mjs.map +1 -1
  235. package/dist/esm/fields/Icon/index.native.js +106 -22
  236. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  237. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  238. package/dist/esm/fields/Input/index.mjs +5 -12
  239. package/dist/esm/fields/Input/index.mjs.map +1 -1
  240. package/dist/esm/fields/Input/index.native.js +5 -13
  241. package/dist/esm/fields/Input/index.native.js.map +1 -1
  242. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  243. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  244. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  245. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  246. package/dist/esm/fields/PhoneInput/index.mjs +2 -2
  247. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  248. package/dist/esm/fields/PhoneInput/index.native.js +2 -2
  249. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  250. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  251. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  252. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  253. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  254. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  255. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  256. package/dist/esm/fields/SearchInput/index.mjs +9 -10
  257. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  258. package/dist/esm/fields/SearchInput/index.native.js +9 -10
  259. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  260. package/dist/esm/fields/Select/index.mjs +54 -19
  261. package/dist/esm/fields/Select/index.mjs.map +1 -1
  262. package/dist/esm/fields/Select/index.native.js +64 -38
  263. package/dist/esm/fields/Select/index.native.js.map +1 -1
  264. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  265. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  266. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  267. package/dist/esm/fields/Stepper/index.mjs +145 -32
  268. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  269. package/dist/esm/fields/Stepper/index.native.js +152 -32
  270. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  271. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  272. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  273. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  274. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  275. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  276. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  277. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  278. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  279. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  280. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  281. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  282. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  283. package/dist/esm/formSpacing.native.js.map +1 -1
  284. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  285. package/dist/esm/index.mjs +2 -1
  286. package/dist/esm/index.mjs.map +1 -1
  287. package/dist/esm/index.native.js +2 -1
  288. package/dist/esm/index.native.js.map +1 -1
  289. package/dist/esm/requiredMarking.native.js.map +1 -1
  290. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  291. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  292. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  293. package/dist/esm/shared/devWarn.native.js.map +1 -1
  294. package/dist/esm/shared/floatingList.native.js.map +1 -1
  295. package/dist/esm/shared/focusManagement.mjs +24 -11
  296. package/dist/esm/shared/focusManagement.mjs.map +1 -1
  297. package/dist/esm/shared/focusManagement.native.js +24 -11
  298. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  299. package/dist/esm/shared/groupContext.native.js.map +1 -1
  300. package/dist/esm/shared/i18n.native.js.map +1 -1
  301. package/dist/esm/shared/pickerTriggerContract.mjs +13 -0
  302. package/dist/esm/shared/pickerTriggerContract.mjs.map +1 -0
  303. package/dist/esm/shared/pickerTriggerContract.native.js +13 -0
  304. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -0
  305. package/dist/esm/shared/pressSlopProps.mjs +43 -0
  306. package/dist/esm/shared/pressSlopProps.mjs.map +1 -0
  307. package/dist/esm/shared/pressSlopProps.native.js +44 -0
  308. package/dist/esm/shared/pressSlopProps.native.js.map +1 -0
  309. package/dist/esm/shared/t.native.js.map +1 -1
  310. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  311. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  312. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  313. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  314. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  315. package/dist/esm/shared/utils.native.js.map +1 -1
  316. package/dist/esm/shared/zIndex.native.js.map +1 -1
  317. package/dist/esm/themedPrimitives.native.js.map +1 -1
  318. package/dist/esm/types.native.js.map +1 -1
  319. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  320. package/dist/jsx/Button/index.mjs +1 -34
  321. package/dist/jsx/Button/index.mjs.map +1 -1
  322. package/dist/jsx/Button/index.native.js +3 -36
  323. package/dist/jsx/Button/index.native.js.map +1 -1
  324. package/dist/jsx/Chip/index.mjs +1 -1
  325. package/dist/jsx/Chip/index.mjs.map +1 -1
  326. package/dist/jsx/Chip/index.native.js +1 -1
  327. package/dist/jsx/Chip/index.native.js.map +1 -1
  328. package/dist/jsx/ContextualSaveBar/index.mjs +17 -10
  329. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
  330. package/dist/jsx/ContextualSaveBar/index.native.js +18 -10
  331. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  332. package/dist/jsx/FloatingPanel/index.mjs +58 -15
  333. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  334. package/dist/jsx/FloatingPanel/index.native.js +16 -7
  335. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  336. package/dist/jsx/FloatingPanel/nestedAction.mjs +11 -0
  337. package/dist/jsx/FloatingPanel/nestedAction.mjs.map +1 -0
  338. package/dist/jsx/FloatingPanel/nestedAction.native.js +42 -0
  339. package/dist/jsx/FloatingPanel/nestedAction.native.js.map +1 -0
  340. package/dist/jsx/InputParts/index.mjs +12 -8
  341. package/dist/jsx/InputParts/index.mjs.map +1 -1
  342. package/dist/jsx/InputParts/index.native.js +12 -10
  343. package/dist/jsx/InputParts/index.native.js.map +1 -1
  344. package/dist/jsx/Wheel/index.mjs +3 -3
  345. package/dist/jsx/Wheel/index.mjs.map +1 -1
  346. package/dist/jsx/Wheel/index.native.js +3 -3
  347. package/dist/jsx/Wheel/index.native.js.map +1 -1
  348. package/dist/jsx/fieldLayout.mjs +3 -3
  349. package/dist/jsx/fieldLayout.mjs.map +1 -1
  350. package/dist/jsx/fieldLayout.native.js +3 -3
  351. package/dist/jsx/fieldLayout.native.js.map +1 -1
  352. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +8 -1
  353. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  354. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  355. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  356. package/dist/jsx/fields/Combobox/index.mjs +74 -76
  357. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  358. package/dist/jsx/fields/Combobox/index.native.js +78 -86
  359. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  360. package/dist/jsx/fields/DatePicker/Calendar.mjs +6 -1
  361. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  362. package/dist/jsx/fields/DatePicker/Calendar.native.js +6 -1
  363. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  364. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +2 -2
  365. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  366. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +2 -2
  367. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  368. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +15 -12
  369. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  370. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  371. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  372. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +39 -14
  373. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  374. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +10 -3
  375. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  376. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +10 -3
  377. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  378. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +2 -2
  379. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  380. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +2 -2
  381. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  382. package/dist/jsx/fields/DatePicker/index.native.js +3 -0
  383. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  384. package/dist/jsx/fields/DatePicker/parts.mjs +28 -16
  385. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  386. package/dist/jsx/fields/DatePicker/parts.native.js +28 -14
  387. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  388. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  389. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  390. package/dist/jsx/fields/Geolocation/geocoder.mjs +33 -0
  391. package/dist/jsx/fields/Geolocation/geocoder.mjs.map +1 -0
  392. package/dist/jsx/fields/Geolocation/geocoder.native.js +68 -0
  393. package/dist/jsx/fields/Geolocation/geocoder.native.js.map +1 -0
  394. package/dist/jsx/fields/Geolocation/index.mjs +792 -149
  395. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  396. package/dist/jsx/fields/Geolocation/index.native.js +856 -167
  397. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  398. package/dist/jsx/fields/Geolocation/nativeSearchFocus.mjs +19 -0
  399. package/dist/jsx/fields/Geolocation/nativeSearchFocus.mjs.map +1 -0
  400. package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js +47 -0
  401. package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  402. package/dist/jsx/fields/Icon/drawnSet.mjs +14 -3
  403. package/dist/jsx/fields/Icon/drawnSet.mjs.map +1 -1
  404. package/dist/jsx/fields/Icon/drawnSet.native.js +18 -3
  405. package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -1
  406. package/dist/jsx/fields/Icon/index.mjs +93 -18
  407. package/dist/jsx/fields/Icon/index.mjs.map +1 -1
  408. package/dist/jsx/fields/Icon/index.native.js +115 -31
  409. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  410. package/dist/jsx/fields/Input/index.mjs +5 -12
  411. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  412. package/dist/jsx/fields/Input/index.native.js +5 -13
  413. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  414. package/dist/jsx/fields/PhoneInput/index.mjs +2 -2
  415. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  416. package/dist/jsx/fields/PhoneInput/index.native.js +2 -2
  417. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  418. package/dist/jsx/fields/SearchInput/index.mjs +9 -10
  419. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  420. package/dist/jsx/fields/SearchInput/index.native.js +8 -9
  421. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  422. package/dist/jsx/fields/Select/index.mjs +54 -19
  423. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  424. package/dist/jsx/fields/Select/index.native.js +63 -37
  425. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  426. package/dist/jsx/fields/Stepper/index.mjs +145 -32
  427. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  428. package/dist/jsx/fields/Stepper/index.native.js +151 -31
  429. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  430. package/dist/jsx/index.js +2 -1
  431. package/dist/jsx/index.js.map +1 -1
  432. package/dist/jsx/index.mjs +2 -1
  433. package/dist/jsx/index.mjs.map +1 -1
  434. package/dist/jsx/index.native.js +2 -0
  435. package/dist/jsx/index.native.js.map +1 -1
  436. package/dist/jsx/shared/focusManagement.mjs +24 -11
  437. package/dist/jsx/shared/focusManagement.mjs.map +1 -1
  438. package/dist/jsx/shared/focusManagement.native.js +24 -11
  439. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  440. package/dist/jsx/shared/pickerTriggerContract.mjs +13 -0
  441. package/dist/jsx/shared/pickerTriggerContract.mjs.map +1 -0
  442. package/dist/jsx/shared/pickerTriggerContract.native.js +41 -0
  443. package/dist/jsx/shared/pickerTriggerContract.native.js.map +1 -0
  444. package/dist/jsx/shared/pressSlopProps.mjs +43 -0
  445. package/dist/jsx/shared/pressSlopProps.mjs.map +1 -0
  446. package/dist/jsx/shared/pressSlopProps.native.js +72 -0
  447. package/dist/jsx/shared/pressSlopProps.native.js.map +1 -0
  448. package/package.json +8 -7
  449. package/src/Button/Button.labelInk.spec.tsx +21 -18
  450. package/src/Button/Button.outlinedChannel.spec.tsx +46 -0
  451. package/src/Button/Button.sizeLadder.spec.tsx +4 -3
  452. package/src/Button/Button.stories.tsx +20 -0
  453. package/src/Button/index.tsx +26 -39
  454. package/src/Chip/Chip.spec.tsx +3 -1
  455. package/src/Chip/index.tsx +1 -5
  456. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +33 -0
  457. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +19 -0
  458. package/src/ContextualSaveBar/index.tsx +12 -8
  459. package/src/ContextualSaveBar/nativeFlow.spec.tsx +20 -0
  460. package/src/FieldLayout.stories.tsx +41 -0
  461. package/src/FloatingPanel/FloatingPanel.native.spec.tsx +54 -0
  462. package/src/FloatingPanel/FloatingPanel.spec.tsx +109 -0
  463. package/src/FloatingPanel/index.native.tsx +24 -7
  464. package/src/FloatingPanel/index.tsx +80 -13
  465. package/src/FloatingPanel/nestedAction.spec.ts +36 -0
  466. package/src/FloatingPanel/nestedAction.ts +15 -0
  467. package/src/FloatingPanel/panelWidthContract.spec.ts +12 -15
  468. package/src/FormsIntegration.stories.tsx +2 -6
  469. package/src/InputParts/index.tsx +20 -6
  470. package/src/InputParts/layoutGap.spec.tsx +43 -0
  471. package/src/Wheel/Wheel.spec.tsx +16 -0
  472. package/src/Wheel/index.tsx +3 -3
  473. package/src/fieldLayout.spec.tsx +42 -1
  474. package/src/fieldLayout.tsx +9 -9
  475. package/src/fields/Checkbox/CheckboxFieldFrame.spec.tsx +18 -0
  476. package/src/fields/Checkbox/CheckboxFieldFrame.tsx +6 -1
  477. package/src/fields/Combobox/Combobox.spec.tsx +48 -1
  478. package/src/fields/Combobox/index.tsx +90 -80
  479. package/src/fields/DatePicker/Calendar.tsx +4 -1
  480. package/src/fields/DatePicker/DatePicker.stories.tsx +22 -1
  481. package/src/fields/DatePicker/DateRangePicker.tsx +4 -2
  482. package/src/fields/DatePicker/DatetimePicker.catalog.tsx +21 -19
  483. package/src/fields/DatePicker/DatetimePicker.native.spec.tsx +144 -0
  484. package/src/fields/DatePicker/DatetimePicker.native.tsx +57 -32
  485. package/src/fields/DatePicker/DatetimePicker.stories.tsx +22 -0
  486. package/src/fields/DatePicker/MonthPicker.tsx +8 -3
  487. package/src/fields/DatePicker/MultiDatePicker.tsx +4 -2
  488. package/src/fields/DatePicker/index.native.tsx +1 -0
  489. package/src/fields/DatePicker/parts.spec.tsx +56 -0
  490. package/src/fields/DatePicker/parts.tsx +33 -12
  491. package/src/fields/Geolocation/Geolocation.spec.tsx +287 -35
  492. package/src/fields/Geolocation/Geolocation.stories.tsx +141 -7
  493. package/src/fields/Geolocation/GeolocationMap.native.tsx +3 -0
  494. package/src/fields/Geolocation/GeolocationMap.tsx +4 -0
  495. package/src/fields/Geolocation/geocoder.spec.ts +59 -0
  496. package/src/fields/Geolocation/geocoder.ts +84 -0
  497. package/src/fields/Geolocation/geocoderSeam.spec.tsx +203 -0
  498. package/src/fields/Geolocation/index.tsx +912 -180
  499. package/src/fields/Geolocation/nativeSearchFocus.spec.ts +34 -0
  500. package/src/fields/Geolocation/nativeSearchFocus.ts +19 -0
  501. package/src/fields/Geolocation/salvage.spec.tsx +398 -0
  502. package/src/fields/Geolocation/storyProviders.spec.tsx +44 -0
  503. package/src/fields/Icon/Icon.spec.tsx +215 -1
  504. package/src/fields/Icon/Icon.stories.tsx +9 -1
  505. package/src/fields/Icon/drawnSet.tsx +39 -4
  506. package/src/fields/Icon/index.tsx +118 -18
  507. package/src/fields/Input/Input.copy.spec.tsx +1 -0
  508. package/src/fields/Input/Input.spec.tsx +50 -0
  509. package/src/fields/Input/Input.stories.tsx +1 -1
  510. package/src/fields/Input/index.tsx +7 -13
  511. package/src/fields/PhoneInput/index.tsx +2 -2
  512. package/src/fields/SearchInput/SearchInput.spec.tsx +14 -0
  513. package/src/fields/SearchInput/index.tsx +5 -6
  514. package/src/fields/Select/Select.spec.tsx +54 -0
  515. package/src/fields/Select/index.tsx +63 -33
  516. package/src/fields/Stepper/Stepper.spec.tsx +34 -1
  517. package/src/fields/Stepper/index.tsx +193 -33
  518. package/src/fields/pickerActivation.spec.tsx +105 -0
  519. package/src/fields/pickerDensity.spec.tsx +86 -0
  520. package/src/fields/pickerRows.spec.tsx +66 -0
  521. package/src/index.ts +9 -0
  522. package/src/shared/focusManagement.spec.tsx +68 -0
  523. package/src/shared/focusManagement.ts +20 -10
  524. package/src/shared/pickerTriggerContract.ts +13 -0
  525. package/src/shared/pressSlopProps.spec.ts +39 -0
  526. package/src/shared/pressSlopProps.ts +52 -0
  527. package/types/Button/index.d.ts +22 -3
  528. package/types/Button/index.d.ts.map +1 -1
  529. package/types/Chip/index.d.ts.map +1 -1
  530. package/types/ContextualSaveBar/index.d.ts +1 -1
  531. package/types/ContextualSaveBar/index.d.ts.map +1 -1
  532. package/types/FloatingPanel/index.d.ts +11 -1
  533. package/types/FloatingPanel/index.d.ts.map +1 -1
  534. package/types/FloatingPanel/index.native.d.ts +2 -1
  535. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  536. package/types/FloatingPanel/nestedAction.d.ts +13 -0
  537. package/types/FloatingPanel/nestedAction.d.ts.map +1 -0
  538. package/types/InputParts/index.d.ts.map +1 -1
  539. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts +46 -2
  540. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
  541. package/types/fields/Checkbox/index.d.ts +3 -3
  542. package/types/fields/Combobox/index.d.ts +3 -1
  543. package/types/fields/Combobox/index.d.ts.map +1 -1
  544. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  545. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  546. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
  547. package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
  548. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  549. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  550. package/types/fields/DatePicker/index.native.d.ts.map +1 -1
  551. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  552. package/types/fields/Geolocation/GeolocationMap.d.ts +4 -0
  553. package/types/fields/Geolocation/GeolocationMap.d.ts.map +1 -1
  554. package/types/fields/Geolocation/GeolocationMap.native.d.ts +3 -0
  555. package/types/fields/Geolocation/GeolocationMap.native.d.ts.map +1 -1
  556. package/types/fields/Geolocation/geocoder.d.ts +53 -0
  557. package/types/fields/Geolocation/geocoder.d.ts.map +1 -0
  558. package/types/fields/Geolocation/index.d.ts +18 -2
  559. package/types/fields/Geolocation/index.d.ts.map +1 -1
  560. package/types/fields/Geolocation/nativeSearchFocus.d.ts +8 -0
  561. package/types/fields/Geolocation/nativeSearchFocus.d.ts.map +1 -0
  562. package/types/fields/Icon/drawnSet.d.ts.map +1 -1
  563. package/types/fields/Icon/index.d.ts.map +1 -1
  564. package/types/fields/Input/index.d.ts.map +1 -1
  565. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  566. package/types/fields/RadioGroup/index.d.ts +2 -2
  567. package/types/fields/SearchInput/index.d.ts.map +1 -1
  568. package/types/fields/Select/index.d.ts.map +1 -1
  569. package/types/fields/Stepper/index.d.ts.map +1 -1
  570. package/types/fields/ToggleGroup/index.d.ts +1 -1
  571. package/types/index.d.ts +2 -0
  572. package/types/index.d.ts.map +1 -1
  573. package/types/shared/focusManagement.d.ts +2 -2
  574. package/types/shared/focusManagement.d.ts.map +1 -1
  575. package/types/shared/pickerTriggerContract.d.ts +18 -0
  576. package/types/shared/pickerTriggerContract.d.ts.map +1 -0
  577. package/types/shared/pressSlopProps.d.ts +8 -0
  578. package/types/shared/pressSlopProps.d.ts.map +1 -0
  579. package/src/router.d.ts +0 -16
@@ -32,7 +32,9 @@ var import_react3 = require("@floating-ui/react");
32
32
  var import_theme = require("@multiplatform.one/theme");
33
33
  var import_react_native = require("react-native-web");
34
34
  var import_tamagui = require("tamagui");
35
+ var import_Button = require("../../Button/index.cjs");
35
36
  var import_Chip = require("../../Chip/index.cjs");
37
+ var import_pickerTriggerContract = require("../../shared/pickerTriggerContract.cjs");
36
38
  var import_Skeleton = require("../../Skeleton/index.cjs");
37
39
  var import_fieldLayout = require("../../fieldLayout.cjs");
38
40
  var import_InputParts = require("../../InputParts/index.cjs");
@@ -200,7 +202,7 @@ const ComboboxItem = (0, import_react.memo)(function ComboboxItem2({
200
202
  active: isActive,
201
203
  "aria-selected": isSelected,
202
204
  "data-state": isSelected ? "active" : "inactive",
203
- size: ctx.knobProps.sizeToken,
205
+ height: ctx.knobProps.control.height,
204
206
  ...listItemRingProps(Boolean(keyboardRing)),
205
207
  ...(suppressHover ? {
206
208
  hoverStyle: {
@@ -272,6 +274,7 @@ function FloatingComboboxCore({
272
274
  tabIndexOverride,
273
275
  popoverWidth,
274
276
  trigger: triggerRender,
277
+ triggerSizing = "stretch",
275
278
  knobProps,
276
279
  multiple,
277
280
  selectedOrder,
@@ -966,7 +969,7 @@ function FloatingComboboxCore({
966
969
  (0, import_jsx_runtime.jsx)(import_tamagui.View, {
967
970
  ...boxEventProps,
968
971
  "data-testid": "combobox-trigger",
969
- width: "100%",
972
+ width: triggerSizing === "content" ? "auto" : "100%",
970
973
  alignSelf: "stretch",
971
974
  flexShrink: 0,
972
975
  outlineWidth: 0,
@@ -976,7 +979,7 @@ function FloatingComboboxCore({
976
979
  style: {
977
980
  display: "flex",
978
981
  alignItems: "stretch",
979
- width: "100%"
982
+ width: triggerSizing === "content" ? "auto" : "100%"
980
983
  },
981
984
  children: triggerRender(multiple ? selectedOptions : selectedOption, open)
982
985
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_InputParts.Input.Box, {
@@ -986,18 +989,12 @@ function FloatingComboboxCore({
986
989
  disabled,
987
990
  size: knobProps.sizeToken,
988
991
  suppressFocusRing: open && !multiple,
992
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
989
993
  ...(inTableCell ?
990
- // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
991
- {
992
- minHeight: 44
993
- } : {
994
+ // Chromeless in cells.
995
+ {} : {
994
996
  borderRadius: knobProps.borderRadius.borderRadius,
995
- borderWidth: knobProps.borderRadius.borderWidth,
996
- // LC-54 PRESS-FLOOR: compact/small size tokens render a sub-44
997
- // trigger (the 36px "Allocated To" quick filter breaking the
998
- // list's 44px control row) — same floor the house Select holds
999
- // on both its trigger variants.
1000
- minHeight: 44
997
+ borderWidth: knobProps.borderRadius.borderWidth
1001
998
  }),
1002
999
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_floatingList.SyncFocusToOpen, {
1003
1000
  open
@@ -1026,6 +1023,7 @@ function FloatingComboboxCore({
1026
1023
  children: getLabel(v)
1027
1024
  }, v))
1028
1025
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1026
+ ...knobProps.controlType,
1029
1027
  fontFamily: knobProps.body.fontFamily,
1030
1028
  fontWeight: knobProps.body.fontWeight,
1031
1029
  color: selectedOption || !multiple && value && valueLabel ? textColor : import_colorRamps.formCommonColors.muted,
@@ -1033,11 +1031,15 @@ function FloatingComboboxCore({
1033
1031
  userSelect: "none",
1034
1032
  children: selectedOption?.label ?? (!multiple && value && valueLabel ? valueLabel : placeholder)
1035
1033
  })
1036
- }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1037
- paddingInlineEnd: "$1",
1034
+ }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
1035
+ size: knobProps.control.height,
1036
+ chromeless: true,
1037
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
1038
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1039
+ size: 14
1040
+ }),
1038
1041
  alignSelf: "center",
1039
1042
  cursor: "pointer",
1040
- role: "button",
1041
1043
  tabIndex: -1,
1042
1044
  "aria-label": t("Clear"),
1043
1045
  opacity: 0.6,
@@ -1051,10 +1053,7 @@ function FloatingComboboxCore({
1051
1053
  onPress: e => {
1052
1054
  e.stopPropagation?.();
1053
1055
  onValueChange?.("");
1054
- },
1055
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1056
- size: 14
1057
- })
1056
+ }
1058
1057
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1059
1058
  paddingInlineEnd: "$2",
1060
1059
  alignSelf: "center",
@@ -1184,7 +1183,7 @@ function FloatingComboboxCore({
1184
1183
  id: comboboxOptionId(id, createOptionIndex),
1185
1184
  selected: false,
1186
1185
  active: createOptionIndex === activeIndex,
1187
- size: knobProps.sizeToken,
1186
+ height: knobProps.control.height,
1188
1187
  "data-combobox-index": createOptionIndex,
1189
1188
  "data-active": createOptionIndex === activeIndex,
1190
1189
  ...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing),
@@ -1214,7 +1213,7 @@ function FloatingComboboxCore({
1214
1213
  id: comboboxOptionId(id, createOptionIndex),
1215
1214
  selected: false,
1216
1215
  active: createOptionIndex === activeIndex,
1217
- size: knobProps.sizeToken,
1216
+ height: knobProps.control.height,
1218
1217
  "data-combobox-index": createOptionIndex,
1219
1218
  "data-active": createOptionIndex === activeIndex,
1220
1219
  ...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing),
@@ -1283,7 +1282,7 @@ const comboboxSearchHeader = (knobProps, filter, setFilter, searchPlaceholder, t
1283
1282
  alignItems: "center",
1284
1283
  gap: "$2",
1285
1284
  paddingHorizontal: "$3",
1286
- height: knobProps.sizeToken,
1285
+ height: knobProps.control.height,
1287
1286
  borderBottomWidth: 1,
1288
1287
  borderBottomColor: import_colorRamps.formCommonColors.divider,
1289
1288
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.MagnifyingGlassIcon, {
@@ -1334,6 +1333,7 @@ function NativeComboboxCore({
1334
1333
  "aria-label": ariaLabel,
1335
1334
  hasLabel,
1336
1335
  trigger: triggerRender,
1336
+ triggerSizing = "stretch",
1337
1337
  knobProps,
1338
1338
  multiple,
1339
1339
  selectedOrder,
@@ -1605,10 +1605,10 @@ function NativeComboboxCore({
1605
1605
  "data-active": active,
1606
1606
  ...listItemRingProps(active && listKeyboardRing),
1607
1607
  ...(option.description ? {
1608
- minHeight: knobProps.sizeToken,
1608
+ minHeight: knobProps.control.height,
1609
1609
  paddingVertical: "$2"
1610
1610
  } : {
1611
- height: knobProps.sizeToken
1611
+ height: knobProps.control.height
1612
1612
  }),
1613
1613
  onPress: import_tamagui.isWeb ? () => handleSelect(option) : void 0,
1614
1614
  onMouseEnter: () => {
@@ -1675,7 +1675,7 @@ function NativeComboboxCore({
1675
1675
  alignItems: "center",
1676
1676
  gap: "$2",
1677
1677
  paddingHorizontal: "$3",
1678
- height: knobProps.sizeToken,
1678
+ height: knobProps.control.height,
1679
1679
  role: "option",
1680
1680
  id: comboboxOptionId(id, createOptionIndex),
1681
1681
  "data-combobox-index": createOptionIndex,
@@ -1712,7 +1712,7 @@ function NativeComboboxCore({
1712
1712
  alignItems: "center",
1713
1713
  gap: "$2",
1714
1714
  paddingHorizontal: "$3",
1715
- height: knobProps.sizeToken,
1715
+ height: knobProps.control.height,
1716
1716
  role: "option",
1717
1717
  id: comboboxOptionId(id, createOptionIndex),
1718
1718
  "data-combobox-index": createOptionIndex,
@@ -1771,9 +1771,34 @@ function NativeComboboxCore({
1771
1771
  })
1772
1772
  })]
1773
1773
  });
1774
+ const triggerProps = {
1775
+ id,
1776
+ ...(import_tamagui.isWeb ? {
1777
+ role: "combobox",
1778
+ "aria-haspopup": "listbox",
1779
+ "aria-expanded": open,
1780
+ "aria-controls": listboxId,
1781
+ "aria-activedescendant": hideSearch ? activeDescendant : void 0,
1782
+ "aria-autocomplete": hideSearch ? "list" : void 0,
1783
+ "aria-label": ariaLabel ?? (!hasLabel ? placeholder : void 0),
1784
+ "aria-describedby": describedBy,
1785
+ tabIndex: disabled ? -1 : 0
1786
+ } : {
1787
+ importantForAccessibility: "no"
1788
+ }),
1789
+ onPress: import_tamagui.isWeb && !disabled ? () => handleOpenChange(true) : void 0,
1790
+ onKeyDown: event => {
1791
+ if (disabled) return;
1792
+ if (["Enter", " ", "ArrowDown", "ArrowUp", "j", "k"].includes(event.key) || event.code === "Space") {
1793
+ event.preventDefault();
1794
+ setKeyboardNav(true);
1795
+ if (!open) handleOpenChange(true);
1796
+ }
1797
+ }
1798
+ };
1774
1799
  const triggerContent = triggerRender ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1775
1800
  "data-testid": "combobox-trigger",
1776
- width: "100%",
1801
+ width: triggerSizing === "content" ? "auto" : "100%",
1777
1802
  alignSelf: "stretch",
1778
1803
  flexShrink: 0,
1779
1804
  outlineWidth: 0,
@@ -1783,8 +1808,9 @@ function NativeComboboxCore({
1783
1808
  style: {
1784
1809
  display: "flex",
1785
1810
  alignItems: "stretch",
1786
- width: "100%"
1811
+ width: triggerSizing === "content" ? "auto" : "100%"
1787
1812
  },
1813
+ ...triggerProps,
1788
1814
  children: triggerRender(multiple ? selectedOptions : selectedOption, open)
1789
1815
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_InputParts.Input.Box, {
1790
1816
  "data-testid": "combobox-trigger",
@@ -1792,39 +1818,14 @@ function NativeComboboxCore({
1792
1818
  disabled,
1793
1819
  size: knobProps.sizeToken,
1794
1820
  suppressFocusRing: open && !multiple,
1821
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
1795
1822
  ...(inTableCell ?
1796
- // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
1797
- {
1798
- minHeight: 44
1799
- } : {
1823
+ // Chromeless in cells.
1824
+ {} : {
1800
1825
  borderRadius: knobProps.borderRadius.borderRadius,
1801
1826
  borderWidth: knobProps.borderRadius.borderWidth
1802
1827
  }),
1803
- id,
1804
- ...(import_tamagui.isWeb ? {
1805
- role: "combobox",
1806
- "aria-haspopup": "listbox",
1807
- "aria-expanded": open,
1808
- "aria-controls": listboxId,
1809
- "aria-activedescendant": hideSearch ? activeDescendant : void 0,
1810
- "aria-autocomplete": hideSearch ? "list" : void 0,
1811
- // Standalone (no label): fall back to placeholder for the name.
1812
- // Labelled: the sibling Label wires `aria-labelledby` onto this id
1813
- // itself — naming it here too doubles the spoken name.
1814
- "aria-label": ariaLabel ?? (!hasLabel ? placeholder : void 0),
1815
- "aria-describedby": describedBy,
1816
- tabIndex: disabled ? -1 : 0
1817
- } : {
1818
- importantForAccessibility: "no"
1819
- }),
1820
- onPress: import_tamagui.isWeb && !disabled ? () => handleOpenChange(!open) : void 0,
1821
- onKeyDown: e => {
1822
- if (["Enter", " ", "ArrowDown", "ArrowUp", "j", "k"].includes(e.key) || e.code === "Space") {
1823
- e.preventDefault();
1824
- setKeyboardNav(true);
1825
- if (!open) handleOpenChange(true);
1826
- }
1827
- },
1828
+ ...triggerProps,
1828
1829
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1829
1830
  flex: 1,
1830
1831
  paddingHorizontal: "$3",
@@ -1850,30 +1851,13 @@ function NativeComboboxCore({
1850
1851
  children: getLabel(v)
1851
1852
  }, v))
1852
1853
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1854
+ ...knobProps.controlType,
1853
1855
  fontFamily: knobProps.body.fontFamily,
1854
1856
  fontWeight: knobProps.body.fontWeight,
1855
1857
  color: selectedOption || !multiple && value && valueLabel ? textColor : import_colorRamps.formCommonColors.muted,
1856
1858
  numberOfLines: 1,
1857
1859
  children: selectedOption?.label ?? (!multiple && value && valueLabel ? valueLabel : placeholder)
1858
1860
  })
1859
- }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1860
- paddingInlineEnd: "$1",
1861
- alignSelf: "center",
1862
- cursor: "pointer",
1863
- role: "button",
1864
- tabIndex: -1,
1865
- "aria-label": t("Clear"),
1866
- opacity: 0.6,
1867
- hoverStyle: {
1868
- opacity: 1
1869
- },
1870
- onPress: e => {
1871
- e.stopPropagation?.();
1872
- onValueChange?.("");
1873
- },
1874
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1875
- size: 14
1876
- })
1877
1861
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1878
1862
  paddingInlineEnd: "$2",
1879
1863
  alignSelf: "center",
@@ -1890,6 +1874,18 @@ function NativeComboboxCore({
1890
1874
  sheet: true,
1891
1875
  sheetFill: Boolean(onSearch),
1892
1876
  trigger: triggerContent,
1877
+ triggerSizing,
1878
+ triggerEnd: clearable && !multiple && !disabled && typeof value === "string" && value !== "" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
1879
+ size: knobProps.sizeToken,
1880
+ chromeless: true,
1881
+ minWidth: 44,
1882
+ minHeight: 44,
1883
+ "aria-label": t("Clear"),
1884
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1885
+ size: 14
1886
+ }),
1887
+ onPress: () => onValueChange?.("")
1888
+ }) : void 0,
1893
1889
  triggerA11y: {
1894
1890
  label: ariaLabel ?? fieldA11y?.label,
1895
1891
  value: triggerValueText,
@@ -1934,6 +1930,7 @@ function Combobox({
1934
1930
  onLoadMore,
1935
1931
  hasMore,
1936
1932
  trigger,
1933
+ triggerSizing,
1937
1934
  name,
1938
1935
  form: formProp,
1939
1936
  validators,
@@ -2057,6 +2054,7 @@ function Combobox({
2057
2054
  tabIndexOverride: tabIndexProp,
2058
2055
  popoverWidth,
2059
2056
  trigger,
2057
+ triggerSizing,
2060
2058
  knobProps,
2061
2059
  multiple,
2062
2060
  selectedOrder,
@@ -35,7 +35,9 @@ var import_react3 = require("@floating-ui/react");
35
35
  var import_theme = require("@multiplatform.one/theme");
36
36
  var import_react_native = require("react-native");
37
37
  var import_tamagui = require("tamagui");
38
+ var import_Button = require("../../Button/index.native.js");
38
39
  var import_Chip = require("../../Chip/index.native.js");
40
+ var import_pickerTriggerContract = require("../../shared/pickerTriggerContract.native.js");
39
41
  var import_Skeleton = require("../../Skeleton/index.native.js");
40
42
  var import_fieldLayout = require("../../fieldLayout.native.js");
41
43
  var import_InputParts = require("../../InputParts/index.native.js");
@@ -292,7 +294,7 @@ var ComboboxItem = /* @__PURE__ */(0, import_react.memo)(function ComboboxItem2(
292
294
  active: isActive,
293
295
  "aria-selected": isSelected,
294
296
  "data-state": isSelected ? "active" : "inactive",
295
- size: ctx.knobProps.sizeToken,
297
+ height: ctx.knobProps.control.height,
296
298
  ...listItemRingProps(Boolean(keyboardRing)),
297
299
  ...(suppressHover ? {
298
300
  hoverStyle: {
@@ -365,6 +367,7 @@ function FloatingComboboxCore(param) {
365
367
  tabIndexOverride,
366
368
  popoverWidth,
367
369
  trigger: triggerRender,
370
+ triggerSizing = "stretch",
368
371
  knobProps,
369
372
  multiple,
370
373
  selectedOrder,
@@ -1150,7 +1153,7 @@ function FloatingComboboxCore(param) {
1150
1153
  (0, import_jsx_runtime.jsx)(import_tamagui.View, {
1151
1154
  ...boxEventProps,
1152
1155
  "data-testid": "combobox-trigger",
1153
- width: "100%",
1156
+ width: triggerSizing === "content" ? "auto" : "100%",
1154
1157
  alignSelf: "stretch",
1155
1158
  flexShrink: 0,
1156
1159
  outlineWidth: 0,
@@ -1160,7 +1163,7 @@ function FloatingComboboxCore(param) {
1160
1163
  style: {
1161
1164
  display: "flex",
1162
1165
  alignItems: "stretch",
1163
- width: "100%"
1166
+ width: triggerSizing === "content" ? "auto" : "100%"
1164
1167
  },
1165
1168
  children: triggerRender(multiple ? selectedOptions : selectedOption, open)
1166
1169
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_InputParts.Input.Box, {
@@ -1177,18 +1180,12 @@ function FloatingComboboxCore(param) {
1177
1180
  // attaches below instead (MPO-38), leaving the trigger on screen and
1178
1181
  // focusable, so it keeps its ring.
1179
1182
  suppressFocusRing: open && !multiple,
1183
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
1180
1184
  ...(inTableCell ?
1181
- // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
1182
- {
1183
- minHeight: 44
1184
- } : {
1185
+ // Chromeless in cells.
1186
+ {} : {
1185
1187
  borderRadius: knobProps.borderRadius.borderRadius,
1186
- borderWidth: knobProps.borderRadius.borderWidth,
1187
- // LC-54 PRESS-FLOOR: compact/small size tokens render a sub-44
1188
- // trigger (the 36px "Allocated To" quick filter breaking the
1189
- // list's 44px control row) — same floor the house Select holds
1190
- // on both its trigger variants.
1191
- minHeight: 44
1188
+ borderWidth: knobProps.borderRadius.borderWidth
1192
1189
  }),
1193
1190
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_floatingList.SyncFocusToOpen, {
1194
1191
  open
@@ -1222,6 +1219,7 @@ function FloatingComboboxCore(param) {
1222
1219
  }, v);
1223
1220
  })
1224
1221
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
1222
+ ...knobProps.controlType,
1225
1223
  fontFamily: knobProps.body.fontFamily,
1226
1224
  fontWeight: knobProps.body.fontWeight,
1227
1225
  color: selectedOption || !multiple && value && valueLabel ? textColor : import_colorRamps.formCommonColors.muted,
@@ -1229,11 +1227,15 @@ function FloatingComboboxCore(param) {
1229
1227
  userSelect: "none",
1230
1228
  children: (_ref = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref !== void 0 ? _ref : !multiple && value && valueLabel ? valueLabel : placeholder
1231
1229
  })
1232
- }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1233
- paddingInlineEnd: "$1",
1230
+ }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
1231
+ size: knobProps.control.height,
1232
+ chromeless: true,
1233
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
1234
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1235
+ size: 14
1236
+ }),
1234
1237
  alignSelf: "center",
1235
1238
  cursor: "pointer",
1236
- role: "button",
1237
1239
  tabIndex: -1,
1238
1240
  "aria-label": t("Clear"),
1239
1241
  opacity: 0.6,
@@ -1250,10 +1252,7 @@ function FloatingComboboxCore(param) {
1250
1252
  var _e_stopPropagation;
1251
1253
  (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);
1252
1254
  onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
1253
- },
1254
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
1255
- size: 14
1256
- })
1255
+ }
1257
1256
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
1258
1257
  paddingInlineEnd: "$2",
1259
1258
  alignSelf: "center",
@@ -1390,7 +1389,7 @@ function FloatingComboboxCore(param) {
1390
1389
  id: comboboxOptionId(id, createOptionIndex),
1391
1390
  selected: false,
1392
1391
  active: createOptionIndex === activeIndex,
1393
- size: knobProps.sizeToken,
1392
+ height: knobProps.control.height,
1394
1393
  "data-combobox-index": createOptionIndex,
1395
1394
  "data-active": createOptionIndex === activeIndex,
1396
1395
  ...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing),
@@ -1420,7 +1419,7 @@ function FloatingComboboxCore(param) {
1420
1419
  id: comboboxOptionId(id, createOptionIndex),
1421
1420
  selected: false,
1422
1421
  active: createOptionIndex === activeIndex,
1423
- size: knobProps.sizeToken,
1422
+ height: knobProps.control.height,
1424
1423
  "data-combobox-index": createOptionIndex,
1425
1424
  "data-active": createOptionIndex === activeIndex,
1426
1425
  ...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing),
@@ -1490,7 +1489,7 @@ var comboboxSearchHeader = function comboboxSearchHeader2(knobProps, filter, set
1490
1489
  alignItems: "center",
1491
1490
  gap: "$2",
1492
1491
  paddingHorizontal: "$3",
1493
- height: knobProps.sizeToken,
1492
+ height: knobProps.control.height,
1494
1493
  borderBottomWidth: 1,
1495
1494
  borderBottomColor: import_colorRamps.formCommonColors.divider,
1496
1495
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.MagnifyingGlassIcon, {
@@ -1546,6 +1545,7 @@ function NativeComboboxCore(param) {
1546
1545
  "aria-label": ariaLabel,
1547
1546
  hasLabel,
1548
1547
  trigger: triggerRender,
1548
+ triggerSizing = "stretch",
1549
1549
  knobProps,
1550
1550
  multiple,
1551
1551
  selectedOrder,
@@ -1878,10 +1878,10 @@ function NativeComboboxCore(param) {
1878
1878
  "data-active": active,
1879
1879
  ...listItemRingProps(active && listKeyboardRing),
1880
1880
  ...(option.description ? {
1881
- minHeight: knobProps.sizeToken,
1881
+ minHeight: knobProps.control.height,
1882
1882
  paddingVertical: "$2"
1883
1883
  } : {
1884
- height: knobProps.sizeToken
1884
+ height: knobProps.control.height
1885
1885
  }),
1886
1886
  onPress: import_tamagui.isWeb ? function () {
1887
1887
  return handleSelect(option);
@@ -1952,7 +1952,7 @@ function NativeComboboxCore(param) {
1952
1952
  alignItems: "center",
1953
1953
  gap: "$2",
1954
1954
  paddingHorizontal: "$3",
1955
- height: knobProps.sizeToken,
1955
+ height: knobProps.control.height,
1956
1956
  role: "option",
1957
1957
  id: comboboxOptionId(id, createOptionIndex),
1958
1958
  "data-combobox-index": createOptionIndex,
@@ -1989,7 +1989,7 @@ function NativeComboboxCore(param) {
1989
1989
  alignItems: "center",
1990
1990
  gap: "$2",
1991
1991
  paddingHorizontal: "$3",
1992
- height: knobProps.sizeToken,
1992
+ height: knobProps.control.height,
1993
1993
  role: "option",
1994
1994
  id: comboboxOptionId(id, createOptionIndex),
1995
1995
  "data-combobox-index": createOptionIndex,
@@ -2048,9 +2048,36 @@ function NativeComboboxCore(param) {
2048
2048
  })
2049
2049
  })]
2050
2050
  });
2051
+ var triggerProps = {
2052
+ id,
2053
+ ...(import_tamagui.isWeb ? {
2054
+ role: "combobox",
2055
+ "aria-haspopup": "listbox",
2056
+ "aria-expanded": open,
2057
+ "aria-controls": listboxId,
2058
+ "aria-activedescendant": hideSearch ? activeDescendant : void 0,
2059
+ "aria-autocomplete": hideSearch ? "list" : void 0,
2060
+ "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : !hasLabel ? placeholder : void 0,
2061
+ "aria-describedby": describedBy,
2062
+ tabIndex: disabled ? -1 : 0
2063
+ } : {
2064
+ importantForAccessibility: "no"
2065
+ }),
2066
+ onPress: import_tamagui.isWeb && !disabled ? function () {
2067
+ return handleOpenChange(true);
2068
+ } : void 0,
2069
+ onKeyDown: function onKeyDown(event) {
2070
+ if (disabled) return;
2071
+ if (["Enter", " ", "ArrowDown", "ArrowUp", "j", "k"].includes(event.key) || event.code === "Space") {
2072
+ event.preventDefault();
2073
+ setKeyboardNav(true);
2074
+ if (!open) handleOpenChange(true);
2075
+ }
2076
+ }
2077
+ };
2051
2078
  var triggerContent = triggerRender ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
2052
2079
  "data-testid": "combobox-trigger",
2053
- width: "100%",
2080
+ width: triggerSizing === "content" ? "auto" : "100%",
2054
2081
  alignSelf: "stretch",
2055
2082
  flexShrink: 0,
2056
2083
  outlineWidth: 0,
@@ -2060,8 +2087,9 @@ function NativeComboboxCore(param) {
2060
2087
  style: {
2061
2088
  display: "flex",
2062
2089
  alignItems: "stretch",
2063
- width: "100%"
2090
+ width: triggerSizing === "content" ? "auto" : "100%"
2064
2091
  },
2092
+ ...triggerProps,
2065
2093
  children: triggerRender(multiple ? selectedOptions : selectedOption, open)
2066
2094
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_InputParts.Input.Box, {
2067
2095
  "data-testid": "combobox-trigger",
@@ -2075,48 +2103,14 @@ function NativeComboboxCore(param) {
2075
2103
  // paint — it would ghost around the panel's corners. A multi-select
2076
2104
  // panel attaches below instead (MPO-38), so it keeps its ring.
2077
2105
  suppressFocusRing: open && !multiple,
2106
+ ...(0, import_pickerTriggerContract.pickerTriggerContract)(knobProps.control.height),
2078
2107
  ...(inTableCell ?
2079
- // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
2080
- {
2081
- minHeight: 44
2082
- } : {
2108
+ // Chromeless in cells.
2109
+ {} : {
2083
2110
  borderRadius: knobProps.borderRadius.borderRadius,
2084
2111
  borderWidth: knobProps.borderRadius.borderWidth
2085
2112
  }),
2086
- id,
2087
- // Web: the box is the combobox control (ARIA + keyboard). Native:
2088
- // FloatingPanel's trigger Pressable (triggerA11y) is the single
2089
- // accessible node — role/aria props here surface the box as a
2090
- // duplicate TalkBack stop on Android, so exclude it from the tree
2091
- // (descendants stay reachable; "no", not "no-hide-descendants").
2092
- ...(import_tamagui.isWeb ? {
2093
- role: "combobox",
2094
- "aria-haspopup": "listbox",
2095
- "aria-expanded": open,
2096
- "aria-controls": listboxId,
2097
- "aria-activedescendant": hideSearch ? activeDescendant : void 0,
2098
- "aria-autocomplete": hideSearch ? "list" : void 0,
2099
- // Standalone (no label): fall back to placeholder for the name.
2100
- // Labelled: the sibling Label wires `aria-labelledby` onto this id
2101
- // itself — naming it here too doubles the spoken name.
2102
- "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : !hasLabel ? placeholder : void 0,
2103
- "aria-describedby": describedBy,
2104
- tabIndex: disabled ? -1 : 0
2105
- } : {
2106
- importantForAccessibility: "no"
2107
- }),
2108
- // Web: trigger owns toggle. Native: FloatingPanel.native owns open
2109
- // (avoid double-toggle that batches open then immediately closed).
2110
- onPress: import_tamagui.isWeb && !disabled ? function () {
2111
- return handleOpenChange(!open);
2112
- } : void 0,
2113
- onKeyDown: function onKeyDown(e) {
2114
- if (["Enter", " ", "ArrowDown", "ArrowUp", "j", "k"].includes(e.key) || e.code === "Space") {
2115
- e.preventDefault();
2116
- setKeyboardNav(true);
2117
- if (!open) handleOpenChange(true);
2118
- }
2119
- },
2113
+ ...triggerProps,
2120
2114
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
2121
2115
  flex: 1,
2122
2116
  paddingHorizontal: "$3",
@@ -2147,31 +2141,13 @@ function NativeComboboxCore(param) {
2147
2141
  }, v);
2148
2142
  })
2149
2143
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
2144
+ ...knobProps.controlType,
2150
2145
  fontFamily: knobProps.body.fontFamily,
2151
2146
  fontWeight: knobProps.body.fontWeight,
2152
2147
  color: selectedOption || !multiple && value && valueLabel ? textColor : import_colorRamps.formCommonColors.muted,
2153
2148
  numberOfLines: 1,
2154
2149
  children: (_ref1 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref1 !== void 0 ? _ref1 : !multiple && value && valueLabel ? valueLabel : placeholder
2155
2150
  })
2156
- }), clearable && !multiple && !disabled && typeof value === "string" && value !== "" && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
2157
- paddingInlineEnd: "$1",
2158
- alignSelf: "center",
2159
- cursor: "pointer",
2160
- role: "button",
2161
- tabIndex: -1,
2162
- "aria-label": t("Clear"),
2163
- opacity: 0.6,
2164
- hoverStyle: {
2165
- opacity: 1
2166
- },
2167
- onPress: function onPress(e) {
2168
- var _e_stopPropagation;
2169
- (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);
2170
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
2171
- },
2172
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
2173
- size: 14
2174
- })
2175
2151
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
2176
2152
  paddingInlineEnd: "$2",
2177
2153
  alignSelf: "center",
@@ -2190,6 +2166,20 @@ function NativeComboboxCore(param) {
2190
2166
  // the user types, so a content-fit sheet would open as a sliver.
2191
2167
  sheetFill: Boolean(onSearch),
2192
2168
  trigger: triggerContent,
2169
+ triggerSizing,
2170
+ triggerEnd: clearable && !multiple && !disabled && typeof value === "string" && value !== "" ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Button.Button, {
2171
+ size: knobProps.sizeToken,
2172
+ chromeless: true,
2173
+ minWidth: 44,
2174
+ minHeight: 44,
2175
+ "aria-label": t("Clear"),
2176
+ icon: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.XIcon, {
2177
+ size: 14
2178
+ }),
2179
+ onPress: function onPress() {
2180
+ return onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
2181
+ }
2182
+ }) : void 0,
2193
2183
  triggerA11y: {
2194
2184
  label: ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : fieldA11y === null || fieldA11y === void 0 ? void 0 : fieldA11y.label,
2195
2185
  value: triggerValueText,
@@ -2235,6 +2225,7 @@ function Combobox(param) {
2235
2225
  onLoadMore,
2236
2226
  hasMore,
2237
2227
  trigger,
2228
+ triggerSizing,
2238
2229
  name,
2239
2230
  form: formProp,
2240
2231
  validators,
@@ -2367,6 +2358,7 @@ function Combobox(param) {
2367
2358
  tabIndexOverride: tabIndexProp,
2368
2359
  popoverWidth,
2369
2360
  trigger,
2361
+ triggerSizing,
2370
2362
  knobProps,
2371
2363
  multiple,
2372
2364
  selectedOrder,