@multiplatform.one/forms 7.71.0 → 7.73.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 (381) hide show
  1. package/dist/cjs/Button/circleGlyph.cjs +28 -0
  2. package/dist/cjs/Button/circleGlyph.native.js +31 -0
  3. package/dist/cjs/Button/circleGlyph.native.js.map +1 -0
  4. package/dist/cjs/Button/index.cjs +19 -3
  5. package/dist/cjs/Button/index.native.js +19 -3
  6. package/dist/cjs/Button/index.native.js.map +1 -1
  7. package/dist/cjs/FloatingPanel/PanelHeader.cjs +49 -0
  8. package/dist/cjs/FloatingPanel/PanelHeader.native.js +53 -0
  9. package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -0
  10. package/dist/cjs/FloatingPanel/echoContext.cjs +67 -0
  11. package/dist/cjs/FloatingPanel/echoContext.native.js +71 -0
  12. package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -0
  13. package/dist/cjs/FloatingPanel/iconEcho.cjs +104 -0
  14. package/dist/cjs/FloatingPanel/iconEcho.native.js +114 -0
  15. package/dist/cjs/FloatingPanel/iconEcho.native.js.map +1 -0
  16. package/dist/cjs/FloatingPanel/index.cjs +371 -86
  17. package/dist/cjs/FloatingPanel/index.native.js +164 -20
  18. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  19. package/dist/cjs/FloatingPanel/paintedBox.cjs +80 -0
  20. package/dist/cjs/FloatingPanel/paintedBox.native.js +85 -0
  21. package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -0
  22. package/dist/cjs/FloatingPanel/panelWidth.cjs +92 -0
  23. package/dist/cjs/FloatingPanel/panelWidth.native.js +99 -0
  24. package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -0
  25. package/dist/cjs/FloatingPanel/pointAnchor.cjs +34 -5
  26. package/dist/cjs/FloatingPanel/pointAnchor.native.js +37 -8
  27. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  28. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +60 -5
  29. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +72 -5
  30. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  31. package/dist/cjs/InputParts/index.cjs +18 -0
  32. package/dist/cjs/InputParts/index.native.js +19 -1
  33. package/dist/cjs/InputParts/index.native.js.map +1 -1
  34. package/dist/cjs/Wheel/NativeWheel.native.js +1 -1
  35. package/dist/cjs/Wheel/NativeWheel.native.js.map +1 -1
  36. package/dist/cjs/Wheel/index.cjs +2 -1
  37. package/dist/cjs/Wheel/index.native.js +4 -1
  38. package/dist/cjs/Wheel/index.native.js.map +1 -1
  39. package/dist/cjs/Wheel/wheelShared.cjs +6 -1
  40. package/dist/cjs/Wheel/wheelShared.native.js +7 -1
  41. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
  42. package/dist/cjs/fields/Combobox/index.cjs +1 -0
  43. package/dist/cjs/fields/Combobox/index.native.js +1 -0
  44. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  45. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +6 -30
  46. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
  47. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  48. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  49. package/dist/cjs/fields/DatePicker/catalog.cjs +2 -28
  50. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -30
  51. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  52. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  53. package/dist/cjs/fields/DatePicker/parts.cjs +11 -20
  54. package/dist/cjs/fields/DatePicker/parts.native.js +13 -22
  55. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  56. package/dist/cjs/fields/Select/index.cjs +65 -44
  57. package/dist/cjs/fields/Select/index.native.js +69 -47
  58. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  59. package/dist/cjs/fields/Select/shouldInlineChoices.cjs +3 -1
  60. package/dist/cjs/fields/Select/shouldInlineChoices.native.js +3 -1
  61. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  62. package/dist/cjs/fields/TimePicker/catalog.cjs +4 -25
  63. package/dist/cjs/fields/TimePicker/catalog.native.js +7 -29
  64. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  65. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  66. package/dist/cjs/fields/TimePicker/parts.cjs +8 -21
  67. package/dist/cjs/fields/TimePicker/parts.native.js +8 -21
  68. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  69. package/dist/cjs/index.cjs +2 -0
  70. package/dist/cjs/index.native.js +2 -0
  71. package/dist/cjs/index.native.js.map +1 -1
  72. package/dist/cjs/shared/floatingList.cjs +13 -4
  73. package/dist/cjs/shared/floatingList.native.js +15 -4
  74. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  75. package/dist/esm/Button/circleGlyph.mjs +3 -0
  76. package/dist/esm/Button/circleGlyph.mjs.map +1 -0
  77. package/dist/esm/Button/circleGlyph.native.js +3 -0
  78. package/dist/esm/Button/circleGlyph.native.js.map +1 -0
  79. package/dist/esm/Button/index.mjs +18 -2
  80. package/dist/esm/Button/index.mjs.map +1 -1
  81. package/dist/esm/Button/index.native.js +18 -2
  82. package/dist/esm/Button/index.native.js.map +1 -1
  83. package/dist/esm/FloatingPanel/PanelHeader.mjs +24 -0
  84. package/dist/esm/FloatingPanel/PanelHeader.mjs.map +1 -0
  85. package/dist/esm/FloatingPanel/PanelHeader.native.js +25 -0
  86. package/dist/esm/FloatingPanel/PanelHeader.native.js.map +1 -0
  87. package/dist/esm/FloatingPanel/echoContext.mjs +35 -0
  88. package/dist/esm/FloatingPanel/echoContext.mjs.map +1 -0
  89. package/dist/esm/FloatingPanel/echoContext.native.js +36 -0
  90. package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -0
  91. package/dist/esm/FloatingPanel/iconEcho.mjs +77 -0
  92. package/dist/esm/FloatingPanel/iconEcho.mjs.map +1 -0
  93. package/dist/esm/FloatingPanel/iconEcho.native.js +84 -0
  94. package/dist/esm/FloatingPanel/iconEcho.native.js.map +1 -0
  95. package/dist/esm/FloatingPanel/index.mjs +373 -90
  96. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  97. package/dist/esm/FloatingPanel/index.native.js +165 -23
  98. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  99. package/dist/esm/FloatingPanel/paintedBox.mjs +52 -0
  100. package/dist/esm/FloatingPanel/paintedBox.mjs.map +1 -0
  101. package/dist/esm/FloatingPanel/paintedBox.native.js +54 -0
  102. package/dist/esm/FloatingPanel/paintedBox.native.js.map +1 -0
  103. package/dist/esm/FloatingPanel/panelWidth.mjs +63 -0
  104. package/dist/esm/FloatingPanel/panelWidth.mjs.map +1 -0
  105. package/dist/esm/FloatingPanel/panelWidth.native.js +67 -0
  106. package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -0
  107. package/dist/esm/FloatingPanel/pointAnchor.mjs +34 -5
  108. package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
  109. package/dist/esm/FloatingPanel/pointAnchor.native.js +37 -8
  110. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  111. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +60 -6
  112. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  113. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +72 -6
  114. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  115. package/dist/esm/InputParts/index.mjs +19 -1
  116. package/dist/esm/InputParts/index.mjs.map +1 -1
  117. package/dist/esm/InputParts/index.native.js +20 -2
  118. package/dist/esm/InputParts/index.native.js.map +1 -1
  119. package/dist/esm/Wheel/NativeWheel.native.js +1 -1
  120. package/dist/esm/Wheel/NativeWheel.native.js.map +1 -1
  121. package/dist/esm/Wheel/index.mjs +2 -1
  122. package/dist/esm/Wheel/index.mjs.map +1 -1
  123. package/dist/esm/Wheel/index.native.js +4 -1
  124. package/dist/esm/Wheel/index.native.js.map +1 -1
  125. package/dist/esm/Wheel/wheelShared.mjs +6 -1
  126. package/dist/esm/Wheel/wheelShared.mjs.map +1 -1
  127. package/dist/esm/Wheel/wheelShared.native.js +7 -1
  128. package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
  129. package/dist/esm/fields/Combobox/index.mjs +1 -0
  130. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  131. package/dist/esm/fields/Combobox/index.native.js +1 -0
  132. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  133. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
  134. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  135. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
  136. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  137. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  138. package/dist/esm/fields/DatePicker/catalog.mjs +2 -28
  139. package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
  140. package/dist/esm/fields/DatePicker/catalog.native.js +2 -30
  141. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  142. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  143. package/dist/esm/fields/DatePicker/parts.mjs +11 -20
  144. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  145. package/dist/esm/fields/DatePicker/parts.native.js +13 -22
  146. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  147. package/dist/esm/fields/Select/index.mjs +66 -45
  148. package/dist/esm/fields/Select/index.mjs.map +1 -1
  149. package/dist/esm/fields/Select/index.native.js +70 -48
  150. package/dist/esm/fields/Select/index.native.js.map +1 -1
  151. package/dist/esm/fields/Select/shouldInlineChoices.mjs +3 -1
  152. package/dist/esm/fields/Select/shouldInlineChoices.mjs.map +1 -1
  153. package/dist/esm/fields/Select/shouldInlineChoices.native.js +3 -1
  154. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  155. package/dist/esm/fields/TimePicker/catalog.mjs +4 -25
  156. package/dist/esm/fields/TimePicker/catalog.mjs.map +1 -1
  157. package/dist/esm/fields/TimePicker/catalog.native.js +7 -29
  158. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  159. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  160. package/dist/esm/fields/TimePicker/parts.mjs +8 -21
  161. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  162. package/dist/esm/fields/TimePicker/parts.native.js +8 -21
  163. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  164. package/dist/esm/index.mjs +2 -1
  165. package/dist/esm/index.mjs.map +1 -1
  166. package/dist/esm/index.native.js +2 -1
  167. package/dist/esm/index.native.js.map +1 -1
  168. package/dist/esm/shared/floatingList.mjs +14 -5
  169. package/dist/esm/shared/floatingList.mjs.map +1 -1
  170. package/dist/esm/shared/floatingList.native.js +16 -5
  171. package/dist/esm/shared/floatingList.native.js.map +1 -1
  172. package/dist/jsx/Button/circleGlyph.mjs +3 -0
  173. package/dist/jsx/Button/circleGlyph.mjs.map +1 -0
  174. package/dist/jsx/Button/circleGlyph.native.js +31 -0
  175. package/dist/jsx/Button/circleGlyph.native.js.map +1 -0
  176. package/dist/jsx/Button/index.mjs +18 -2
  177. package/dist/jsx/Button/index.mjs.map +1 -1
  178. package/dist/jsx/Button/index.native.js +19 -3
  179. package/dist/jsx/Button/index.native.js.map +1 -1
  180. package/dist/jsx/FloatingPanel/PanelHeader.mjs +24 -0
  181. package/dist/jsx/FloatingPanel/PanelHeader.mjs.map +1 -0
  182. package/dist/jsx/FloatingPanel/PanelHeader.native.js +53 -0
  183. package/dist/jsx/FloatingPanel/PanelHeader.native.js.map +1 -0
  184. package/dist/jsx/FloatingPanel/echoContext.mjs +35 -0
  185. package/dist/jsx/FloatingPanel/echoContext.mjs.map +1 -0
  186. package/dist/jsx/FloatingPanel/echoContext.native.js +71 -0
  187. package/dist/jsx/FloatingPanel/echoContext.native.js.map +1 -0
  188. package/dist/jsx/FloatingPanel/iconEcho.mjs +77 -0
  189. package/dist/jsx/FloatingPanel/iconEcho.mjs.map +1 -0
  190. package/dist/jsx/FloatingPanel/iconEcho.native.js +114 -0
  191. package/dist/jsx/FloatingPanel/iconEcho.native.js.map +1 -0
  192. package/dist/jsx/FloatingPanel/index.mjs +373 -90
  193. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  194. package/dist/jsx/FloatingPanel/index.native.js +164 -20
  195. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  196. package/dist/jsx/FloatingPanel/paintedBox.mjs +52 -0
  197. package/dist/jsx/FloatingPanel/paintedBox.mjs.map +1 -0
  198. package/dist/jsx/FloatingPanel/paintedBox.native.js +85 -0
  199. package/dist/jsx/FloatingPanel/paintedBox.native.js.map +1 -0
  200. package/dist/jsx/FloatingPanel/panelWidth.mjs +63 -0
  201. package/dist/jsx/FloatingPanel/panelWidth.mjs.map +1 -0
  202. package/dist/jsx/FloatingPanel/panelWidth.native.js +99 -0
  203. package/dist/jsx/FloatingPanel/panelWidth.native.js.map +1 -0
  204. package/dist/jsx/FloatingPanel/pointAnchor.mjs +34 -5
  205. package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
  206. package/dist/jsx/FloatingPanel/pointAnchor.native.js +37 -8
  207. package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
  208. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +60 -6
  209. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  210. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +72 -5
  211. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  212. package/dist/jsx/InputParts/index.mjs +19 -1
  213. package/dist/jsx/InputParts/index.mjs.map +1 -1
  214. package/dist/jsx/InputParts/index.native.js +19 -1
  215. package/dist/jsx/InputParts/index.native.js.map +1 -1
  216. package/dist/jsx/Wheel/NativeWheel.native.js +1 -1
  217. package/dist/jsx/Wheel/NativeWheel.native.js.map +1 -1
  218. package/dist/jsx/Wheel/index.mjs +2 -1
  219. package/dist/jsx/Wheel/index.mjs.map +1 -1
  220. package/dist/jsx/Wheel/index.native.js +4 -1
  221. package/dist/jsx/Wheel/index.native.js.map +1 -1
  222. package/dist/jsx/Wheel/wheelShared.mjs +6 -1
  223. package/dist/jsx/Wheel/wheelShared.mjs.map +1 -1
  224. package/dist/jsx/Wheel/wheelShared.native.js +7 -1
  225. package/dist/jsx/Wheel/wheelShared.native.js.map +1 -1
  226. package/dist/jsx/fields/Combobox/index.mjs +1 -0
  227. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  228. package/dist/jsx/fields/Combobox/index.native.js +1 -0
  229. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  230. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
  231. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  232. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
  233. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  234. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  235. package/dist/jsx/fields/DatePicker/catalog.mjs +2 -28
  236. package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
  237. package/dist/jsx/fields/DatePicker/catalog.native.js +2 -30
  238. package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
  239. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  240. package/dist/jsx/fields/DatePicker/parts.mjs +11 -20
  241. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  242. package/dist/jsx/fields/DatePicker/parts.native.js +13 -22
  243. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  244. package/dist/jsx/fields/Select/index.mjs +66 -45
  245. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  246. package/dist/jsx/fields/Select/index.native.js +69 -47
  247. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  248. package/dist/jsx/fields/Select/shouldInlineChoices.mjs +3 -1
  249. package/dist/jsx/fields/Select/shouldInlineChoices.mjs.map +1 -1
  250. package/dist/jsx/fields/Select/shouldInlineChoices.native.js +3 -1
  251. package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
  252. package/dist/jsx/fields/TimePicker/catalog.mjs +4 -25
  253. package/dist/jsx/fields/TimePicker/catalog.mjs.map +1 -1
  254. package/dist/jsx/fields/TimePicker/catalog.native.js +7 -29
  255. package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
  256. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  257. package/dist/jsx/fields/TimePicker/parts.mjs +8 -21
  258. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  259. package/dist/jsx/fields/TimePicker/parts.native.js +8 -21
  260. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  261. package/dist/jsx/index.js +2 -1
  262. package/dist/jsx/index.js.map +1 -1
  263. package/dist/jsx/index.mjs +2 -1
  264. package/dist/jsx/index.mjs.map +1 -1
  265. package/dist/jsx/index.native.js +2 -0
  266. package/dist/jsx/index.native.js.map +1 -1
  267. package/dist/jsx/shared/floatingList.mjs +14 -5
  268. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  269. package/dist/jsx/shared/floatingList.native.js +15 -4
  270. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  271. package/package.json +8 -8
  272. package/src/Button/circleGlyph.ts +6 -0
  273. package/src/Button/index.tsx +25 -7
  274. package/src/FloatingPanel/FloatingPanel.echoStretch.spec.tsx +67 -0
  275. package/src/FloatingPanel/FloatingPanel.iconEcho.spec.tsx +297 -0
  276. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +280 -3
  277. package/src/FloatingPanel/FloatingPanel.seamlessCover.spec.tsx +237 -0
  278. package/src/FloatingPanel/PanelHeader.tsx +26 -0
  279. package/src/FloatingPanel/echoContext.ts +67 -0
  280. package/src/FloatingPanel/iconEcho.tsx +118 -0
  281. package/src/FloatingPanel/index.native.tsx +220 -12
  282. package/src/FloatingPanel/index.tsx +539 -109
  283. package/src/FloatingPanel/paintedBox.spec.ts +95 -0
  284. package/src/FloatingPanel/paintedBox.ts +75 -0
  285. package/src/FloatingPanel/panelWidth.spec.ts +158 -0
  286. package/src/FloatingPanel/panelWidth.ts +122 -0
  287. package/src/FloatingPanel/panelWidthContract.spec.ts +10 -10
  288. package/src/FloatingPanel/pointAnchor.spec.ts +111 -2
  289. package/src/FloatingPanel/pointAnchor.ts +56 -3
  290. package/src/FloatingPanel/useFloatingPanel.spec.tsx +124 -4
  291. package/src/FloatingPanel/useFloatingPanel.ts +112 -34
  292. package/src/InputParts/index.tsx +26 -0
  293. package/src/Wheel/NativeWheel.native.tsx +1 -1
  294. package/src/Wheel/Wheel.spec.tsx +9 -0
  295. package/src/Wheel/index.tsx +12 -3
  296. package/src/Wheel/wheelShared.ts +6 -2
  297. package/src/fields/Combobox/index.tsx +1 -0
  298. package/src/fields/DatePicker/DatePicker.stories.tsx +3 -3
  299. package/src/fields/DatePicker/DatetimePicker.catalog.tsx +17 -45
  300. package/src/fields/DatePicker/DatetimePicker.native.tsx +3 -0
  301. package/src/fields/DatePicker/catalog.tsx +8 -39
  302. package/src/fields/DatePicker/index.native.tsx +3 -0
  303. package/src/fields/DatePicker/parts.tsx +13 -23
  304. package/src/fields/DatePicker/seamlessCover.spec.tsx +180 -0
  305. package/src/fields/DatePicker/touchWeb.spec.tsx +109 -167
  306. package/src/fields/Select/Select.containingBlock.spec.tsx +191 -0
  307. package/src/fields/Select/Select.stories.tsx +43 -0
  308. package/src/fields/Select/index.tsx +109 -45
  309. package/src/fields/Select/shouldInlineChoices.spec.ts +13 -0
  310. package/src/fields/Select/shouldInlineChoices.ts +6 -0
  311. package/src/fields/TimePicker/catalog.tsx +12 -33
  312. package/src/fields/TimePicker/index.native.tsx +2 -0
  313. package/src/fields/TimePicker/parts.tsx +6 -20
  314. package/src/index.ts +3 -0
  315. package/src/shared/floatingList.tsx +21 -5
  316. package/types/Button/circleGlyph.d.ts +7 -0
  317. package/types/Button/circleGlyph.d.ts.map +1 -0
  318. package/types/Button/index.d.ts +2 -6
  319. package/types/Button/index.d.ts.map +1 -1
  320. package/types/FloatingPanel/PanelHeader.d.ts +9 -0
  321. package/types/FloatingPanel/PanelHeader.d.ts.map +1 -0
  322. package/types/FloatingPanel/echoContext.d.ts +38 -0
  323. package/types/FloatingPanel/echoContext.d.ts.map +1 -0
  324. package/types/FloatingPanel/iconEcho.d.ts +29 -0
  325. package/types/FloatingPanel/iconEcho.d.ts.map +1 -0
  326. package/types/FloatingPanel/index.d.ts +69 -0
  327. package/types/FloatingPanel/index.d.ts.map +1 -1
  328. package/types/FloatingPanel/index.native.d.ts +9 -1
  329. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  330. package/types/FloatingPanel/paintedBox.d.ts +29 -0
  331. package/types/FloatingPanel/paintedBox.d.ts.map +1 -0
  332. package/types/FloatingPanel/panelWidth.d.ts +71 -0
  333. package/types/FloatingPanel/panelWidth.d.ts.map +1 -0
  334. package/types/FloatingPanel/pointAnchor.d.ts +17 -1
  335. package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
  336. package/types/FloatingPanel/useFloatingPanel.d.ts +33 -2
  337. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  338. package/types/InputParts/index.d.ts.map +1 -1
  339. package/types/Wheel/index.d.ts.map +1 -1
  340. package/types/Wheel/wheelShared.d.ts +2 -1
  341. package/types/Wheel/wheelShared.d.ts.map +1 -1
  342. package/types/fields/Combobox/index.d.ts.map +1 -1
  343. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +6 -0
  344. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
  345. package/types/fields/DatePicker/DatetimePicker.native.d.ts +3 -0
  346. package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
  347. package/types/fields/DatePicker/catalog.d.ts +6 -0
  348. package/types/fields/DatePicker/catalog.d.ts.map +1 -1
  349. package/types/fields/DatePicker/index.native.d.ts +3 -0
  350. package/types/fields/DatePicker/index.native.d.ts.map +1 -1
  351. package/types/fields/DatePicker/parts.d.ts +5 -7
  352. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  353. package/types/fields/Select/index.d.ts +8 -1
  354. package/types/fields/Select/index.d.ts.map +1 -1
  355. package/types/fields/Select/shouldInlineChoices.d.ts +5 -1
  356. package/types/fields/Select/shouldInlineChoices.d.ts.map +1 -1
  357. package/types/fields/TimePicker/catalog.d.ts +7 -1
  358. package/types/fields/TimePicker/catalog.d.ts.map +1 -1
  359. package/types/fields/TimePicker/index.native.d.ts +2 -0
  360. package/types/fields/TimePicker/index.native.d.ts.map +1 -1
  361. package/types/fields/TimePicker/parts.d.ts +1 -3
  362. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  363. package/types/index.d.ts +3 -0
  364. package/types/index.d.ts.map +1 -1
  365. package/types/shared/floatingList.d.ts +5 -1
  366. package/types/shared/floatingList.d.ts.map +1 -1
  367. package/dist/cjs/shared/touchWebPicker.cjs +0 -136
  368. package/dist/cjs/shared/touchWebPicker.native.js +0 -154
  369. package/dist/cjs/shared/touchWebPicker.native.js.map +0 -1
  370. package/dist/esm/shared/touchWebPicker.mjs +0 -105
  371. package/dist/esm/shared/touchWebPicker.mjs.map +0 -1
  372. package/dist/esm/shared/touchWebPicker.native.js +0 -120
  373. package/dist/esm/shared/touchWebPicker.native.js.map +0 -1
  374. package/dist/jsx/shared/touchWebPicker.mjs +0 -105
  375. package/dist/jsx/shared/touchWebPicker.mjs.map +0 -1
  376. package/dist/jsx/shared/touchWebPicker.native.js +0 -154
  377. package/dist/jsx/shared/touchWebPicker.native.js.map +0 -1
  378. package/src/shared/touchWebPicker.spec.ts +0 -98
  379. package/src/shared/touchWebPicker.tsx +0 -158
  380. package/types/shared/touchWebPicker.d.ts +0 -40
  381. package/types/shared/touchWebPicker.d.ts.map +0 -1
