@multiplatform.one/forms 7.65.2 → 7.67.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 (367) hide show
  1. package/dist/cjs/FloatingPanel/RegularPanel.cjs +164 -0
  2. package/dist/cjs/FloatingPanel/RegularPanel.native.js +169 -0
  3. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -0
  4. package/dist/cjs/FloatingPanel/compactFace.cjs +6 -0
  5. package/dist/cjs/FloatingPanel/compactFace.native.js +6 -0
  6. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  7. package/dist/cjs/FloatingPanel/containingBlock.cjs +46 -0
  8. package/dist/cjs/FloatingPanel/containingBlock.native.js +51 -0
  9. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -0
  10. package/dist/cjs/FloatingPanel/index.cjs +2 -20
  11. package/dist/cjs/FloatingPanel/index.native.js +79 -45
  12. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  13. package/dist/cjs/FloatingPanel/pointAnchor.cjs +25 -0
  14. package/dist/cjs/FloatingPanel/pointAnchor.native.js +26 -0
  15. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  16. package/dist/cjs/FloatingPanel/regularPlacement.cjs +61 -0
  17. package/dist/cjs/FloatingPanel/regularPlacement.native.js +65 -0
  18. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -0
  19. package/dist/cjs/fields/Combobox/index.cjs +8 -10
  20. package/dist/cjs/fields/Combobox/index.native.js +10 -10
  21. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  22. package/dist/cjs/fields/DatePicker/parts.cjs +1 -0
  23. package/dist/cjs/fields/DatePicker/parts.native.js +3 -0
  24. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  25. package/dist/cjs/fields/Input/index.cjs +5 -0
  26. package/dist/cjs/fields/Input/index.native.js +5 -0
  27. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  28. package/dist/cjs/fields/Select/InlineChoices.cjs +3 -2
  29. package/dist/cjs/fields/Select/InlineChoices.native.js +5 -2
  30. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  31. package/dist/cjs/fields/Select/SheetPickerRow.cjs +154 -0
  32. package/dist/cjs/fields/Select/SheetPickerRow.native.js +165 -0
  33. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -0
  34. package/dist/cjs/fields/Select/index.cjs +64 -5
  35. package/dist/cjs/fields/Select/index.native.js +86 -27
  36. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  37. package/dist/cjs/fields/Select/shouldInlineChoices.cjs +14 -1
  38. package/dist/cjs/fields/Select/shouldInlineChoices.native.js +15 -1
  39. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  40. package/dist/cjs/fields/Slider/index.cjs +96 -4
  41. package/dist/cjs/fields/Slider/index.native.js +103 -5
  42. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  43. package/dist/cjs/fields/Switch/index.cjs +71 -1
  44. package/dist/cjs/fields/Switch/index.native.js +72 -1
  45. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  46. package/dist/cjs/fields/TimePicker/parts.cjs +1 -0
  47. package/dist/cjs/fields/TimePicker/parts.native.js +1 -0
  48. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  49. package/dist/cjs/fields/ToggleGroup/index.cjs +67 -1
  50. package/dist/cjs/fields/ToggleGroup/index.native.js +75 -1
  51. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  52. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +34 -19
  53. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +44 -21
  54. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  55. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.cjs +54 -0
  56. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js +57 -0
  57. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  58. package/dist/cjs/index.cjs +11 -0
  59. package/dist/cjs/index.native.js +11 -0
  60. package/dist/cjs/index.native.js.map +1 -1
  61. package/dist/cjs/shared/overlaySizeClass.cjs +42 -0
  62. package/dist/cjs/shared/overlaySizeClass.native.js +45 -0
  63. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -0
  64. package/dist/cjs/shared/sheetNavigation.cjs +76 -0
  65. package/dist/cjs/shared/sheetNavigation.native.js +129 -0
  66. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -0
  67. package/dist/cjs/shared/systemControlModules.cjs +34 -0
  68. package/dist/cjs/shared/systemControlModules.gnome.cjs +34 -0
  69. package/dist/cjs/shared/systemControlModules.gnome.native.js +37 -0
  70. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -0
  71. package/dist/cjs/shared/systemControlModules.native.js +77 -0
  72. package/dist/cjs/shared/systemControlModules.native.js.map +1 -0
  73. package/dist/cjs/shared/systemControls.cjs +47 -0
  74. package/dist/cjs/shared/systemControls.native.js +51 -0
  75. package/dist/cjs/shared/systemControls.native.js.map +1 -0
  76. package/dist/esm/FloatingPanel/RegularPanel.mjs +139 -0
  77. package/dist/esm/FloatingPanel/RegularPanel.mjs.map +1 -0
  78. package/dist/esm/FloatingPanel/RegularPanel.native.js +141 -0
  79. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -0
  80. package/dist/esm/FloatingPanel/compactFace.mjs +5 -1
  81. package/dist/esm/FloatingPanel/compactFace.mjs.map +1 -1
  82. package/dist/esm/FloatingPanel/compactFace.native.js +5 -1
  83. package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
  84. package/dist/esm/FloatingPanel/containingBlock.mjs +21 -0
  85. package/dist/esm/FloatingPanel/containingBlock.mjs.map +1 -0
  86. package/dist/esm/FloatingPanel/containingBlock.native.js +23 -0
  87. package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -0
  88. package/dist/esm/FloatingPanel/index.mjs +1 -19
  89. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  90. package/dist/esm/FloatingPanel/index.native.js +83 -49
  91. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  92. package/dist/esm/FloatingPanel/pointAnchor.mjs +25 -1
  93. package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
  94. package/dist/esm/FloatingPanel/pointAnchor.native.js +26 -1
  95. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  96. package/dist/esm/FloatingPanel/regularPlacement.mjs +35 -0
  97. package/dist/esm/FloatingPanel/regularPlacement.mjs.map +1 -0
  98. package/dist/esm/FloatingPanel/regularPlacement.native.js +36 -0
  99. package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -0
  100. package/dist/esm/fields/Combobox/index.mjs +9 -11
  101. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  102. package/dist/esm/fields/Combobox/index.native.js +11 -11
  103. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  104. package/dist/esm/fields/DatePicker/parts.mjs +1 -0
  105. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  106. package/dist/esm/fields/DatePicker/parts.native.js +3 -0
  107. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  108. package/dist/esm/fields/Input/index.mjs +6 -1
  109. package/dist/esm/fields/Input/index.mjs.map +1 -1
  110. package/dist/esm/fields/Input/index.native.js +6 -1
  111. package/dist/esm/fields/Input/index.native.js.map +1 -1
  112. package/dist/esm/fields/Select/InlineChoices.mjs +3 -2
  113. package/dist/esm/fields/Select/InlineChoices.mjs.map +1 -1
  114. package/dist/esm/fields/Select/InlineChoices.native.js +5 -2
  115. package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
  116. package/dist/esm/fields/Select/SheetPickerRow.mjs +129 -0
  117. package/dist/esm/fields/Select/SheetPickerRow.mjs.map +1 -0
  118. package/dist/esm/fields/Select/SheetPickerRow.native.js +137 -0
  119. package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -0
  120. package/dist/esm/fields/Select/index.mjs +66 -7
  121. package/dist/esm/fields/Select/index.mjs.map +1 -1
  122. package/dist/esm/fields/Select/index.native.js +88 -29
  123. package/dist/esm/fields/Select/index.native.js.map +1 -1
  124. package/dist/esm/fields/Select/shouldInlineChoices.mjs +12 -1
  125. package/dist/esm/fields/Select/shouldInlineChoices.mjs.map +1 -1
  126. package/dist/esm/fields/Select/shouldInlineChoices.native.js +13 -1
  127. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  128. package/dist/esm/fields/Slider/index.mjs +96 -4
  129. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  130. package/dist/esm/fields/Slider/index.native.js +103 -5
  131. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  132. package/dist/esm/fields/Switch/index.mjs +71 -1
  133. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  134. package/dist/esm/fields/Switch/index.native.js +72 -1
  135. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  136. package/dist/esm/fields/TimePicker/parts.mjs +1 -0
  137. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  138. package/dist/esm/fields/TimePicker/parts.native.js +1 -0
  139. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  140. package/dist/esm/fields/ToggleGroup/index.mjs +67 -1
  141. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  142. package/dist/esm/fields/ToggleGroup/index.native.js +75 -1
  143. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  144. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +36 -21
  145. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  146. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +46 -23
  147. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  148. package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs +21 -0
  149. package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -0
  150. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js +21 -0
  151. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  152. package/dist/esm/index.mjs +3 -1
  153. package/dist/esm/index.mjs.map +1 -1
  154. package/dist/esm/index.native.js +3 -1
  155. package/dist/esm/index.native.js.map +1 -1
  156. package/dist/esm/shared/overlaySizeClass.mjs +14 -0
  157. package/dist/esm/shared/overlaySizeClass.mjs.map +1 -0
  158. package/dist/esm/shared/overlaySizeClass.native.js +14 -0
  159. package/dist/esm/shared/overlaySizeClass.native.js.map +1 -0
  160. package/dist/esm/shared/sheetNavigation.mjs +47 -0
  161. package/dist/esm/shared/sheetNavigation.mjs.map +1 -0
  162. package/dist/esm/shared/sheetNavigation.native.js +97 -0
  163. package/dist/esm/shared/sheetNavigation.native.js.map +1 -0
  164. package/dist/esm/shared/systemControlModules.gnome.mjs +8 -0
  165. package/dist/esm/shared/systemControlModules.gnome.mjs.map +1 -0
  166. package/dist/esm/shared/systemControlModules.gnome.native.js +8 -0
  167. package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -0
  168. package/dist/esm/shared/systemControlModules.mjs +8 -0
  169. package/dist/esm/shared/systemControlModules.mjs.map +1 -0
  170. package/dist/esm/shared/systemControlModules.native.js +47 -0
  171. package/dist/esm/shared/systemControlModules.native.js.map +1 -0
  172. package/dist/esm/shared/systemControls.mjs +19 -0
  173. package/dist/esm/shared/systemControls.mjs.map +1 -0
  174. package/dist/esm/shared/systemControls.native.js +20 -0
  175. package/dist/esm/shared/systemControls.native.js.map +1 -0
  176. package/dist/jsx/FloatingPanel/RegularPanel.mjs +139 -0
  177. package/dist/jsx/FloatingPanel/RegularPanel.mjs.map +1 -0
  178. package/dist/jsx/FloatingPanel/RegularPanel.native.js +169 -0
  179. package/dist/jsx/FloatingPanel/RegularPanel.native.js.map +1 -0
  180. package/dist/jsx/FloatingPanel/compactFace.mjs +5 -1
  181. package/dist/jsx/FloatingPanel/compactFace.mjs.map +1 -1
  182. package/dist/jsx/FloatingPanel/compactFace.native.js +6 -0
  183. package/dist/jsx/FloatingPanel/compactFace.native.js.map +1 -1
  184. package/dist/jsx/FloatingPanel/containingBlock.mjs +21 -0
  185. package/dist/jsx/FloatingPanel/containingBlock.mjs.map +1 -0
  186. package/dist/jsx/FloatingPanel/containingBlock.native.js +51 -0
  187. package/dist/jsx/FloatingPanel/containingBlock.native.js.map +1 -0
  188. package/dist/jsx/FloatingPanel/index.mjs +1 -19
  189. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  190. package/dist/jsx/FloatingPanel/index.native.js +79 -45
  191. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  192. package/dist/jsx/FloatingPanel/pointAnchor.mjs +25 -1
  193. package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
  194. package/dist/jsx/FloatingPanel/pointAnchor.native.js +26 -0
  195. package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
  196. package/dist/jsx/FloatingPanel/regularPlacement.mjs +35 -0
  197. package/dist/jsx/FloatingPanel/regularPlacement.mjs.map +1 -0
  198. package/dist/jsx/FloatingPanel/regularPlacement.native.js +65 -0
  199. package/dist/jsx/FloatingPanel/regularPlacement.native.js.map +1 -0
  200. package/dist/jsx/fields/Combobox/index.mjs +9 -11
  201. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  202. package/dist/jsx/fields/Combobox/index.native.js +10 -10
  203. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  204. package/dist/jsx/fields/DatePicker/parts.mjs +1 -0
  205. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  206. package/dist/jsx/fields/DatePicker/parts.native.js +3 -0
  207. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  208. package/dist/jsx/fields/Input/index.mjs +6 -1
  209. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  210. package/dist/jsx/fields/Input/index.native.js +5 -0
  211. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  212. package/dist/jsx/fields/Select/InlineChoices.mjs +3 -2
  213. package/dist/jsx/fields/Select/InlineChoices.mjs.map +1 -1
  214. package/dist/jsx/fields/Select/InlineChoices.native.js +5 -2
  215. package/dist/jsx/fields/Select/InlineChoices.native.js.map +1 -1
  216. package/dist/jsx/fields/Select/SheetPickerRow.mjs +129 -0
  217. package/dist/jsx/fields/Select/SheetPickerRow.mjs.map +1 -0
  218. package/dist/jsx/fields/Select/SheetPickerRow.native.js +165 -0
  219. package/dist/jsx/fields/Select/SheetPickerRow.native.js.map +1 -0
  220. package/dist/jsx/fields/Select/index.mjs +66 -7
  221. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  222. package/dist/jsx/fields/Select/index.native.js +86 -27
  223. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  224. package/dist/jsx/fields/Select/shouldInlineChoices.mjs +12 -1
  225. package/dist/jsx/fields/Select/shouldInlineChoices.mjs.map +1 -1
  226. package/dist/jsx/fields/Select/shouldInlineChoices.native.js +15 -1
  227. package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
  228. package/dist/jsx/fields/Slider/index.mjs +96 -4
  229. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  230. package/dist/jsx/fields/Slider/index.native.js +103 -5
  231. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  232. package/dist/jsx/fields/Switch/index.mjs +71 -1
  233. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  234. package/dist/jsx/fields/Switch/index.native.js +72 -1
  235. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  236. package/dist/jsx/fields/TimePicker/parts.mjs +1 -0
  237. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  238. package/dist/jsx/fields/TimePicker/parts.native.js +1 -0
  239. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  240. package/dist/jsx/fields/ToggleGroup/index.mjs +67 -1
  241. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  242. package/dist/jsx/fields/ToggleGroup/index.native.js +75 -1
  243. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  244. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +36 -21
  245. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  246. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +44 -21
  247. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  248. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs +21 -0
  249. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -0
  250. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js +57 -0
  251. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  252. package/dist/jsx/index.js +3 -1
  253. package/dist/jsx/index.js.map +1 -1
  254. package/dist/jsx/index.mjs +3 -1
  255. package/dist/jsx/index.mjs.map +1 -1
  256. package/dist/jsx/index.native.js +11 -0
  257. package/dist/jsx/index.native.js.map +1 -1
  258. package/dist/jsx/shared/overlaySizeClass.mjs +14 -0
  259. package/dist/jsx/shared/overlaySizeClass.mjs.map +1 -0
  260. package/dist/jsx/shared/overlaySizeClass.native.js +45 -0
  261. package/dist/jsx/shared/overlaySizeClass.native.js.map +1 -0
  262. package/dist/jsx/shared/sheetNavigation.mjs +47 -0
  263. package/dist/jsx/shared/sheetNavigation.mjs.map +1 -0
  264. package/dist/jsx/shared/sheetNavigation.native.js +129 -0
  265. package/dist/jsx/shared/sheetNavigation.native.js.map +1 -0
  266. package/dist/jsx/shared/systemControlModules.gnome.mjs +8 -0
  267. package/dist/jsx/shared/systemControlModules.gnome.mjs.map +1 -0
  268. package/dist/jsx/shared/systemControlModules.gnome.native.js +37 -0
  269. package/dist/jsx/shared/systemControlModules.gnome.native.js.map +1 -0
  270. package/dist/jsx/shared/systemControlModules.mjs +8 -0
  271. package/dist/jsx/shared/systemControlModules.mjs.map +1 -0
  272. package/dist/jsx/shared/systemControlModules.native.js +77 -0
  273. package/dist/jsx/shared/systemControlModules.native.js.map +1 -0
  274. package/dist/jsx/shared/systemControls.mjs +19 -0
  275. package/dist/jsx/shared/systemControls.mjs.map +1 -0
  276. package/dist/jsx/shared/systemControls.native.js +51 -0
  277. package/dist/jsx/shared/systemControls.native.js.map +1 -0
  278. package/package.json +16 -8
  279. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +73 -3
  280. package/src/FloatingPanel/FloatingPanel.regularWidth.native.spec.tsx +193 -0
  281. package/src/FloatingPanel/RegularPanel.tsx +159 -0
  282. package/src/FloatingPanel/compactFace.spec.ts +24 -1
  283. package/src/FloatingPanel/compactFace.ts +16 -0
  284. package/src/FloatingPanel/containingBlock.ts +32 -0
  285. package/src/FloatingPanel/index.native.tsx +80 -35
  286. package/src/FloatingPanel/index.tsx +1 -33
  287. package/src/FloatingPanel/pointAnchor.spec.ts +29 -0
  288. package/src/FloatingPanel/pointAnchor.ts +30 -0
  289. package/src/FloatingPanel/regularPlacement.spec.ts +65 -0
  290. package/src/FloatingPanel/regularPlacement.ts +40 -0
  291. package/src/fields/Combobox/Combobox.regularWidth.native.spec.tsx +94 -0
  292. package/src/fields/Combobox/index.tsx +11 -34
  293. package/src/fields/DatePicker/parts.tsx +3 -0
  294. package/src/fields/DatePicker/touchWeb.spec.tsx +13 -0
  295. package/src/fields/Input/Input.formName.spec.tsx +53 -0
  296. package/src/fields/Input/index.tsx +6 -1
  297. package/src/fields/Select/InlineChoices.tsx +6 -3
  298. package/src/fields/Select/SheetPickerRow.tsx +160 -0
  299. package/src/fields/Select/index.tsx +67 -5
  300. package/src/fields/Select/shouldInlineChoices.spec.ts +21 -1
  301. package/src/fields/Select/shouldInlineChoices.ts +26 -0
  302. package/src/fields/Slider/Slider.system.native.spec.tsx +168 -0
  303. package/src/fields/Slider/index.tsx +166 -30
  304. package/src/fields/Switch/Switch.system.native.spec.tsx +162 -0
  305. package/src/fields/Switch/index.tsx +98 -0
  306. package/src/fields/TimePicker/parts.tsx +1 -0
  307. package/src/fields/ToggleGroup/ToggleGroup.system.native.spec.tsx +192 -0
  308. package/src/fields/ToggleGroup/index.tsx +111 -0
  309. package/src/fields/nativeDateTime/OsDateTimeSheet.presentation.spec.tsx +167 -0
  310. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +36 -18
  311. package/src/fields/nativeDateTime/sheetKeyboard.spec.ts +60 -0
  312. package/src/fields/nativeDateTime/sheetKeyboard.ts +45 -0
  313. package/src/index.ts +15 -0
  314. package/src/shared/overlaySizeClass.spec.ts +27 -0
  315. package/src/shared/overlaySizeClass.ts +36 -0
  316. package/src/shared/sheetNavigation.ts +82 -0
  317. package/src/shared/systemControlModules.gnome.ts +10 -0
  318. package/src/shared/systemControlModules.native.spec.ts +52 -0
  319. package/src/shared/systemControlModules.native.ts +66 -0
  320. package/src/shared/systemControlModules.ts +10 -0
  321. package/src/shared/systemControls.ts +70 -0
  322. package/types/FloatingPanel/RegularPanel.d.ts +29 -0
  323. package/types/FloatingPanel/RegularPanel.d.ts.map +1 -0
  324. package/types/FloatingPanel/compactFace.d.ts +12 -0
  325. package/types/FloatingPanel/compactFace.d.ts.map +1 -1
  326. package/types/FloatingPanel/containingBlock.d.ts +14 -0
  327. package/types/FloatingPanel/containingBlock.d.ts.map +1 -0
  328. package/types/FloatingPanel/index.d.ts.map +1 -1
  329. package/types/FloatingPanel/index.native.d.ts +6 -1
  330. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  331. package/types/FloatingPanel/pointAnchor.d.ts +12 -0
  332. package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
  333. package/types/FloatingPanel/regularPlacement.d.ts +20 -0
  334. package/types/FloatingPanel/regularPlacement.d.ts.map +1 -0
  335. package/types/fields/Combobox/index.d.ts.map +1 -1
  336. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  337. package/types/fields/Input/index.d.ts.map +1 -1
  338. package/types/fields/Select/InlineChoices.d.ts.map +1 -1
  339. package/types/fields/Select/SheetPickerRow.d.ts +23 -0
  340. package/types/fields/Select/SheetPickerRow.d.ts.map +1 -0
  341. package/types/fields/Select/index.d.ts.map +1 -1
  342. package/types/fields/Select/shouldInlineChoices.d.ts +15 -0
  343. package/types/fields/Select/shouldInlineChoices.d.ts.map +1 -1
  344. package/types/fields/Slider/index.d.ts +7 -1
  345. package/types/fields/Slider/index.d.ts.map +1 -1
  346. package/types/fields/Switch/index.d.ts +7 -1
  347. package/types/fields/Switch/index.d.ts.map +1 -1
  348. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  349. package/types/fields/ToggleGroup/index.d.ts +8 -1
  350. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  351. package/types/fields/nativeDateTime/OsDateTimeSheet.d.ts.map +1 -1
  352. package/types/fields/nativeDateTime/sheetKeyboard.d.ts +20 -0
  353. package/types/fields/nativeDateTime/sheetKeyboard.d.ts.map +1 -0
  354. package/types/index.d.ts +4 -0
  355. package/types/index.d.ts.map +1 -1
  356. package/types/shared/overlaySizeClass.d.ts +24 -0
  357. package/types/shared/overlaySizeClass.d.ts.map +1 -0
  358. package/types/shared/sheetNavigation.d.ts +31 -0
  359. package/types/shared/sheetNavigation.d.ts.map +1 -0
  360. package/types/shared/systemControlModules.d.ts +5 -0
  361. package/types/shared/systemControlModules.d.ts.map +1 -0
  362. package/types/shared/systemControlModules.gnome.d.ts +5 -0
  363. package/types/shared/systemControlModules.gnome.d.ts.map +1 -0
  364. package/types/shared/systemControlModules.native.d.ts +20 -0
  365. package/types/shared/systemControlModules.native.d.ts.map +1 -0
  366. package/types/shared/systemControls.d.ts +53 -0
  367. package/types/shared/systemControls.d.ts.map +1 -0
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var SheetPickerRow_exports = {};
26
+ __export(SheetPickerRow_exports, {
27
+ SheetPickerRow: () => SheetPickerRow
28
+ });
29
+ module.exports = __toCommonJS(SheetPickerRow_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_theme = require("@multiplatform.one/theme");
32
+ var import_react = require("@phosphor-icons/react");
33
+ var import_react2 = require("react");
34
+ var import_react_native = require("react-native");
35
+ var import_tamagui = require("tamagui");
36
+ var import_fieldLayout = require("../../fieldLayout.native.js");
37
+ var import_colorRamps = require("../../shared/colorRamps.native.js");
38
+ var import_sheetNavigation = require("../../shared/sheetNavigation.native.js");
39
+ var import_InlineChoices = require("./InlineChoices.native.js");
40
+ var useIsoLayoutEffect = typeof window === "undefined" ? import_react2.useEffect : import_react2.useLayoutEffect;
41
+ function SheetPickerRow(param) {
42
+ var {
43
+ store,
44
+ label,
45
+ options,
46
+ value,
47
+ placeholder,
48
+ onValueChange,
49
+ onBlur,
50
+ disabled,
51
+ id,
52
+ knobProps,
53
+ markColor
54
+ } = param;
55
+ var _ref, _ref1, _ref2;
56
+ var pageId = `sheet-picker-${(0, import_react2.useId)()}`;
57
+ var pushed = (0, import_sheetNavigation.useSheetPageOpen)(store, pageId);
58
+ var describedBy = (0, import_fieldLayout.useFieldDescribedBy)();
59
+ var current = options.find(function (option) {
60
+ return option.value === value;
61
+ });
62
+ var textColor = knobProps.textAccentColor;
63
+ var chevronInk = (0, import_theme.useGlyphColor)("$textMuted");
64
+ var page = {
65
+ id: pageId,
66
+ title: label,
67
+ content: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InlineChoices.InlineChoices, {
68
+ options,
69
+ value,
70
+ onValueChange,
71
+ disabled,
72
+ "aria-label": label,
73
+ knobProps,
74
+ markColor
75
+ })
76
+ };
77
+ useIsoLayoutEffect(function () {
78
+ if (pushed) store.update(page);
79
+ });
80
+ (0, import_react2.useEffect)(function () {
81
+ return function () {
82
+ return store.remove(pageId);
83
+ };
84
+ }, [store, pageId]);
85
+ var open = function open2() {
86
+ if (disabled) return;
87
+ store.push(page);
88
+ };
89
+ var row = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
90
+ alignItems: "center",
91
+ minHeight: knobProps.menuRow.minHeight,
92
+ paddingHorizontal: knobProps.panelPadding.padding,
93
+ ...knobProps.gap,
94
+ pointerEvents: "none",
95
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
96
+ fontFamily: knobProps.body.fontFamily,
97
+ fontWeight: knobProps.body.fontWeight,
98
+ color: textColor,
99
+ numberOfLines: 1,
100
+ flex: 1,
101
+ children: label
102
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
103
+ testID: "sheet-picker-value",
104
+ fontFamily: knobProps.body.fontFamily,
105
+ color: "$textMuted",
106
+ numberOfLines: 1,
107
+ flexShrink: 1,
108
+ children: (_ref = current === null || current === void 0 ? void 0 : current.label) !== null && _ref !== void 0 ? _ref : placeholder
109
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretRightIcon, {
110
+ size: 14,
111
+ weight: "bold",
112
+ color: chevronInk
113
+ })]
114
+ });
115
+ var surface = {
116
+ ...knobProps.borderRadius,
117
+ borderColor: import_colorRamps.formInputColors.border.base,
118
+ backgroundColor: import_colorRamps.formInputColors.background.base,
119
+ overflow: "hidden",
120
+ width: "100%",
121
+ opacity: disabled ? 0.5 : 1
122
+ };
123
+ if (import_tamagui.isWeb) {
124
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
125
+ id,
126
+ role: "button",
127
+ "aria-label": label,
128
+ "aria-describedby": describedBy,
129
+ "aria-disabled": disabled || void 0,
130
+ "data-testid": "sheet-picker-row",
131
+ tabIndex: disabled ? -1 : 0,
132
+ cursor: disabled ? "default" : "pointer",
133
+ onPress: open,
134
+ onKeyDown: function onKeyDown(event) {
135
+ if (event.key === "Enter" || event.key === " ") {
136
+ event.preventDefault();
137
+ open();
138
+ }
139
+ },
140
+ onBlur,
141
+ outlineWidth: 0,
142
+ focusVisibleStyle: import_theme.keyboardFocusRingProps,
143
+ ...surface,
144
+ children: row
145
+ });
146
+ }
147
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
148
+ ...surface,
149
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Pressable, {
150
+ testID: "sheet-picker-row",
151
+ accessibilityRole: "button",
152
+ accessibilityLabel: label,
153
+ accessibilityValue: {
154
+ text: (_ref1 = (_ref2 = current === null || current === void 0 ? void 0 : current.label) !== null && _ref2 !== void 0 ? _ref2 : placeholder) !== null && _ref1 !== void 0 ? _ref1 : ""
155
+ },
156
+ accessibilityState: {
157
+ disabled: !!disabled
158
+ },
159
+ disabled,
160
+ onPress: open,
161
+ children: row
162
+ })
163
+ });
164
+ }
165
+ //# sourceMappingURL=SheetPickerRow.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SheetPickerRow_exports","__export","SheetPickerRow","module","exports","import_jsx_runtime","require","import_theme","import_react","import_react2","import_react_native","import_tamagui","import_fieldLayout","import_colorRamps","import_sheetNavigation","import_InlineChoices","useIsoLayoutEffect","window","useEffect","useLayoutEffect","param","store","label","options","placeholder","onValueChange","onBlur","disabled","id","knobProps","markColor","_ref","_ref1","_ref2","pageId","useId","pushed","useSheetPageOpen","describedBy","useFieldDescribedBy","current","find","option","textColor","textAccentColor","chevronInk","useGlyphColor","page","title","content","jsx","InlineChoices","update","remove","open","open2","push","row","jsxs","XStack","alignItems","minHeight","menuRow","paddingHorizontal","panelPadding","padding","gap","pointerEvents","children","Text","fontFamily","body","fontWeight","color","numberOfLines","flex","testID","flexShrink","CaretRightIcon","size","weight","surface","borderRadius","borderColor","formInputColors","border","base","backgroundColor","background","overflow","width","opacity","isWeb","View","role","tabIndex","cursor","onPress","onKeyDown","event","key","preventDefault","outlineWidth","focusVisibleStyle","keyboardFocusRingProps","Pressable","accessibilityRole","accessibilityLabel","accessibilityValue","text","accessibilityState"],"sources":["../../../../src/fields/Select/SheetPickerRow.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -56,6 +56,7 @@ var import_floatingList = require("../../shared/floatingList.cjs");
56
56
  var import_FloatingPanel = require("../../FloatingPanel/index.cjs");