@@ -0,0 +1,85 @@
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 paintedBox_exports = {};
26
+ __export(paintedBox_exports, {
27
+ GROUP_SURFACE_SELECTOR: () => GROUP_SURFACE_SELECTOR,
28
+ PAINTED_BOX_REACH: () => PAINTED_BOX_REACH,
29
+ groupSurfaceOf: () => groupSurfaceOf,
30
+ paintedTriggerBox: () => paintedTriggerBox
31
+ });
32
+ module.exports = __toCommonJS(paintedBox_exports);
33
+ var PAINTED_BOX_REACH = 12;
34
+ function inFlowChildren(element) {
35
+ return Array.from(element.children).filter(function (child) {
36
+ var style = getComputedStyle(child);
37
+ return style.display !== "none" && style.position !== "absolute" && style.position !== "fixed";
38
+ });
39
+ }
40
+ function paintedTriggerBox(reference, layout) {
41
+ var box = {
42
+ left: layout.left,
43
+ top: layout.top,
44
+ right: layout.right,
45
+ bottom: layout.bottom
46
+ };
47
+ var take = function take2(rect) {
48
+ if (rect.width <= 0 || rect.height <= 0) return true;
49
+ var next = {
50
+ left: Math.min(box.left, rect.left),
51
+ top: Math.min(box.top, rect.top),
52
+ right: Math.max(box.right, rect.right),
53
+ bottom: Math.max(box.bottom, rect.bottom)
54
+ };
55
+ if (layout.left - next.left > PAINTED_BOX_REACH || layout.top - next.top > PAINTED_BOX_REACH || next.right - layout.right > PAINTED_BOX_REACH || next.bottom - layout.bottom > PAINTED_BOX_REACH) {
56
+ return false;
57
+ }
58
+ Object.assign(box, next);
59
+ return true;
60
+ };
61
+ var inner = reference;
62
+ while (inner) {
63
+ var children = inFlowChildren(inner);
64
+ if (children.length !== 1) break;
65
+ inner = children[0];
66
+ if (!take(inner.getBoundingClientRect())) break;
67
+ }
68
+ var outer = reference.parentElement;
69
+ var child = reference;
70
+ while (outer && outer.tagName !== "BODY") {
71
+ var children1 = inFlowChildren(outer);
72
+ if (children1.length !== 1 || children1[0] !== child) break;
73
+ if (!take(outer.getBoundingClientRect())) break;
74
+ child = outer;
75
+ outer = outer.parentElement;
76
+ }
77
+ return box;
78
+ }
79
+ var GROUP_SURFACE_SELECTOR = "[data-fp-cover-surface], [data-mp-glass-capsule]";
80
+ function groupSurfaceOf(reference) {
81
+ var _ref;
82
+ var _reference_parentElement;
83
+ return (_ref = (_reference_parentElement = reference.parentElement) === null || _reference_parentElement === void 0 ? void 0 : _reference_parentElement.closest(GROUP_SURFACE_SELECTOR)) !== null && _ref !== void 0 ? _ref : null;
84
+ }
85
+ //# sourceMappingURL=paintedBox.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","paintedBox_exports","GROUP_SURFACE_SELECTOR","PAINTED_BOX_REACH","groupSurfaceOf","paintedTriggerBox","module","exports","inFlowChildren","element","Array","children","filter","child","style","getComputedStyle","display","position","reference","layout","box","left","top","right","bottom","take","take2","rect","width","height","next","Math","min","max","assign","inner","length","getBoundingClientRect","outer","parentElement","tagName","children1","_ref","_reference_parentElement","closest"],"sources":["paintedBox.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar paintedBox_exports = {};\n__export(paintedBox_exports, {\n GROUP_SURFACE_SELECTOR: () => GROUP_SURFACE_SELECTOR,\n PAINTED_BOX_REACH: () => PAINTED_BOX_REACH,\n groupSurfaceOf: () => groupSurfaceOf,\n paintedTriggerBox: () => paintedTriggerBox\n});\nmodule.exports = __toCommonJS(paintedBox_exports);\nvar PAINTED_BOX_REACH = 12;\nfunction inFlowChildren(element) {\n return Array.from(element.children).filter(function(child) {\n var style = getComputedStyle(child);\n return style.display !== \"none\" && style.position !== \"absolute\" && style.position !== \"fixed\";\n });\n}\nfunction paintedTriggerBox(reference, layout) {\n var box = {\n left: layout.left,\n top: layout.top,\n right: layout.right,\n bottom: layout.bottom\n };\n var take = function take2(rect) {\n if (rect.width <= 0 || rect.height <= 0) return true;\n var next = {\n left: Math.min(box.left, rect.left),\n top: Math.min(box.top, rect.top),\n right: Math.max(box.right, rect.right),\n bottom: Math.max(box.bottom, rect.bottom)\n };\n if (layout.left - next.left > PAINTED_BOX_REACH || layout.top - next.top > PAINTED_BOX_REACH || next.right - layout.right > PAINTED_BOX_REACH || next.bottom - layout.bottom > PAINTED_BOX_REACH) {\n return false;\n }\n Object.assign(box, next);\n return true;\n };\n var inner = reference;\n while (inner) {\n var children = inFlowChildren(inner);\n if (children.length !== 1) break;\n inner = children[0];\n if (!take(inner.getBoundingClientRect())) break;\n }\n var outer = reference.parentElement;\n var child = reference;\n while (outer && outer.tagName !== \"BODY\") {\n var children1 = inFlowChildren(outer);\n if (children1.length !== 1 || children1[0] !== child) break;\n if (!take(outer.getBoundingClientRect())) break;\n child = outer;\n outer = outer.parentElement;\n }\n return box;\n}\nvar GROUP_SURFACE_SELECTOR = \"[data-fp-cover-surface], [data-mp-glass-capsule]\";\nfunction groupSurfaceOf(reference) {\n var _ref;\n var _reference_parentElement;\n return (_ref = (_reference_parentElement = reference.parentElement) === null || _reference_parentElement === void 0 ? void 0 : _reference_parentElement.closest(GROUP_SURFACE_SELECTOR)) !== null && _ref !== void 0 ? _ref : null;\n}\n//# sourceMappingURL=paintedBox.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var panelWidth_exports = {};
24
+ __export(panelWidth_exports, {
25
+ echoOffset: () => echoOffset,
26
+ panelLeftForWidth: () => panelLeftForWidth,
27
+ panelWidthBox: () => panelWidthBox,
28
+ screenBounds: () => screenBounds,
29
+ slidesAlongScreen: () => slidesAlongScreen
30
+ });
31
+ module.exports = __toCommonJS(panelWidth_exports);
32
+ function panelWidthBox(panelWidth, {
33
+ trigger,
34
+ available,
35
+ echo,
36
+ floor = 0
37
+ }) {
38
+ const room = Math.max(0, available);
39
+ const pinned = width => {
40
+ const w = Math.max(0, Math.min(width, room));
41
+ return {
42
+ minWidth: w,
43
+ width: w,
44
+ maxWidth: w
45
+ };
46
+ };
47
+ if (panelWidth === "trigger") return pinned(trigger);
48
+ if (panelWidth === "screen") return pinned(room);
49
+ if (typeof panelWidth === "number") return pinned(panelWidth);
50
+ return {
51
+ minWidth: Math.min(Math.max(echo ? trigger : 0, floor), room),
52
+ maxWidth: room
53
+ };
54
+ }
55
+ function panelLeftForWidth({
56
+ triggerLeft,
57
+ triggerRight,
58
+ width,
59
+ boundsLeft,
60
+ boundsRight,
61
+ rtl = false
62
+ }) {
63
+ const want = rtl ? triggerRight - width : triggerLeft;
64
+ return Math.max(boundsLeft, Math.min(want, boundsRight - width));
65
+ }
66
+ function echoOffset({
67
+ triggerLeft,
68
+ triggerRight,
69
+ panelLeft,
70
+ panelWidth,
71
+ rtl = false
72
+ }) {
73
+ return rtl ? panelLeft + panelWidth - triggerRight : triggerLeft - panelLeft;
74
+ }
75
+ function slidesAlongScreen(panelWidth) {
76
+ return panelWidth === "screen" || typeof panelWidth === "number";
77
+ }
78
+ function screenBounds({
79
+ triggerLeft,
80
+ triggerRight,
81
+ boundsLeft,
82
+ boundsRight,
83
+ rtl = false,
84
+ gutter = 32
85
+ }) {
86
+ const inset = rtl ? boundsRight - triggerRight : triggerLeft - boundsLeft;
87
+ const margin = inset > 0 && inset <= gutter ? inset : 0;
88
+ return {
89
+ left: boundsLeft + margin,
90
+ right: boundsRight - margin
91
+ };
92
+ }
@@ -0,0 +1,99 @@
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 panelWidth_exports = {};
26
+ __export(panelWidth_exports, {
27
+ echoOffset: () => echoOffset,
28
+ panelLeftForWidth: () => panelLeftForWidth,
29
+ panelWidthBox: () => panelWidthBox,
30
+ screenBounds: () => screenBounds,
31
+ slidesAlongScreen: () => slidesAlongScreen
32
+ });
33
+ module.exports = __toCommonJS(panelWidth_exports);
34
+ function panelWidthBox(panelWidth, param) {
35
+ var {
36
+ trigger,
37
+ available,
38
+ echo,
39
+ floor = 0
40
+ } = param;
41
+ var room = Math.max(0, available);
42
+ var pinned = function pinned2(width) {
43
+ var w = Math.max(0, Math.min(width, room));
44
+ return {
45
+ minWidth: w,
46
+ width: w,
47
+ maxWidth: w
48
+ };
49
+ };
50
+ if (panelWidth === "trigger") return pinned(trigger);
51
+ if (panelWidth === "screen") return pinned(room);
52
+ if (typeof panelWidth === "number") return pinned(panelWidth);
53
+ return {
54
+ minWidth: Math.min(Math.max(echo ? trigger : 0, floor), room),
55
+ maxWidth: room
56
+ };
57
+ }
58
+ function panelLeftForWidth(param) {
59
+ var {
60
+ triggerLeft,
61
+ triggerRight,
62
+ width,
63
+ boundsLeft,
64
+ boundsRight,
65
+ rtl = false
66
+ } = param;
67
+ var want = rtl ? triggerRight - width : triggerLeft;
68
+ return Math.max(boundsLeft, Math.min(want, boundsRight - width));
69
+ }
70
+ function echoOffset(param) {
71
+ var {
72
+ triggerLeft,
73
+ triggerRight,
74
+ panelLeft,
75
+ panelWidth,
76
+ rtl = false
77
+ } = param;
78
+ return rtl ? panelLeft + panelWidth - triggerRight : triggerLeft - panelLeft;
79
+ }
80
+ function slidesAlongScreen(panelWidth) {
81
+ return panelWidth === "screen" || typeof panelWidth === "number";
82
+ }
83
+ function screenBounds(param) {
84
+ var {
85
+ triggerLeft,
86
+ triggerRight,
87
+ boundsLeft,
88
+ boundsRight,
89
+ rtl = false,
90
+ gutter = 32
91
+ } = param;
92
+ var inset = rtl ? boundsRight - triggerRight : triggerLeft - boundsLeft;
93
+ var margin = inset > 0 && inset <= gutter ? inset : 0;
94
+ return {
95
+ left: boundsLeft + margin,
96
+ right: boundsRight - margin
97
+ };
98
+ }
99
+ //# sourceMappingURL=panelWidth.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","panelWidth_exports","echoOffset","panelLeftForWidth","panelWidthBox","screenBounds","slidesAlongScreen","module","exports","panelWidth","param","trigger","available","echo","floor","room","Math","max","pinned","pinned2","width","w","min","minWidth","maxWidth","triggerLeft","triggerRight","boundsLeft","boundsRight","rtl","want","panelLeft","gutter","inset","margin","left","right"],"sources":["panelWidth.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar panelWidth_exports = {};\n__export(panelWidth_exports, {\n echoOffset: () => echoOffset,\n panelLeftForWidth: () => panelLeftForWidth,\n panelWidthBox: () => panelWidthBox,\n screenBounds: () => screenBounds,\n slidesAlongScreen: () => slidesAlongScreen\n});\nmodule.exports = __toCommonJS(panelWidth_exports);\nfunction panelWidthBox(panelWidth, param) {\n var { trigger, available, echo, floor = 0 } = param;\n var room = Math.max(0, available);\n var pinned = function pinned2(width) {\n var w = Math.max(0, Math.min(width, room));\n return {\n minWidth: w,\n width: w,\n maxWidth: w\n };\n };\n if (panelWidth === \"trigger\") return pinned(trigger);\n if (panelWidth === \"screen\") return pinned(room);\n if (typeof panelWidth === \"number\") return pinned(panelWidth);\n return {\n minWidth: Math.min(Math.max(echo ? trigger : 0, floor), room),\n maxWidth: room\n };\n}\nfunction panelLeftForWidth(param) {\n var { triggerLeft, triggerRight, width, boundsLeft, boundsRight, rtl = false } = param;\n var want = rtl ? triggerRight - width : triggerLeft;\n return Math.max(boundsLeft, Math.min(want, boundsRight - width));\n}\nfunction echoOffset(param) {\n var { triggerLeft, triggerRight, panelLeft, panelWidth, rtl = false } = param;\n return rtl ? panelLeft + panelWidth - triggerRight : triggerLeft - panelLeft;\n}\nfunction slidesAlongScreen(panelWidth) {\n return panelWidth === \"screen\" || typeof panelWidth === \"number\";\n}\nfunction screenBounds(param) {\n var { triggerLeft, triggerRight, boundsLeft, boundsRight, rtl = false, gutter = 32 } = param;\n var inset = rtl ? boundsRight - triggerRight : triggerLeft - boundsLeft;\n var margin = inset > 0 && inset <= gutter ? inset : 0;\n return {\n left: boundsLeft + margin,\n right: boundsRight - margin\n };\n}\n//# sourceMappingURL=panelWidth.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -93,12 +93,37 @@ function placeOverTrigger({
93
93
  width,
94
94
  height,
95
95
  bounds,
96
- rtl = false
96
+ rtl = false,
97
+ align = "start",
98
+ pinned = false
97
99
  }) {
98
100
  const room = Math.max(0, bounds.right - bounds.left);
99
101
  const w = Math.min(Math.max(width, trigger.width), room);
100
- const wantLeft = rtl ? trigger.x + trigger.width - w : trigger.x;
101
- const left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
102
+ const startLeft = rtl ? trigger.x + trigger.width - w : trigger.x;
103
+ const endLeft = rtl ? trigger.x : trigger.x + trigger.width - w;
104
+ const startFree = rtl ? startLeft >= bounds.left : startLeft + w <= bounds.right;
105
+ const endFree = rtl ? endLeft + w <= bounds.right : endLeft >= bounds.left;
106
+ const auto = align === "auto";
107
+ const end = auto && !startFree && endFree;
108
+ const wantLeft = end ? endLeft : startLeft;
109
+ const keep = auto && (end || startFree);
110
+ const left = keep ? wantLeft : Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
111
+ if (pinned) {
112
+ const triggerBottom = trigger.y + trigger.height;
113
+ const below = Math.max(0, bounds.bottom - trigger.y);
114
+ const above = Math.max(0, triggerBottom - bounds.top);
115
+ const up = height > below && above > below;
116
+ const top2 = up ? Math.max(bounds.top, triggerBottom - height) : trigger.y;
117
+ return {
118
+ left,
119
+ top: top2,
120
+ width: w,
121
+ maxHeight: up ? above : below,
122
+ shifted: left !== wantLeft,
123
+ end,
124
+ up
125
+ };
126
+ }
102
127
  const h = Math.min(height, Math.max(0, bounds.bottom - bounds.top));
103
128
  const top = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));