57
57
  var import_compactFace = require("../../FloatingPanel/compactFace.cjs");
58
58
  var import_PanelPortal = require("../../FloatingPanel/PanelPortal.cjs");
59
+ var import_containingBlock = require("../../FloatingPanel/containingBlock.cjs");
59
60
  var import_overlayStack = require("../../shared/overlayStack.cjs");
60
61
  var import_useDragScroll = require("../../shared/useDragScroll.cjs");
61
62
  var import_tableCellContext = require("../../shared/tableCellContext.cjs");
@@ -63,7 +64,9 @@ var import_t = require("../../shared/t.cjs");
63
64
  var import_selectedOrder = require("../selectedOrder.cjs");
64
65
  var import_nativeSelect = require("../nativeSelect.cjs");
65
66
  var import_InlineChoices = require("./InlineChoices.cjs");
67
+ var import_SheetPickerRow = require("./SheetPickerRow.cjs");
66
68
  var import_shouldInlineChoices = require("./shouldInlineChoices.cjs");
69
+ var import_sheetNavigation = require("../../shared/sheetNavigation.cjs");
67
70
  var import_jsx_runtime = require("react/jsx-runtime");
68
71
  const actionSheetIOS = ReactNative.ActionSheetIOS;
69
72
  const selectOutlineRest = {
@@ -91,7 +94,7 @@ const SelectRow = (0, import_tamagui.styled)(import_tamagui.View, {
91
94
  // LC-262: the accent check alone marks the chosen row, never a grey fill.
92
95
  selected: {
93
96
  true: {
94
- backgroundColor: "transparent",
97
+ ...import_theme2.menuRowChecked,
95
98
  borderRadius: 0
96
99
  },
97
100
  false: {
@@ -380,6 +383,7 @@ function FloatingSelectCore({
380
383
  } = knobProps.elevatedSurface;
381
384
  const hydrationTouch = (0, import_theme.useTouchSurface)();
382
385
  const inTableCell = (0, import_tableCellContext.useIsInTableCell)();
386
+ const beside = (0, import_overlayStack.useInsideOverlay)() && !inTableCell && (0, import_shouldInlineChoices.opensBesideTrigger)(options.length);
383
387
  const describedBy = (0, import_fieldLayout.useFieldDescribedBy)();
384
388
  const glyphColor = (0, import_theme2.useGlyphColor)();
385
389
  const [open, setOpen] = (0, import_react.useState)(false);
@@ -496,7 +500,30 @@ function FloatingSelectCore({
496
500
  const selectedItemIndex = selectedIndex >= 0 ? selectedIndex : 0;
497
501
  const selectedItem = listItemsRef.current[selectedItemIndex];
498
502
  const trigger = panel.triggerRef.current;
499
- if (!dropdownElement || !selectedItem || !trigger) return;
503
+ if (!dropdownElement || !trigger) return;
504
+ if (beside) {
505
+ const isInitial2 = panel.initializingRef.current;
506
+ if (isInitial2) dropdownElement.style.transition = "none";
507
+ const bounds = trigger.getBoundingClientRect();
508
+ const contentHeight = dropdownElement.scrollHeight;
509
+ const below = window.innerHeight - import_FloatingPanel.panelViewportPadding - bounds.bottom;
510
+ const above = bounds.top - import_FloatingPanel.panelViewportPadding;
511
+ const opensUp = contentHeight > below && above > below;
512
+ const maxHeight = Math.min(contentHeight || Infinity, opensUp ? above : below);
513
+ const top2 = (opensUp ? bounds.top - maxHeight : bounds.bottom) - (0, import_containingBlock.fixedContainingBlockOrigin)(dropdownElement).top;
514
+ dropdownElement.style.top = `${top2}px`;
515
+ dropdownElement.style.maxHeight = `${maxHeight}px`;
516
+ dropdownElement.style.height = "";
517
+ overlayStyle.current = {
518
+ top: top2,
519
+ maxHeight
520
+ };
521
+ panel.initializingRef.current = false;
522
+ void dropdownElement.offsetHeight;
523
+ if (isInitial2) dropdownElement.style.transition = panel.panelTransition;
524
+ return;
525
+ }
526
+ if (!selectedItem) return;
500
527
  const isInitial = panel.initializingRef.current;
501
528
  if (isInitial) dropdownElement.style.transition = "none";
502
529
  if (pinnedTopRef.current === 0 && pinnedHeightRef.current === 0) {
@@ -602,7 +629,7 @@ function FloatingSelectCore({
602
629
  });
603
630
  }
604
631
  });
605
- }, [selectedIndex, panel.refs, panel.updateArrows, panel.placement, panel.panelTransition, options.length]);
632
+ }, [selectedIndex, panel.refs, panel.updateArrows, panel.placement, panel.panelTransition, options.length, beside]);
606
633
  repositionRef.current = repositionOverlay;
607
634
  (0, import_react.useLayoutEffect)(() => {
608
635
  if (!open || !panel.mounted) return;
@@ -1245,6 +1272,10 @@ function NativeSelectCore({
1245
1272
  },
1246
1273
  sheet: true,
1247
1274
  compactFace,
1275
+ ...(asMenu && insideOverlay && (0, import_shouldInlineChoices.opensBesideTrigger)(options.length) ? {
1276
+ anchorMode: "attach",
1277
+ triggerEcho: false
1278
+ } : null),
1248
1279
  triggerA11y: {
1249
1280
  label: ariaLabel ?? fieldA11y?.label,
1250
1281
  value: triggerValueText,
@@ -1398,6 +1429,13 @@ function Select({
1398
1429
  multiple,
1399
1430
  options
1400
1431
  });
1432
+ const sheetNavigation = (0, import_sheetNavigation.useSheetNavigation)();
1433
+ const rowLabel = typeof label === "string" ? label : ariaLabel;
1434
+ const pushed = !inline && !inTableCell && Boolean(rowLabel) && (0, import_shouldInlineChoices.shouldPushChoices)({
1435
+ inSheet: Boolean(sheetNavigation),
1436
+ multiple,
1437
+ options
1438
+ });
1401
1439
  if (!inline) {
1402
1440
  (0, import_devWarn.warnSelectTooFewOptions)({
1403
1441
  count: options?.length ?? 0,
@@ -1456,6 +1494,25 @@ function Select({
1456
1494
  };
1457
1495
  const renderSelectContent = (selectValue, handleValueChange, handleBlur) => {
1458
1496
  if (readOnly) return renderReadOnly(selectValue);
1497
+ if (pushed && sheetNavigation) {
1498
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_SheetPickerRow.SheetPickerRow, {
1499
+ store: sheetNavigation,
1500
+ label: rowLabel,
1501
+ options,
1502
+ value: typeof selectValue === "string" ? selectValue : void 0,
1503
+ placeholder,
1504
+ onValueChange: val => {
1505
+ if (disabled) return;
1506
+ handleValueChange?.(val);
1507
+ emitValueChange(val);
1508
+ },
1509
+ onBlur: handleBlur,
1510
+ disabled,
1511
+ id,
1512
+ knobProps,
1513
+ markColor
1514
+ });
1515
+ }
1459
1516
  if (inline) {
1460
1517
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InlineChoices.InlineChoices, {
1461
1518
  options,
@@ -1500,7 +1557,8 @@ function Select({
1500
1557
  if (!resolvedForm || !name) {
1501
1558
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {
1502
1559
  id,
1503
- label,
1560
+ label: pushed ? void 0 : label,
1561
+ "aria-label": pushed ? rowLabel : void 0,
1504
1562
  labelProps,
1505
1563
  error,
1506
1564
  helperText,
@@ -1524,7 +1582,8 @@ function Select({
1524
1582
  const resolvedError = (0, import_utils.getFieldError)(field, error);
1525
1583
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {
1526
1584
  id,
1527
- label,
1585
+ label: pushed ? void 0 : label,
1586
+ "aria-label": pushed ? rowLabel : void 0,
1528
1587
  labelProps,
1529
1588
  error: resolvedError,
1530
1589
  helperText,
@@ -59,6 +59,7 @@ var import_floatingList = require("../../shared/floatingList.native.js");
59
59
  var import_FloatingPanel = require("../../FloatingPanel/index.native.js");
60
60
  var import_compactFace = require("../../FloatingPanel/compactFace.native.js");
61
61
  var import_PanelPortal = require("../../FloatingPanel/PanelPortal.native.js");
62
+ var import_containingBlock = require("../../FloatingPanel/containingBlock.native.js");
62
63
  var import_overlayStack = require("../../shared/overlayStack.native.js");
63
64
  var import_useDragScroll = require("../../shared/useDragScroll.native.js");
64
65
  var import_tableCellContext = require("../../shared/tableCellContext.native.js");
@@ -66,7 +67,9 @@ var import_t = require("../../shared/t.native.js");
66
67
  var import_selectedOrder = require("../selectedOrder.native.js");
67
68
  var import_nativeSelect = require("../nativeSelect.native.js");
68
69
  var import_InlineChoices = require("./InlineChoices.native.js");
70
+ var import_SheetPickerRow = require("./SheetPickerRow.native.js");
69
71
  var import_shouldInlineChoices = require("./shouldInlineChoices.native.js");
72
+ var import_sheetNavigation = require("../../shared/sheetNavigation.native.js");
70
73
  var actionSheetIOS = ReactNative.ActionSheetIOS;
71
74
  var selectOutlineRest = {
72
75
  outlineWidth: 0,
@@ -93,7 +96,7 @@ var SelectRow = (0, import_tamagui.styled)(import_tamagui.View, {
93
96
  // LC-262: the accent check alone marks the chosen row, never a grey fill.
94
97
  selected: {
95
98
  true: {
96
- backgroundColor: "transparent",
99
+ ...import_theme2.menuRowChecked,
97
100
  borderRadius: 0
98
101
  },
99
102
  false: {
@@ -490,6 +493,7 @@ function FloatingSelectCore(param) {
490
493
  } = knobProps.elevatedSurface;
491
494
  var hydrationTouch = (0, import_theme.useTouchSurface)();
492
495
  var inTableCell = (0, import_tableCellContext.useIsInTableCell)();
496
+ var beside = (0, import_overlayStack.useInsideOverlay)() && !inTableCell && (0, import_shouldInlineChoices.opensBesideTrigger)(options.length);
493
497
  var describedBy = (0, import_fieldLayout.useFieldDescribedBy)();
494
498
  var glyphColor = (0, import_theme2.useGlyphColor)();
495
499
  var [open, setOpen] = (0, import_react.useState)(false);
@@ -646,9 +650,32 @@ function FloatingSelectCore(param) {
646
650
  var selectedItemIndex = selectedIndex >= 0 ? selectedIndex : 0;
647
651
  var selectedItem = listItemsRef.current[selectedItemIndex];
648
652
  var trigger = panel.triggerRef.current;
649
- if (!dropdownElement || !selectedItem || !trigger) return;
650
- var isInitial = panel.initializingRef.current;
651
- if (isInitial) dropdownElement.style.transition = "none";
653
+ if (!dropdownElement || !trigger) return;
654
+ if (beside) {
655
+ var isInitial = panel.initializingRef.current;
656
+ if (isInitial) dropdownElement.style.transition = "none";
657
+ var bounds = trigger.getBoundingClientRect();
658
+ var contentHeight = dropdownElement.scrollHeight;
659
+ var below = window.innerHeight - import_FloatingPanel.panelViewportPadding - bounds.bottom;
660
+ var above = bounds.top - import_FloatingPanel.panelViewportPadding;
661
+ var opensUp = contentHeight > below && above > below;
662
+ var maxHeight = Math.min(contentHeight || Infinity, opensUp ? above : below);
663
+ var top = (opensUp ? bounds.top - maxHeight : bounds.bottom) - (0, import_containingBlock.fixedContainingBlockOrigin)(dropdownElement).top;
664
+ dropdownElement.style.top = `${top}px`;
665
+ dropdownElement.style.maxHeight = `${maxHeight}px`;
666
+ dropdownElement.style.height = "";
667
+ overlayStyle.current = {
668
+ top,
669
+ maxHeight
670
+ };
671
+ panel.initializingRef.current = false;
672
+ void dropdownElement.offsetHeight;
673
+ if (isInitial) dropdownElement.style.transition = panel.panelTransition;
674
+ return;
675
+ }
676
+ if (!selectedItem) return;
677
+ var isInitial1 = panel.initializingRef.current;
678
+ if (isInitial1) dropdownElement.style.transition = "none";
652
679
  if (pinnedTopRef.current === 0 && pinnedHeightRef.current === 0) {
653
680
  programmaticScrollRef.current++;
654
681
  dropdownElement.scrollTop = 0;
@@ -678,42 +705,42 @@ function FloatingSelectCore(param) {
678
705
  pinnedTopRef.current = pinnedTop;
679
706
  pinnedHeightRef.current = pinnedHeight;
680
707
  }
681
- var top = pinnedTopRef.current;
708
+ var top1 = pinnedTopRef.current;
682
709
  var height = pinnedHeightRef.current;
683
710
  if (grownRef.current) {
684
- var canGrowDown = Math.max(0, viewportHeight - import_FloatingPanel.panelViewportPadding - (top + height));
711
+ var canGrowDown = Math.max(0, viewportHeight - import_FloatingPanel.panelViewportPadding - (top1 + height));
685
712
  height += canGrowDown;
686
- var canGrowUp = Math.max(0, top - import_FloatingPanel.panelViewportPadding);
687
- top -= canGrowUp;
713
+ var canGrowUp = Math.max(0, top1 - import_FloatingPanel.panelViewportPadding);
714
+ top1 -= canGrowUp;
688
715
  height += canGrowUp;
689
716
  }
690
717
  if (growUpOnlyRef.current) {
691
- var canGrowUp1 = Math.max(0, top - import_FloatingPanel.panelViewportPadding);
692
- top -= canGrowUp1;
718
+ var canGrowUp1 = Math.max(0, top1 - import_FloatingPanel.panelViewportPadding);
719
+ top1 -= canGrowUp1;
693
720
  height += canGrowUp1;
694
721
  }
695
722
  if (growDownOnlyRef.current) {
696
- var canGrowDown1 = Math.max(0, viewportHeight - import_FloatingPanel.panelViewportPadding - (top + height));
723
+ var canGrowDown1 = Math.max(0, viewportHeight - import_FloatingPanel.panelViewportPadding - (top1 + height));
697
724
  height += canGrowDown1;
698
725
  }
699
- height = Math.min(height, viewportHeight - top - import_FloatingPanel.panelViewportPadding);
726
+ height = Math.min(height, viewportHeight - top1 - import_FloatingPanel.panelViewportPadding);
700
727
  height = Math.min(height, totalContentHeight);
701
728
  height = Math.max(120, height);
702
729
  var availableViewport = viewportHeight - 2 * import_FloatingPanel.panelViewportPadding;
703
730
  if ((grownRef.current || growUpOnlyRef.current || growDownOnlyRef.current) && height < availableViewport) {
704
731
  if (panel.placement.startsWith("top")) {
705
- top = import_FloatingPanel.panelViewportPadding;
732
+ top1 = import_FloatingPanel.panelViewportPadding;
706
733
  } else {
707
- top = viewportHeight - import_FloatingPanel.panelViewportPadding - height;
734
+ top1 = viewportHeight - import_FloatingPanel.panelViewportPadding - height;
708
735
  }
709
736
  }
710
737
  var cachedOverlayStyle = overlayStyle.current;
711
- if (!cachedOverlayStyle || cachedOverlayStyle.top !== top || cachedOverlayStyle.maxHeight !== height) {
712
- dropdownElement.style.top = `${top}px`;
738
+ if (!cachedOverlayStyle || cachedOverlayStyle.top !== top1 || cachedOverlayStyle.maxHeight !== height) {
739
+ dropdownElement.style.top = `${top1}px`;
713
740
  dropdownElement.style.maxHeight = `${height}px`;
714
741
  dropdownElement.style.height = "";
715
742
  overlayStyle.current = {
716
- top,
743
+ top: top1,
717
744
  maxHeight: height
718
745
  };
719
746
  void dropdownElement.offsetHeight;
@@ -721,7 +748,7 @@ function FloatingSelectCore(param) {
721
748
  if (!grownRef.current && !growUpOnlyRef.current && !growDownOnlyRef.current) {
722
749
  var maxScrollTop = dropdownElement.scrollHeight - dropdownElement.clientHeight;
723
750
  if (selectedIndex >= 0) {
724
- var neededScroll = top + selectedItem.offsetTop - triggerBounds.top;
751
+ var neededScroll = top1 + selectedItem.offsetTop - triggerBounds.top;
725
752
  var clampedScrollTop = Math.max(0, Math.min(neededScroll, maxScrollTop));
726
753
  if (Math.abs(dropdownElement.scrollTop - clampedScrollTop) > 0.5) {
727
754
  programmaticScrollRef.current++;
@@ -729,14 +756,14 @@ function FloatingSelectCore(param) {
729
756
  }
730
757
  if (Math.abs(neededScroll - clampedScrollTop) > 0.5) {
731
758
  var scrollDeficit = neededScroll - clampedScrollTop;
732
- top -= scrollDeficit;
733
- top = Math.max(import_FloatingPanel.panelViewportPadding, top);
759
+ top1 -= scrollDeficit;
760
+ top1 = Math.max(import_FloatingPanel.panelViewportPadding, top1);
734
761
  var remainingContentHeight = totalContentHeight - clampedScrollTop;
735
- var adjustedMaxHeight = Math.min(remainingContentHeight, viewportHeight - top - import_FloatingPanel.panelViewportPadding);
736
- dropdownElement.style.top = `${top}px`;
762
+ var adjustedMaxHeight = Math.min(remainingContentHeight, viewportHeight - top1 - import_FloatingPanel.panelViewportPadding);
763
+ dropdownElement.style.top = `${top1}px`;
737
764
  dropdownElement.style.maxHeight = `${adjustedMaxHeight}px`;
738
765
  overlayStyle.current = {
739
- top,
766
+ top: top1,
740
767
  maxHeight: adjustedMaxHeight
741
768
  };
742
769
  }
@@ -744,7 +771,7 @@ function FloatingSelectCore(param) {
744
771
  }
745
772
  panel.initializingRef.current = false;
746
773
  void dropdownElement.offsetHeight;
747
- if (isInitial) dropdownElement.style.transition = panel.panelTransition;
774
+ if (isInitial1) dropdownElement.style.transition = panel.panelTransition;
748
775
  requestAnimationFrame(function () {
749
776
  if (dropdownElement) {
750
777
  panel.updateArrows(dropdownElement);
@@ -753,7 +780,7 @@ function FloatingSelectCore(param) {
753
780
  });
754
781
  }
755
782
  });
756
- }, [selectedIndex, panel.refs, panel.updateArrows, panel.placement, panel.panelTransition, options.length]);
783
+ }, [selectedIndex, panel.refs, panel.updateArrows, panel.placement, panel.panelTransition, options.length, beside]);
757
784
  repositionRef.current = repositionOverlay;
758
785
  (0, import_react.useLayoutEffect)(function () {
759
786
  if (!open || !panel.mounted) return;
@@ -1508,6 +1535,10 @@ function NativeSelectCore(param) {
1508
1535
  // A short list opens as a menu over its trigger; a long one keeps its
1509
1536
  // sheet at page level and opens as a menu inside another overlay (FZ-7830).
1510
1537
  compactFace,
1538
+ ...(asMenu && insideOverlay && (0, import_shouldInlineChoices.opensBesideTrigger)(options.length) ? {
1539
+ anchorMode: "attach",
1540
+ triggerEcho: false
1541
+ } : null),
1511
1542
  triggerA11y: {
1512
1543
  label: ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : fieldA11y === null || fieldA11y === void 0 ? void 0 : fieldA11y.label,
1513
1544
  value: triggerValueText,
@@ -1684,6 +1715,13 @@ function Select(param) {
1684
1715
  multiple,
1685
1716
  options
1686
1717
  });
1718
+ var sheetNavigation = (0, import_sheetNavigation.useSheetNavigation)();
1719
+ var rowLabel = typeof label === "string" ? label : ariaLabel;
1720
+ var pushed = !inline && !inTableCell && Boolean(rowLabel) && (0, import_shouldInlineChoices.shouldPushChoices)({
1721
+ inSheet: Boolean(sheetNavigation),
1722
+ multiple,
1723
+ options
1724
+ });
1687
1725
  if (!inline) {
1688
1726
  var _ref1;
1689
1727
  (0, import_devWarn.warnSelectTooFewOptions)({
@@ -1753,6 +1791,25 @@ function Select(param) {
1753
1791
  };
1754
1792
  var renderSelectContent = function renderSelectContent2(selectValue, handleValueChange, handleBlur) {
1755
1793
  if (readOnly) return renderReadOnly(selectValue);
1794
+ if (pushed && sheetNavigation) {
1795
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_SheetPickerRow.SheetPickerRow, {
1796
+ store: sheetNavigation,
1797
+ label: rowLabel,
1798
+ options,
1799
+ value: typeof selectValue === "string" ? selectValue : void 0,
1800
+ placeholder,
1801
+ onValueChange: function onValueChange2(val) {
1802
+ if (disabled) return;
1803
+ handleValueChange === null || handleValueChange === void 0 ? void 0 : handleValueChange(val);
1804
+ emitValueChange(val);
1805
+ },
1806
+ onBlur: handleBlur,
1807
+ disabled,
1808
+ id,
1809
+ knobProps,
1810
+ markColor
1811
+ });
1812
+ }
1756
1813
  if (inline) {
1757
1814
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_InlineChoices.InlineChoices, {
1758
1815
  options,
@@ -1797,7 +1854,8 @@ function Select(param) {
1797
1854
  if (!resolvedForm || !name) {
1798
1855
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {
1799
1856
  id,
1800
- label,
1857
+ label: pushed ? void 0 : label,
1858
+ "aria-label": pushed ? rowLabel : void 0,
1801
1859
  labelProps,
1802
1860
  error,
1803
1861
  helperText,
@@ -1823,7 +1881,8 @@ function Select(param) {
1823
1881
  var resolvedError = (0, import_utils.getFieldError)(field, error);
1824
1882
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_fieldLayout.FieldLayout, {
1825
1883
  id,
1826
- label,
1884
+ label: pushed ? void 0 : label,
1885
+ "aria-label": pushed ? rowLabel : void 0,
1827
1886
  labelProps,
1828
1887
  error: resolvedError,
1829
1888
  helperText,