104
129
  return {
@@ -106,7 +131,9 @@ function placeOverTrigger({
106
131
  top,
107
132
  width: w,
108
133
  maxHeight: Math.max(0, bounds.bottom - top),
109
- shifted: left !== wantLeft || top !== trigger.y
134
+ shifted: left !== wantLeft || top !== trigger.y,
135
+ end,
136
+ up: false
110
137
  };
111
138
  }
112
139
  function placeBesideTrigger({
@@ -130,6 +157,8 @@ function placeBesideTrigger({
130
157
  top,
131
158
  width: w,
132
159
  maxHeight,
133
- shifted: left !== wantLeft || opensUp
160
+ shifted: left !== wantLeft || opensUp,
161
+ end: false,
162
+ up: opensUp
134
163
  };
135
164
  }
@@ -103,20 +103,47 @@ function placeOverTrigger(param) {
103
103
  width,
104
104
  height,
105
105
  bounds,
106
- rtl = false
106
+ rtl = false,
107
+ align = "start",
108
+ pinned = false
107
109
  } = param;
108
110
  var room = Math.max(0, bounds.right - bounds.left);
109
111
  var w = Math.min(Math.max(width, trigger.width), room);
110
- var wantLeft = rtl ? trigger.x + trigger.width - w : trigger.x;
111
- var left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
112
+ var startLeft = rtl ? trigger.x + trigger.width - w : trigger.x;
113
+ var endLeft = rtl ? trigger.x : trigger.x + trigger.width - w;
114
+ var startFree = rtl ? startLeft >= bounds.left : startLeft + w <= bounds.right;
115
+ var endFree = rtl ? endLeft + w <= bounds.right : endLeft >= bounds.left;
116
+ var auto = align === "auto";
117
+ var end = auto && !startFree && endFree;
118
+ var wantLeft = end ? endLeft : startLeft;
119
+ var keep = auto && (end || startFree);
120
+ var left = keep ? wantLeft : Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));
121
+ if (pinned) {
122
+ var triggerBottom = trigger.y + trigger.height;
123
+ var below = Math.max(0, bounds.bottom - trigger.y);
124
+ var above = Math.max(0, triggerBottom - bounds.top);
125
+ var up = height > below && above > below;
126
+ var top = up ? Math.max(bounds.top, triggerBottom - height) : trigger.y;
127
+ return {
128
+ left,
129
+ top,
130
+ width: w,
131
+ maxHeight: up ? above : below,
132
+ shifted: left !== wantLeft,
133
+ end,
134
+ up
135
+ };
136
+ }
112
137
  var h = Math.min(height, Math.max(0, bounds.bottom - bounds.top));
113
- var top = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));
138
+ var top1 = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));
114
139
  return {
115
140
  left,
116
- top,
141
+ top: top1,
117
142
  width: w,
118
- maxHeight: Math.max(0, bounds.bottom - top),
119
- shifted: left !== wantLeft || top !== trigger.y
143
+ maxHeight: Math.max(0, bounds.bottom - top1),
144
+ shifted: left !== wantLeft || top1 !== trigger.y,
145
+ end,
146
+ up: false
120
147
  };
121
148
  }
122
149
  function placeBesideTrigger(param) {
@@ -141,7 +168,9 @@ function placeBesideTrigger(param) {
141
168
  top,
142
169
  width: w,
143
170
  maxHeight,
144
- shifted: left !== wantLeft || opensUp
171
+ shifted: left !== wantLeft || opensUp,
172
+ end: false,
173
+ up: opensUp
145
174
  };
146
175
  }
147
176
  //# sourceMappingURL=pointAnchor.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","pointAnchor_exports","contextMenuPoint","placeAtPoint","placeBesideTrigger","placeOverTrigger","pointOpensUp","pointPanelLeft","referenceCornerPoint","module","exports","import_theme","require","point","width","bounds","rtl","arguments","length","towardEnd","x","towardStart","fits","fits2","left","right","alignEnd","raw","Math","max","min","height","gap","OVERLAY_ANCHOR_GAP","below","bottom","y","above","top","param","dropup","maxHeight","event","reference","fromPointer","pointerType","button","clientX","clientY","rect","getBoundingClientRect","trigger","room","w","wantLeft","h","shifted","opensUp"],"sources":["pointAnchor.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar pointAnchor_exports = {};\n__export(pointAnchor_exports, {\n contextMenuPoint: () => contextMenuPoint,\n placeAtPoint: () => placeAtPoint,\n placeBesideTrigger: () => placeBesideTrigger,\n placeOverTrigger: () => placeOverTrigger,\n pointOpensUp: () => pointOpensUp,\n pointPanelLeft: () => pointPanelLeft,\n referenceCornerPoint: () => referenceCornerPoint\n});\nmodule.exports = __toCommonJS(pointAnchor_exports);\nvar import_theme = require(\"@multiplatform.one/theme\");\nfunction pointPanelLeft(point, width, bounds) {\n var rtl = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n var towardEnd = rtl ? point.x - width : point.x;\n var towardStart = rtl ? point.x : point.x - width;\n var fits = function fits2(left) {\n return left >= bounds.left && left + width <= bounds.right;\n };\n var alignEnd = !fits(towardEnd) && fits(towardStart);\n var raw = alignEnd ? towardStart : towardEnd;\n return {\n left: Math.max(bounds.left, Math.min(raw, bounds.right - width)),\n alignEnd\n };\n}\nfunction pointOpensUp(point, height, bounds) {\n var gap = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : import_theme.OVERLAY_ANCHOR_GAP;\n var below = bounds.bottom - (point.y + gap);\n var above = point.y - gap - bounds.top;\n if (height <= below) return false;\n if (height <= above) return true;\n return above > below;\n}\nfunction placeAtPoint(param) {\n var { point, width, height, bounds, gap = import_theme.OVERLAY_ANCHOR_GAP, rtl = false } = param;\n var { left, alignEnd } = pointPanelLeft(point, width, bounds, rtl);\n var dropup = pointOpensUp(point, height, bounds, gap);\n var maxHeight = Math.max(0, dropup ? point.y - gap - bounds.top : bounds.bottom - (point.y + gap));\n var top = dropup ? point.y - gap - Math.min(height, maxHeight) : point.y + gap;\n return {\n left,\n top,\n maxHeight,\n dropup,\n alignEnd\n };\n}\nfunction contextMenuPoint(event, reference) {\n var rtl = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var fromPointer = event.pointerType !== void 0 ? event.pointerType !== \"\" : event.button === 2 || event.clientX !== 0 || event.clientY !== 0;\n if (fromPointer) return {\n x: event.clientX,\n y: event.clientY\n };\n return reference ? referenceCornerPoint(reference, rtl) : null;\n}\nfunction referenceCornerPoint(reference) {\n var rtl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var rect = reference.getBoundingClientRect();\n return {\n x: rtl ? rect.right : rect.left,\n y: rect.bottom\n };\n}\nfunction placeOverTrigger(param) {\n var { trigger, width, height, bounds, rtl = false } = param;\n var room = Math.max(0, bounds.right - bounds.left);\n var w = Math.min(Math.max(width, trigger.width), room);\n var wantLeft = rtl ? trigger.x + trigger.width - w : trigger.x;\n var left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));\n var h = Math.min(height, Math.max(0, bounds.bottom - bounds.top));\n var top = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));\n return {\n left,\n top,\n width: w,\n maxHeight: Math.max(0, bounds.bottom - top),\n shifted: left !== wantLeft || top !== trigger.y\n };\n}\nfunction placeBesideTrigger(param) {\n var { trigger, width, height, bounds, rtl = false } = param;\n var room = Math.max(0, bounds.right - bounds.left);\n var w = Math.min(Math.max(width, trigger.width), room);\n var wantLeft = rtl ? trigger.x + trigger.width - w : trigger.x;\n var left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));\n var below = Math.max(0, bounds.bottom - (trigger.y + trigger.height));\n var above = Math.max(0, trigger.y - bounds.top);\n var opensUp = height > below && above > below;\n var maxHeight = Math.min(height, opensUp ? above : below);\n var top = opensUp ? trigger.y - maxHeight : trigger.y + trigger.height;\n return {\n left,\n top,\n width: w,\n maxHeight,\n shifted: left !== wantLeft || opensUp\n };\n}\n//# sourceMappingURL=pointAnchor.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","pointAnchor_exports","contextMenuPoint","placeAtPoint","placeBesideTrigger","placeOverTrigger","pointOpensUp","pointPanelLeft","referenceCornerPoint","module","exports","import_theme","require","point","width","bounds","rtl","arguments","length","towardEnd","x","towardStart","fits","fits2","left","right","alignEnd","raw","Math","max","min","height","gap","OVERLAY_ANCHOR_GAP","below","bottom","y","above","top","param","dropup","maxHeight","event","reference","fromPointer","pointerType","button","clientX","clientY","rect","getBoundingClientRect","trigger","align","pinned","room","w","startLeft","endLeft","startFree","endFree","auto","end","wantLeft","keep","triggerBottom","up","shifted","h","top1","opensUp"],"sources":["pointAnchor.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar pointAnchor_exports = {};\n__export(pointAnchor_exports, {\n contextMenuPoint: () => contextMenuPoint,\n placeAtPoint: () => placeAtPoint,\n placeBesideTrigger: () => placeBesideTrigger,\n placeOverTrigger: () => placeOverTrigger,\n pointOpensUp: () => pointOpensUp,\n pointPanelLeft: () => pointPanelLeft,\n referenceCornerPoint: () => referenceCornerPoint\n});\nmodule.exports = __toCommonJS(pointAnchor_exports);\nvar import_theme = require(\"@multiplatform.one/theme\");\nfunction pointPanelLeft(point, width, bounds) {\n var rtl = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;\n var towardEnd = rtl ? point.x - width : point.x;\n var towardStart = rtl ? point.x : point.x - width;\n var fits = function fits2(left) {\n return left >= bounds.left && left + width <= bounds.right;\n };\n var alignEnd = !fits(towardEnd) && fits(towardStart);\n var raw = alignEnd ? towardStart : towardEnd;\n return {\n left: Math.max(bounds.left, Math.min(raw, bounds.right - width)),\n alignEnd\n };\n}\nfunction pointOpensUp(point, height, bounds) {\n var gap = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : import_theme.OVERLAY_ANCHOR_GAP;\n var below = bounds.bottom - (point.y + gap);\n var above = point.y - gap - bounds.top;\n if (height <= below) return false;\n if (height <= above) return true;\n return above > below;\n}\nfunction placeAtPoint(param) {\n var { point, width, height, bounds, gap = import_theme.OVERLAY_ANCHOR_GAP, rtl = false } = param;\n var { left, alignEnd } = pointPanelLeft(point, width, bounds, rtl);\n var dropup = pointOpensUp(point, height, bounds, gap);\n var maxHeight = Math.max(0, dropup ? point.y - gap - bounds.top : bounds.bottom - (point.y + gap));\n var top = dropup ? point.y - gap - Math.min(height, maxHeight) : point.y + gap;\n return {\n left,\n top,\n maxHeight,\n dropup,\n alignEnd\n };\n}\nfunction contextMenuPoint(event, reference) {\n var rtl = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n var fromPointer = event.pointerType !== void 0 ? event.pointerType !== \"\" : event.button === 2 || event.clientX !== 0 || event.clientY !== 0;\n if (fromPointer) return {\n x: event.clientX,\n y: event.clientY\n };\n return reference ? referenceCornerPoint(reference, rtl) : null;\n}\nfunction referenceCornerPoint(reference) {\n var rtl = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var rect = reference.getBoundingClientRect();\n return {\n x: rtl ? rect.right : rect.left,\n y: rect.bottom\n };\n}\nfunction placeOverTrigger(param) {\n var { trigger, width, height, bounds, rtl = false, align = \"start\", pinned = false } = param;\n var room = Math.max(0, bounds.right - bounds.left);\n var w = Math.min(Math.max(width, trigger.width), room);\n var startLeft = rtl ? trigger.x + trigger.width - w : trigger.x;\n var endLeft = rtl ? trigger.x : trigger.x + trigger.width - w;\n var startFree = rtl ? startLeft >= bounds.left : startLeft + w <= bounds.right;\n var endFree = rtl ? endLeft + w <= bounds.right : endLeft >= bounds.left;\n var auto = align === \"auto\";\n var end = auto && !startFree && endFree;\n var wantLeft = end ? endLeft : startLeft;\n var keep = auto && (end || startFree);\n var left = keep ? wantLeft : Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));\n if (pinned) {\n var triggerBottom = trigger.y + trigger.height;\n var below = Math.max(0, bounds.bottom - trigger.y);\n var above = Math.max(0, triggerBottom - bounds.top);\n var up = height > below && above > below;\n var top = up ? Math.max(bounds.top, triggerBottom - height) : trigger.y;\n return {\n left,\n top,\n width: w,\n maxHeight: up ? above : below,\n shifted: left !== wantLeft,\n end,\n up\n };\n }\n var h = Math.min(height, Math.max(0, bounds.bottom - bounds.top));\n var top1 = Math.max(bounds.top, Math.min(trigger.y, bounds.bottom - h));\n return {\n left,\n top: top1,\n width: w,\n maxHeight: Math.max(0, bounds.bottom - top1),\n shifted: left !== wantLeft || top1 !== trigger.y,\n end,\n up: false\n };\n}\nfunction placeBesideTrigger(param) {\n var { trigger, width, height, bounds, rtl = false } = param;\n var room = Math.max(0, bounds.right - bounds.left);\n var w = Math.min(Math.max(width, trigger.width), room);\n var wantLeft = rtl ? trigger.x + trigger.width - w : trigger.x;\n var left = Math.max(bounds.left, Math.min(wantLeft, bounds.right - w));\n var below = Math.max(0, bounds.bottom - (trigger.y + trigger.height));\n var above = Math.max(0, trigger.y - bounds.top);\n var opensUp = height > below && above > below;\n var maxHeight = Math.min(height, opensUp ? above : below);\n var top = opensUp ? trigger.y - maxHeight : trigger.y + trigger.height;\n return {\n left,\n top,\n width: w,\n maxHeight,\n shifted: left !== wantLeft || opensUp,\n end: false,\n up: opensUp\n };\n}\n//# sourceMappingURL=pointAnchor.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -23,6 +23,7 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
23
  var useFloatingPanel_exports = {};
24
24
  __export(useFloatingPanel_exports, {
25
25
  measureDrawnRadius: () => measureDrawnRadius,
26
+ paintedCornerBox: () => paintedCornerBox,
26
27
  panelAnchorOffset: () => panelAnchorOffset,
27
28
  panelAnimationDuration: () => panelAnimationDuration,
28
29
  panelCoverOffset: () => panelCoverOffset,
@@ -42,6 +43,8 @@ var import_react2 = require("react");
42
43
  var import_tamagui = require("tamagui");
43
44
  var import_floatingList = require("../shared/floatingList.cjs");
44
45
  var import_panelPortal = require("../shared/panelPortal.cjs");
46
+ var import_paintedBox = require("./paintedBox.cjs");
47
+ var import_panelWidth = require("./panelWidth.cjs");
45
48
  const canUseDom = typeof window !== "undefined" && typeof window.addEventListener === "function";
46
49
  function roundToDevicePixel(value) {
47
50
  const dpr = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
@@ -50,6 +53,16 @@ function roundToDevicePixel(value) {
50
53
  const panelAnimationDuration = (0, import_theme.motionDurationMs)((0, import_theme.motionFor)("quick").overlay.transition);
51
54
  const panelGrowDuration = panelAnimationDuration;
52
55
  const panelViewportPadding = 10;
56
+ function screenRoom(reference, viewportWidth) {
57
+ const box = reference.getBoundingClientRect();
58
+ return (0, import_panelWidth.screenBounds)({
59
+ triggerLeft: box.left,
60
+ triggerRight: box.right,
61
+ boundsLeft: panelViewportPadding,
62
+ boundsRight: viewportWidth - panelViewportPadding,
63
+ rtl: typeof Element !== "undefined" && reference instanceof Element && getComputedStyle(reference).direction === "rtl"
64
+ });
65
+ }
53
66
  const panelAnchorOffset = import_theme3.OVERLAY_ATTACH_GAP;
54
67
  function panelCoverOffset(referenceHeight) {
55
68
  return panelAnchorOffset - referenceHeight;
@@ -104,7 +117,9 @@ function useFloatingPanel({
104
117
  widthMode: widthModeProp,
105
118
  fitContent,
106
119
  freeOverlay = false,
107
- cover = true
120
+ cover = true,
121
+ panelWidth,
122
+ echo = cover && !freeOverlay
108
123
  }) {
109
124
  const widthMode = resolvePanelWidthMode(widthModeProp, fitContent);
110
125
  const {
@@ -119,7 +134,9 @@ function useFloatingPanel({
119
134
  const radiusCap = radiusStop && typeof panelPadPx === "number" ? (0, import_theme3.resolveRadiusClass)("CONTAINER-CAP", radiusStop, {
120
135
  paddingPx: panelPadPx
121
136
  }) : void 0;
122
- const dropdownRadius = radiusCap === void 0 ? measuredRadius ?? (0, import_floatingList.clampDropdownRadius)(knobProps.borderRadius.borderRadius) : Math.min(measuredRadius ?? radiusCap, radiusCap);
137
+ const capped = radiusCap === void 0 ? measuredRadius ?? (0, import_floatingList.clampDropdownRadius)(knobProps.borderRadius.borderRadius) : Math.min(measuredRadius ?? radiusCap, radiusCap);
138
+ const dropdownRadius = cover && !freeOverlay && measuredRadius != null ? measuredRadius : capped;
139
+ const coverCornerInset = typeof dropdownRadius === "number" && typeof capped === "number" && dropdownRadius > capped ? Math.ceil(dropdownRadius * (1 - Math.SQRT1_2)) : 0;
123
140
  const [mounted, setMounted] = (0, import_react2.useState)(false);
124
141
  const [visible, setVisible] = (0, import_react2.useState)(false);
125
142
  const [arrowUp, setArrowUp] = (0, import_react2.useState)(false);
@@ -150,7 +167,7 @@ function useFloatingPanel({
150
167
  const setupForOpen = (0, import_react2.useCallback)(() => {
151
168
  computePlacement();
152
169
  if (canUseDom && triggerRef.current) {
153
- setMeasuredRadius(freeOverlay ? null : measureDrawnRadius(triggerRef.current));
170
+ setMeasuredRadius(freeOverlay ? null : measureDrawnRadius((0, import_paintedBox.groupSurfaceOf)(triggerRef.current) ?? triggerRef.current));
154
171
  }
155
172
  onBeforeOpenRef.current?.();
156
173
  if (closingTimerRef.current) clearTimeout(closingTimerRef.current);
@@ -195,9 +212,46 @@ function useFloatingPanel({
195
212
  // Horizontal collision handling: panels anchored near the right viewport
196
213
  // edge (e.g. a ColorPicker in the last table column) shift back into view
197
214
  // instead of clipping. Vertical placement is handled by computePlacement.
198
- (0, import_react.shift)({
215
+ // A screen-wide panel shifts inside the same room its width was cut to,
216
+ // so a trigger in the page gutter keeps its start edge.
217
+ (0, import_react.shift)(({
218
+ elements
219
+ }) => {
220
+ if (panelWidth !== "screen") return {
221
+ padding: panelViewportPadding
222
+ };
223
+ const viewportWidth = document.documentElement.clientWidth || window.innerWidth || 0;
224
+ const room = screenRoom(elements.reference, viewportWidth);
225
+ return {
226
+ padding: {
227
+ left: room.left,
228
+ right: viewportWidth - room.right
229
+ }
230
+ };
231
+ }), ...(panelWidth !== void 0 ? [(0, import_react.size)({
232
+ apply({
233
+ rects: {
234
+ reference
235
+ },
236
+ elements
237
+ }) {
238
+ const viewportWidth = document.documentElement.clientWidth || window.innerWidth || 0;
239
+ const room = panelWidth === "screen" ? screenRoom(elements.reference, viewportWidth) : {
240
+ left: panelViewportPadding,
241
+ right: viewportWidth - panelViewportPadding
242
+ };
243
+ const box = (0, import_panelWidth.panelWidthBox)(panelWidth, {
244
+ trigger: reference.width,
245
+ available: room.right - room.left,
246
+ echo
247
+ });
248
+ Object.assign(floatingStyleRef.current, box);
249
+ elements.floating.style.minWidth = `${box.minWidth}px`;
250
+ elements.floating.style.maxWidth = `${box.maxWidth}px`;
251
+ elements.floating.style.width = box.width === void 0 ? "" : `${box.width}px`;
252
+ },
199
253
  padding: panelViewportPadding
200
- }), ...(widthMode === "fit-content" ? [] : [(0, import_react.size)({
254
+ })] : widthMode === "fit-content" ? [] : [(0, import_react.size)({
201
255
  apply({
202
256
  rects: {
203
257
  reference: {
@@ -363,6 +417,7 @@ function useFloatingPanel({
363
417
  setReferenceRef,
364
418
  setMounted,
365
419
  dropdownRadius,
420
+ coverCornerInset,
366
421
  hasBorder,
367
422
  panelTransition: panelTransitionFor(knobProps.motion.overlay.transition),
368
423
  knobProps