lynote-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/README.md +24 -0
  2. package/dist/CompositeItem-DKYDWwo1.js +30 -0
  3. package/dist/CompositeItem-DKYDWwo1.js.map +1 -0
  4. package/dist/CompositeItem-DqbuwxxP.mjs +31 -0
  5. package/dist/CompositeItem-DqbuwxxP.mjs.map +1 -0
  6. package/dist/CompositeList-CLP_jD9H.js +151 -0
  7. package/dist/CompositeList-CLP_jD9H.js.map +1 -0
  8. package/dist/CompositeList-CM71m-RA.mjs +135 -0
  9. package/dist/CompositeList-CM71m-RA.mjs.map +1 -0
  10. package/dist/CompositeRoot-Clz7hqk6.mjs +291 -0
  11. package/dist/CompositeRoot-Clz7hqk6.mjs.map +1 -0
  12. package/dist/CompositeRoot-DhWDFM9v.js +307 -0
  13. package/dist/CompositeRoot-DhWDFM9v.js.map +1 -0
  14. package/dist/DialogRoot-C_3aVl-g.mjs +69 -0
  15. package/dist/DialogRoot-C_3aVl-g.mjs.map +1 -0
  16. package/dist/DialogRoot-D_7sM8HI.js +85 -0
  17. package/dist/DialogRoot-D_7sM8HI.js.map +1 -0
  18. package/dist/DialogTrigger-BqeNq2F6.mjs +532 -0
  19. package/dist/DialogTrigger-BqeNq2F6.mjs.map +1 -0
  20. package/dist/DialogTrigger-CgBPTG9W.js +548 -0
  21. package/dist/DialogTrigger-CgBPTG9W.js.map +1 -0
  22. package/dist/DirectionContext-BaCziR5k.mjs +12 -0
  23. package/dist/DirectionContext-BaCziR5k.mjs.map +1 -0
  24. package/dist/DirectionContext-BsZvU9q3.js +28 -0
  25. package/dist/DirectionContext-BsZvU9q3.js.map +1 -0
  26. package/dist/DirectionProvider-DaKrURtH.js +36 -0
  27. package/dist/DirectionProvider-DaKrURtH.js.map +1 -0
  28. package/dist/DirectionProvider-ttyWmQjZ.mjs +20 -0
  29. package/dist/DirectionProvider-ttyWmQjZ.mjs.map +1 -0
  30. package/dist/FieldItemContext-DRVgx-D1.mjs +13 -0
  31. package/dist/FieldItemContext-DRVgx-D1.mjs.map +1 -0
  32. package/dist/FieldItemContext-K2sFjft8.js +29 -0
  33. package/dist/FieldItemContext-K2sFjft8.js.map +1 -0
  34. package/dist/FloatingPortalLite-CEKehtqV.js +50 -0
  35. package/dist/FloatingPortalLite-CEKehtqV.js.map +1 -0
  36. package/dist/FloatingPortalLite-CsPfJ360.mjs +33 -0
  37. package/dist/FloatingPortalLite-CsPfJ360.mjs.map +1 -0
  38. package/dist/FormItem-BmgGAecB.mjs +185 -0
  39. package/dist/FormItem-BmgGAecB.mjs.map +1 -0
  40. package/dist/FormItem-xksTqxKD.js +200 -0
  41. package/dist/FormItem-xksTqxKD.js.map +1 -0
  42. package/dist/InternalBackdrop-B3WuVcuG.js +1021 -0
  43. package/dist/InternalBackdrop-B3WuVcuG.js.map +1 -0
  44. package/dist/InternalBackdrop-C7vtdMWQ.mjs +1005 -0
  45. package/dist/InternalBackdrop-C7vtdMWQ.mjs.map +1 -0
  46. package/dist/LabelableContext-DLLBESLn.mjs +213 -0
  47. package/dist/LabelableContext-DLLBESLn.mjs.map +1 -0
  48. package/dist/LabelableContext-DYy4DAX3.js +230 -0
  49. package/dist/LabelableContext-DYy4DAX3.js.map +1 -0
  50. package/dist/MenuSubmenuTrigger-95oBD6Dx.js +1659 -0
  51. package/dist/MenuSubmenuTrigger-95oBD6Dx.js.map +1 -0
  52. package/dist/MenuSubmenuTrigger-Bnw6ycbc.mjs +1643 -0
  53. package/dist/MenuSubmenuTrigger-Bnw6ycbc.mjs.map +1 -0
  54. package/dist/Separator-BKPk5Lcn.js +43 -0
  55. package/dist/Separator-BKPk5Lcn.js.map +1 -0
  56. package/dist/Separator-Dvb0TS9E.mjs +27 -0
  57. package/dist/Separator-Dvb0TS9E.mjs.map +1 -0
  58. package/dist/ToolbarRootContext-B_HxjkNI.mjs +11 -0
  59. package/dist/ToolbarRootContext-B_HxjkNI.mjs.map +1 -0
  60. package/dist/ToolbarRootContext-C8eU2VAC.js +27 -0
  61. package/dist/ToolbarRootContext-C8eU2VAC.js.map +1 -0
  62. package/dist/accordion/index.d.ts +6 -0
  63. package/dist/accordion/index.js +618 -0
  64. package/dist/accordion/index.js.map +1 -0
  65. package/dist/accordion/index.mjs +601 -0
  66. package/dist/accordion/index.mjs.map +1 -0
  67. package/dist/alert/index.d.ts +11 -0
  68. package/dist/alert/index.js +78 -0
  69. package/dist/alert/index.js.map +1 -0
  70. package/dist/alert/index.mjs +78 -0
  71. package/dist/alert/index.mjs.map +1 -0
  72. package/dist/alert-dialog/index.d.ts +18 -0
  73. package/dist/alert-dialog/index.js +240 -0
  74. package/dist/alert-dialog/index.js.map +1 -0
  75. package/dist/alert-dialog/index.mjs +223 -0
  76. package/dist/alert-dialog/index.mjs.map +1 -0
  77. package/dist/aspect-ratio/index.d.ts +4 -0
  78. package/dist/aspect-ratio/index.js +23 -0
  79. package/dist/aspect-ratio/index.js.map +1 -0
  80. package/dist/aspect-ratio/index.mjs +23 -0
  81. package/dist/aspect-ratio/index.mjs.map +1 -0
  82. package/dist/avatar/index.d.ts +11 -0
  83. package/dist/avatar/index.js +287 -0
  84. package/dist/avatar/index.js.map +1 -0
  85. package/dist/avatar/index.mjs +270 -0
  86. package/dist/avatar/index.mjs.map +1 -0
  87. package/dist/badge/index.d.ts +9 -0
  88. package/dist/badge/index.js +48 -0
  89. package/dist/badge/index.js.map +1 -0
  90. package/dist/badge/index.mjs +48 -0
  91. package/dist/badge/index.mjs.map +1 -0
  92. package/dist/breadcrumb/index.d.ts +10 -0
  93. package/dist/breadcrumb/index.js +123 -0
  94. package/dist/breadcrumb/index.js.map +1 -0
  95. package/dist/breadcrumb/index.mjs +123 -0
  96. package/dist/breadcrumb/index.mjs.map +1 -0
  97. package/dist/button/index.d.ts +9 -0
  98. package/dist/button/index.js +99 -0
  99. package/dist/button/index.js.map +1 -0
  100. package/dist/button/index.mjs +82 -0
  101. package/dist/button/index.mjs.map +1 -0
  102. package/dist/button-group/index.d.ts +12 -0
  103. package/dist/button-group/index.js +83 -0
  104. package/dist/button-group/index.js.map +1 -0
  105. package/dist/button-group/index.mjs +83 -0
  106. package/dist/button-group/index.mjs.map +1 -0
  107. package/dist/calendar/index.d.ts +10 -0
  108. package/dist/calendar/index.js +205 -0
  109. package/dist/calendar/index.js.map +1 -0
  110. package/dist/calendar/index.mjs +188 -0
  111. package/dist/calendar/index.mjs.map +1 -0
  112. package/dist/card/index.d.ts +11 -0
  113. package/dist/card/index.js +102 -0
  114. package/dist/card/index.js.map +1 -0
  115. package/dist/card/index.mjs +102 -0
  116. package/dist/card/index.mjs.map +1 -0
  117. package/dist/carousel/index.d.ts +28 -0
  118. package/dist/carousel/index.js +217 -0
  119. package/dist/carousel/index.js.map +1 -0
  120. package/dist/carousel/index.mjs +200 -0
  121. package/dist/carousel/index.mjs.map +1 -0
  122. package/dist/chart/index.d.ts +44 -0
  123. package/dist/chart/index.js +272 -0
  124. package/dist/chart/index.js.map +1 -0
  125. package/dist/chart/index.mjs +254 -0
  126. package/dist/chart/index.mjs.map +1 -0
  127. package/dist/checkbox/index.d.ts +3 -0
  128. package/dist/checkbox/index.js +425 -0
  129. package/dist/checkbox/index.js.map +1 -0
  130. package/dist/checkbox/index.mjs +408 -0
  131. package/dist/checkbox/index.mjs.map +1 -0
  132. package/dist/clamp-CRAygR8_.mjs +17 -0
  133. package/dist/clamp-CRAygR8_.mjs.map +1 -0
  134. package/dist/clamp-Cl34OJjs.js +33 -0
  135. package/dist/clamp-Cl34OJjs.js.map +1 -0
  136. package/dist/collapsible/index.d.ts +5 -0
  137. package/dist/collapsible/index.js +244 -0
  138. package/dist/collapsible/index.js.map +1 -0
  139. package/dist/collapsible/index.mjs +227 -0
  140. package/dist/collapsible/index.mjs.map +1 -0
  141. package/dist/combobox/index.d.ts +24 -0
  142. package/dist/combobox/index.js +294 -0
  143. package/dist/combobox/index.js.map +1 -0
  144. package/dist/combobox/index.mjs +277 -0
  145. package/dist/combobox/index.mjs.map +1 -0
  146. package/dist/command/index.d.ts +19 -0
  147. package/dist/command/index.js +174 -0
  148. package/dist/command/index.js.map +1 -0
  149. package/dist/command/index.mjs +174 -0
  150. package/dist/command/index.mjs.map +1 -0
  151. package/dist/composite-54CI9F0V.mjs +346 -0
  152. package/dist/composite-54CI9F0V.mjs.map +1 -0
  153. package/dist/composite-B6lEHrCV.mjs +119 -0
  154. package/dist/composite-B6lEHrCV.mjs.map +1 -0
  155. package/dist/composite-BT0EMBUB.js +118 -0
  156. package/dist/composite-BT0EMBUB.js.map +1 -0
  157. package/dist/composite-DhXBXmhV.js +345 -0
  158. package/dist/composite-DhXBXmhV.js.map +1 -0
  159. package/dist/constants-DAVIOz2s.js +18 -0
  160. package/dist/constants-DAVIOz2s.js.map +1 -0
  161. package/dist/constants-Dfh7hQez.mjs +19 -0
  162. package/dist/constants-Dfh7hQez.mjs.map +1 -0
  163. package/dist/context-menu/index.d.ts +29 -0
  164. package/dist/context-menu/index.js +458 -0
  165. package/dist/context-menu/index.js.map +1 -0
  166. package/dist/context-menu/index.mjs +441 -0
  167. package/dist/context-menu/index.mjs.map +1 -0
  168. package/dist/createBaseUIEventDetails-CRQSf9K3.mjs +79 -0
  169. package/dist/createBaseUIEventDetails-CRQSf9K3.mjs.map +1 -0
  170. package/dist/createBaseUIEventDetails-D39y2D9R.js +78 -0
  171. package/dist/createBaseUIEventDetails-D39y2D9R.js.map +1 -0
  172. package/dist/date-picker/index.d.ts +3 -0
  173. package/dist/date-picker/index.js +47 -0
  174. package/dist/date-picker/index.js.map +1 -0
  175. package/dist/date-picker/index.mjs +30 -0
  176. package/dist/date-picker/index.mjs.map +1 -0
  177. package/dist/detectBrowser-CT93wuqL.mjs +64 -0
  178. package/dist/detectBrowser-CT93wuqL.mjs.map +1 -0
  179. package/dist/detectBrowser-j_AUpd7-.js +63 -0
  180. package/dist/detectBrowser-j_AUpd7-.js.map +1 -0
  181. package/dist/dialog/index.d.ts +17 -0
  182. package/dist/dialog/index.js +153 -0
  183. package/dist/dialog/index.js.map +1 -0
  184. package/dist/dialog/index.mjs +153 -0
  185. package/dist/dialog/index.mjs.map +1 -0
  186. package/dist/direction/index.d.ts +1 -0
  187. package/dist/direction/index.js +7 -0
  188. package/dist/direction/index.js.map +1 -0
  189. package/dist/direction/index.mjs +7 -0
  190. package/dist/direction/index.mjs.map +1 -0
  191. package/dist/drawer/index.d.ts +13 -0
  192. package/dist/drawer/index.js +128 -0
  193. package/dist/drawer/index.js.map +1 -0
  194. package/dist/drawer/index.mjs +128 -0
  195. package/dist/drawer/index.mjs.map +1 -0
  196. package/dist/dropdown-menu/index.d.ts +29 -0
  197. package/dist/dropdown-menu/index.js +573 -0
  198. package/dist/dropdown-menu/index.js.map +1 -0
  199. package/dist/dropdown-menu/index.mjs +555 -0
  200. package/dist/dropdown-menu/index.mjs.map +1 -0
  201. package/dist/element-BtC-M4rb.mjs +103 -0
  202. package/dist/element-BtC-M4rb.mjs.map +1 -0
  203. package/dist/element-DAAyJrnp.js +102 -0
  204. package/dist/element-DAAyJrnp.js.map +1 -0
  205. package/dist/empty/index.d.ts +12 -0
  206. package/dist/empty/index.js +103 -0
  207. package/dist/empty/index.js.map +1 -0
  208. package/dist/empty/index.mjs +103 -0
  209. package/dist/empty/index.mjs.map +1 -0
  210. package/dist/event-BHxKjfyi.js +43 -0
  211. package/dist/event-BHxKjfyi.js.map +1 -0
  212. package/dist/event-CcyVszlp.mjs +44 -0
  213. package/dist/event-CcyVszlp.mjs.map +1 -0
  214. package/dist/field/index.d.ts +25 -0
  215. package/dist/field/index.js +219 -0
  216. package/dist/field/index.js.map +1 -0
  217. package/dist/field/index.mjs +219 -0
  218. package/dist/field/index.mjs.map +1 -0
  219. package/dist/floating-ui.utils-CMX6M1P8.js +149 -0
  220. package/dist/floating-ui.utils-CMX6M1P8.js.map +1 -0
  221. package/dist/floating-ui.utils-DoPG3M8C.mjs +150 -0
  222. package/dist/floating-ui.utils-DoPG3M8C.mjs.map +1 -0
  223. package/dist/floating-ui.utils.dom-BAD07kLX.mjs +176 -0
  224. package/dist/floating-ui.utils.dom-BAD07kLX.mjs.map +1 -0
  225. package/dist/floating-ui.utils.dom-djqmdyxg.js +175 -0
  226. package/dist/floating-ui.utils.dom-djqmdyxg.js.map +1 -0
  227. package/dist/form/components/Form.d.ts +4 -0
  228. package/dist/form/components/FormControl.d.ts +3 -0
  229. package/dist/form/components/FormDescription.d.ts +3 -0
  230. package/dist/form/components/FormField.d.ts +3 -0
  231. package/dist/form/components/FormItem.d.ts +7 -0
  232. package/dist/form/components/FormLabel.d.ts +3 -0
  233. package/dist/form/components/FormMessage.d.ts +4 -0
  234. package/dist/form/components/variants.d.ts +6 -0
  235. package/dist/form/context/index.d.ts +4 -0
  236. package/dist/form/hooks/useFormField.d.ts +14 -0
  237. package/dist/form/index.d.ts +11 -0
  238. package/dist/form/index.js +19 -0
  239. package/dist/form/index.js.map +1 -0
  240. package/dist/form/index.mjs +13 -0
  241. package/dist/form/index.mjs.map +1 -0
  242. package/dist/form/type.d.ts +48 -0
  243. package/dist/getEmptyRootContext-CBrvBF2x.mjs +17 -0
  244. package/dist/getEmptyRootContext-CBrvBF2x.mjs.map +1 -0
  245. package/dist/getEmptyRootContext-DrOPobKp.js +16 -0
  246. package/dist/getEmptyRootContext-DrOPobKp.js.map +1 -0
  247. package/dist/getPseudoElementBounds-CN2-zcsN.js +29 -0
  248. package/dist/getPseudoElementBounds-CN2-zcsN.js.map +1 -0
  249. package/dist/getPseudoElementBounds-i4YX-qQ2.mjs +30 -0
  250. package/dist/getPseudoElementBounds-i4YX-qQ2.mjs.map +1 -0
  251. package/dist/hooks/use-mobile.d.ts +1 -0
  252. package/dist/hover-card/index.d.ts +5 -0
  253. package/dist/hover-card/index.js +501 -0
  254. package/dist/hover-card/index.js.map +1 -0
  255. package/dist/hover-card/index.mjs +483 -0
  256. package/dist/hover-card/index.mjs.map +1 -0
  257. package/dist/index-B3i3Mf61.mjs +147 -0
  258. package/dist/index-B3i3Mf61.mjs.map +1 -0
  259. package/dist/index-zBgD3uv6.js +163 -0
  260. package/dist/index-zBgD3uv6.js.map +1 -0
  261. package/dist/index.d.ts +57 -0
  262. package/dist/index.js +393 -0
  263. package/dist/index.js.map +1 -0
  264. package/dist/index.mjs +384 -0
  265. package/dist/index.mjs.map +1 -0
  266. package/dist/inertValue-gSeyz2Lm.js +10 -0
  267. package/dist/inertValue-gSeyz2Lm.js.map +1 -0
  268. package/dist/inertValue-t5QI1CFn.mjs +11 -0
  269. package/dist/inertValue-t5QI1CFn.mjs.map +1 -0
  270. package/dist/input/index.d.ts +3 -0
  271. package/dist/input/index.js +167 -0
  272. package/dist/input/index.js.map +1 -0
  273. package/dist/input/index.mjs +150 -0
  274. package/dist/input/index.mjs.map +1 -0
  275. package/dist/input-group/index.d.ts +19 -0
  276. package/dist/input-group/index.js +146 -0
  277. package/dist/input-group/index.js.map +1 -0
  278. package/dist/input-group/index.mjs +146 -0
  279. package/dist/input-group/index.mjs.map +1 -0
  280. package/dist/input-otp/index.d.ts +11 -0
  281. package/dist/input-otp/index.js +84 -0
  282. package/dist/input-otp/index.js.map +1 -0
  283. package/dist/input-otp/index.mjs +67 -0
  284. package/dist/input-otp/index.mjs.map +1 -0
  285. package/dist/isElementDisabled-2KG8-O4B.mjs +7 -0
  286. package/dist/isElementDisabled-2KG8-O4B.mjs.map +1 -0
  287. package/dist/isElementDisabled-p2fc38Eq.js +6 -0
  288. package/dist/isElementDisabled-p2fc38Eq.js.map +1 -0
  289. package/dist/item/index.d.ts +23 -0
  290. package/dist/item/index.js +196 -0
  291. package/dist/item/index.js.map +1 -0
  292. package/dist/item/index.mjs +196 -0
  293. package/dist/item/index.mjs.map +1 -0
  294. package/dist/jsx-runtime-CPzt8Nmm.js +321 -0
  295. package/dist/jsx-runtime-CPzt8Nmm.js.map +1 -0
  296. package/dist/jsx-runtime-Dog7MAYX.mjs +322 -0
  297. package/dist/jsx-runtime-Dog7MAYX.mjs.map +1 -0
  298. package/dist/kbd/index.d.ts +3 -0
  299. package/dist/kbd/index.js +30 -0
  300. package/dist/kbd/index.js.map +1 -0
  301. package/dist/kbd/index.mjs +30 -0
  302. package/dist/kbd/index.mjs.map +1 -0
  303. package/dist/label/index.d.ts +3 -0
  304. package/dist/label/index.js +19 -0
  305. package/dist/label/index.js.map +1 -0
  306. package/dist/label/index.mjs +19 -0
  307. package/dist/label/index.mjs.map +1 -0
  308. package/dist/lib/cva.d.ts +1 -0
  309. package/dist/lib/index.d.ts +2 -0
  310. package/dist/lib/utils.d.ts +2 -0
  311. package/dist/menubar/index.d.ts +29 -0
  312. package/dist/menubar/index.js +365 -0
  313. package/dist/menubar/index.js.map +1 -0
  314. package/dist/menubar/index.mjs +348 -0
  315. package/dist/menubar/index.mjs.map +1 -0
  316. package/dist/native-select/index.d.ts +8 -0
  317. package/dist/native-select/index.js +54 -0
  318. package/dist/native-select/index.js.map +1 -0
  319. package/dist/native-select/index.mjs +54 -0
  320. package/dist/native-select/index.mjs.map +1 -0
  321. package/dist/navigation-menu/index.d.ts +12 -0
  322. package/dist/navigation-menu/index.js +1702 -0
  323. package/dist/navigation-menu/index.js.map +1 -0
  324. package/dist/navigation-menu/index.mjs +1684 -0
  325. package/dist/navigation-menu/index.mjs.map +1 -0
  326. package/dist/owner-Cf_X0F_A.mjs +7 -0
  327. package/dist/owner-Cf_X0F_A.mjs.map +1 -0
  328. package/dist/owner-DohlhdQa.js +6 -0
  329. package/dist/owner-DohlhdQa.js.map +1 -0
  330. package/dist/pagination/index.d.ts +17 -0
  331. package/dist/pagination/index.js +129 -0
  332. package/dist/pagination/index.js.map +1 -0
  333. package/dist/pagination/index.mjs +129 -0
  334. package/dist/pagination/index.mjs.map +1 -0
  335. package/dist/popover/index.d.ts +12 -0
  336. package/dist/popover/index.js +83 -0
  337. package/dist/popover/index.js.map +1 -0
  338. package/dist/popover/index.mjs +83 -0
  339. package/dist/popover/index.mjs.map +1 -0
  340. package/dist/popupStateMapping-DKN5mXrh.js +2694 -0
  341. package/dist/popupStateMapping-DKN5mXrh.js.map +1 -0
  342. package/dist/popupStateMapping-Dvf6vjid.mjs +2678 -0
  343. package/dist/popupStateMapping-Dvf6vjid.mjs.map +1 -0
  344. package/dist/progress/index.d.ts +7 -0
  345. package/dist/progress/index.js +315 -0
  346. package/dist/progress/index.js.map +1 -0
  347. package/dist/progress/index.mjs +298 -0
  348. package/dist/progress/index.mjs.map +1 -0
  349. package/dist/radio-group/index.d.ts +5 -0
  350. package/dist/radio-group/index.js +549 -0
  351. package/dist/radio-group/index.js.map +1 -0
  352. package/dist/radio-group/index.mjs +532 -0
  353. package/dist/radio-group/index.mjs.map +1 -0
  354. package/dist/resizable/index.d.ts +7 -0
  355. package/dist/resizable/index.js +63 -0
  356. package/dist/resizable/index.js.map +1 -0
  357. package/dist/resizable/index.mjs +46 -0
  358. package/dist/resizable/index.mjs.map +1 -0
  359. package/dist/resolveAriaLabelledBy-BOrKNO_y.js +10 -0
  360. package/dist/resolveAriaLabelledBy-BOrKNO_y.js.map +1 -0
  361. package/dist/resolveAriaLabelledBy-JxsTST5s.mjs +11 -0
  362. package/dist/resolveAriaLabelledBy-JxsTST5s.mjs.map +1 -0
  363. package/dist/safePolygon-ClN7sX4N.mjs +710 -0
  364. package/dist/safePolygon-ClN7sX4N.mjs.map +1 -0
  365. package/dist/safePolygon-DzT-LXP_.js +727 -0
  366. package/dist/safePolygon-DzT-LXP_.js.map +1 -0
  367. package/dist/safeReact-V1Amqcv9.mjs +8 -0
  368. package/dist/safeReact-V1Amqcv9.mjs.map +1 -0
  369. package/dist/safeReact-j2phwwP4.js +24 -0
  370. package/dist/safeReact-j2phwwP4.js.map +1 -0
  371. package/dist/scroll-area/index.d.ts +4 -0
  372. package/dist/scroll-area/index.js +1017 -0
  373. package/dist/scroll-area/index.js.map +1 -0
  374. package/dist/scroll-area/index.mjs +1000 -0
  375. package/dist/scroll-area/index.mjs.map +1 -0
  376. package/dist/select/index.d.ts +15 -0
  377. package/dist/select/index.js +2311 -0
  378. package/dist/select/index.js.map +1 -0
  379. package/dist/select/index.mjs +2293 -0
  380. package/dist/select/index.mjs.map +1 -0
  381. package/dist/separator/index.d.ts +3 -0
  382. package/dist/separator/index.js +25 -0
  383. package/dist/separator/index.js.map +1 -0
  384. package/dist/separator/index.mjs +25 -0
  385. package/dist/separator/index.mjs.map +1 -0
  386. package/dist/serializeValue-BLvnTy3o.mjs +17 -0
  387. package/dist/serializeValue-BLvnTy3o.mjs.map +1 -0
  388. package/dist/serializeValue-rMlAxdiX.js +16 -0
  389. package/dist/serializeValue-rMlAxdiX.js.map +1 -0
  390. package/dist/sheet/index.d.ts +14 -0
  391. package/dist/sheet/index.js +135 -0
  392. package/dist/sheet/index.js.map +1 -0
  393. package/dist/sheet/index.mjs +135 -0
  394. package/dist/sheet/index.mjs.map +1 -0
  395. package/dist/sidebar/index.d.ts +64 -0
  396. package/dist/sidebar/index.js +671 -0
  397. package/dist/sidebar/index.js.map +1 -0
  398. package/dist/sidebar/index.mjs +654 -0
  399. package/dist/sidebar/index.mjs.map +1 -0
  400. package/dist/skeleton/index.d.ts +2 -0
  401. package/dist/skeleton/index.js +16 -0
  402. package/dist/skeleton/index.js.map +1 -0
  403. package/dist/skeleton/index.mjs +16 -0
  404. package/dist/skeleton/index.mjs.map +1 -0
  405. package/dist/slider/index.d.ts +3 -0
  406. package/dist/slider/index.js +1361 -0
  407. package/dist/slider/index.js.map +1 -0
  408. package/dist/slider/index.mjs +1344 -0
  409. package/dist/slider/index.mjs.map +1 -0
  410. package/dist/sonner/index.d.ts +3 -0
  411. package/dist/sonner/index.js +10 -0
  412. package/dist/sonner/index.js.map +1 -0
  413. package/dist/sonner/index.mjs +7 -0
  414. package/dist/sonner/index.mjs.map +1 -0
  415. package/dist/sonner/sonner.d.ts +3 -0
  416. package/dist/sonner-Ctpa1LLR.js +36 -0
  417. package/dist/sonner-Ctpa1LLR.js.map +1 -0
  418. package/dist/sonner-D0rALbMy.mjs +37 -0
  419. package/dist/sonner-D0rALbMy.mjs.map +1 -0
  420. package/dist/spinner/index.d.ts +2 -0
  421. package/dist/spinner/index.js +10 -0
  422. package/dist/spinner/index.js.map +1 -0
  423. package/dist/spinner/index.mjs +10 -0
  424. package/dist/spinner/index.mjs.map +1 -0
  425. package/dist/style.css +6284 -0
  426. package/dist/styles-BY9BExrL.js +17 -0
  427. package/dist/styles-BY9BExrL.js.map +1 -0
  428. package/dist/styles-DGdX19B5.mjs +18 -0
  429. package/dist/styles-DGdX19B5.mjs.map +1 -0
  430. package/dist/switch/index.d.ts +5 -0
  431. package/dist/switch/index.js +306 -0
  432. package/dist/switch/index.js.map +1 -0
  433. package/dist/switch/index.mjs +289 -0
  434. package/dist/switch/index.mjs.map +1 -0
  435. package/dist/table/index.d.ts +10 -0
  436. package/dist/table/index.js +115 -0
  437. package/dist/table/index.js.map +1 -0
  438. package/dist/table/index.mjs +115 -0
  439. package/dist/table/index.mjs.map +1 -0
  440. package/dist/tabs/index.d.ts +11 -0
  441. package/dist/tabs/index.js +718 -0
  442. package/dist/tabs/index.js.map +1 -0
  443. package/dist/tabs/index.mjs +701 -0
  444. package/dist/tabs/index.mjs.map +1 -0
  445. package/dist/textarea/index.d.ts +3 -0
  446. package/dist/textarea/index.js +19 -0
  447. package/dist/textarea/index.js.map +1 -0
  448. package/dist/textarea/index.mjs +19 -0
  449. package/dist/textarea/index.mjs.map +1 -0
  450. package/dist/toggle/index.d.ts +9 -0
  451. package/dist/toggle/index.js +9 -0
  452. package/dist/toggle/index.js.map +1 -0
  453. package/dist/toggle/index.mjs +9 -0
  454. package/dist/toggle/index.mjs.map +1 -0
  455. package/dist/toggle-group/index.d.ts +10 -0
  456. package/dist/toggle-group/index.js +199 -0
  457. package/dist/toggle-group/index.js.map +1 -0
  458. package/dist/toggle-group/index.mjs +182 -0
  459. package/dist/toggle-group/index.mjs.map +1 -0
  460. package/dist/tooltip/index.d.ts +6 -0
  461. package/dist/tooltip/index.js +940 -0
  462. package/dist/tooltip/index.js.map +1 -0
  463. package/dist/tooltip/index.mjs +922 -0
  464. package/dist/tooltip/index.mjs.map +1 -0
  465. package/dist/useAnchorPositioning-DEkPt210.mjs +2213 -0
  466. package/dist/useAnchorPositioning-DEkPt210.mjs.map +1 -0
  467. package/dist/useAnchorPositioning-jXRh4g8d.js +2229 -0
  468. package/dist/useAnchorPositioning-jXRh4g8d.js.map +1 -0
  469. package/dist/useAnimationFrame-Bgt4Euiv.js +100 -0
  470. package/dist/useAnimationFrame-Bgt4Euiv.js.map +1 -0
  471. package/dist/useAnimationFrame-CJsjFUv3.mjs +101 -0
  472. package/dist/useAnimationFrame-CJsjFUv3.mjs.map +1 -0
  473. package/dist/useAriaLabelledBy-AZCBHH3a.js +63 -0
  474. package/dist/useAriaLabelledBy-AZCBHH3a.js.map +1 -0
  475. package/dist/useAriaLabelledBy-Chelmb26.mjs +47 -0
  476. package/dist/useAriaLabelledBy-Chelmb26.mjs.map +1 -0
  477. package/dist/useBaseUiId-Dd6rCWZj.mjs +30 -0
  478. package/dist/useBaseUiId-Dd6rCWZj.mjs.map +1 -0
  479. package/dist/useBaseUiId-ZDgjliOe.js +46 -0
  480. package/dist/useBaseUiId-ZDgjliOe.js.map +1 -0
  481. package/dist/useButton-CcvYPR5H.js +246 -0
  482. package/dist/useButton-CcvYPR5H.js.map +1 -0
  483. package/dist/useButton-DbBdV6Ig.mjs +230 -0
  484. package/dist/useButton-DbBdV6Ig.mjs.map +1 -0
  485. package/dist/useClick-1DLd7znk.mjs +97 -0
  486. package/dist/useClick-1DLd7znk.mjs.map +1 -0
  487. package/dist/useClick-wsFFnZw6.js +113 -0
  488. package/dist/useClick-wsFFnZw6.js.map +1 -0
  489. package/dist/useCollapsiblePanel-DIdAXCDX.mjs +439 -0
  490. package/dist/useCollapsiblePanel-DIdAXCDX.mjs.map +1 -0
  491. package/dist/useCollapsiblePanel-OP0gCAiW.js +455 -0
  492. package/dist/useCollapsiblePanel-OP0gCAiW.js.map +1 -0
  493. package/dist/useCompositeItem-CP0qNLGv.mjs +43 -0
  494. package/dist/useCompositeItem-CP0qNLGv.mjs.map +1 -0
  495. package/dist/useCompositeItem-F8jky_8M.js +59 -0
  496. package/dist/useCompositeItem-F8jky_8M.js.map +1 -0
  497. package/dist/useCompositeListItem-CPSGNf6p.js +116 -0
  498. package/dist/useCompositeListItem-CPSGNf6p.js.map +1 -0
  499. package/dist/useCompositeListItem-CvqgwmCe.mjs +100 -0
  500. package/dist/useCompositeListItem-CvqgwmCe.mjs.map +1 -0
  501. package/dist/useControlled-DITi2kHX.mjs +38 -0
  502. package/dist/useControlled-DITi2kHX.mjs.map +1 -0
  503. package/dist/useControlled-DTjTIpeU.js +54 -0
  504. package/dist/useControlled-DTjTIpeU.js.map +1 -0
  505. package/dist/useFocus-BonLJ9UY.js +162 -0
  506. package/dist/useFocus-BonLJ9UY.js.map +1 -0
  507. package/dist/useFocus-D2m1G1R7.mjs +146 -0
  508. package/dist/useFocus-D2m1G1R7.mjs.map +1 -0
  509. package/dist/useIsoLayoutEffect-CAx-dEZM.mjs +8 -0
  510. package/dist/useIsoLayoutEffect-CAx-dEZM.mjs.map +1 -0
  511. package/dist/useIsoLayoutEffect-CYDr9Bko.js +24 -0
  512. package/dist/useIsoLayoutEffect-CYDr9Bko.js.map +1 -0
  513. package/dist/useLabelableId-BMQMbGuJ.mjs +67 -0
  514. package/dist/useLabelableId-BMQMbGuJ.mjs.map +1 -0
  515. package/dist/useLabelableId-C-dL4hfJ.js +83 -0
  516. package/dist/useLabelableId-C-dL4hfJ.js.map +1 -0
  517. package/dist/useOnFirstRender-BYSeF6Y1.js +28 -0
  518. package/dist/useOnFirstRender-BYSeF6Y1.js.map +1 -0
  519. package/dist/useOnFirstRender-_PvKQsmi.mjs +12 -0
  520. package/dist/useOnFirstRender-_PvKQsmi.mjs.map +1 -0
  521. package/dist/useOnMount-CzmIG4WC.js +25 -0
  522. package/dist/useOnMount-CzmIG4WC.js.map +1 -0
  523. package/dist/useOnMount-DN6FnE-7.mjs +9 -0
  524. package/dist/useOnMount-DN6FnE-7.mjs.map +1 -0
  525. package/dist/useOpenChangeComplete-B0xZNwMu.js +194 -0
  526. package/dist/useOpenChangeComplete-B0xZNwMu.js.map +1 -0
  527. package/dist/useOpenChangeComplete-DbPLu-k9.mjs +177 -0
  528. package/dist/useOpenChangeComplete-DbPLu-k9.mjs.map +1 -0
  529. package/dist/useRender-DKDvf6kd.mjs +8 -0
  530. package/dist/useRender-DKDvf6kd.mjs.map +1 -0
  531. package/dist/useRender-PucZeh4Y.js +7 -0
  532. package/dist/useRender-PucZeh4Y.js.map +1 -0
  533. package/dist/useRenderElement-CtyURhhF.js +427 -0
  534. package/dist/useRenderElement-CtyURhhF.js.map +1 -0
  535. package/dist/useRenderElement-DtkRtCHE.mjs +412 -0
  536. package/dist/useRenderElement-DtkRtCHE.mjs.map +1 -0
  537. package/dist/useRole-CuVJ_Qa_.js +125 -0
  538. package/dist/useRole-CuVJ_Qa_.js.map +1 -0
  539. package/dist/useRole-DzRWctvj.mjs +109 -0
  540. package/dist/useRole-DzRWctvj.mjs.map +1 -0
  541. package/dist/useStableCallback-8_xI9oDo.mjs +40 -0
  542. package/dist/useStableCallback-8_xI9oDo.mjs.map +1 -0
  543. package/dist/useStableCallback-CfE_knIO.js +56 -0
  544. package/dist/useStableCallback-CfE_knIO.js.map +1 -0
  545. package/dist/useSyncedFloatingRootContext-BhwJbN5C.js +237 -0
  546. package/dist/useSyncedFloatingRootContext-BhwJbN5C.js.map +1 -0
  547. package/dist/useSyncedFloatingRootContext-BiC-l-Yp.mjs +221 -0
  548. package/dist/useSyncedFloatingRootContext-BiC-l-Yp.mjs.map +1 -0
  549. package/dist/useTimeout-CSlJ10_7.js +45 -0
  550. package/dist/useTimeout-CSlJ10_7.js.map +1 -0
  551. package/dist/useTimeout-DP0d-UkF.mjs +46 -0
  552. package/dist/useTimeout-DP0d-UkF.mjs.map +1 -0
  553. package/dist/useTypeahead-De1veul8.mjs +697 -0
  554. package/dist/useTypeahead-De1veul8.mjs.map +1 -0
  555. package/dist/useTypeahead-JL7mFfnS.js +713 -0
  556. package/dist/useTypeahead-JL7mFfnS.js.map +1 -0
  557. package/dist/useValueAsRef-BPI-p5A3.mjs +22 -0
  558. package/dist/useValueAsRef-BPI-p5A3.mjs.map +1 -0
  559. package/dist/useValueAsRef-uSzmRbW_.js +21 -0
  560. package/dist/useValueAsRef-uSzmRbW_.js.map +1 -0
  561. package/dist/useValueChanged-CEUlHhs5.mjs +20 -0
  562. package/dist/useValueChanged-CEUlHhs5.mjs.map +1 -0
  563. package/dist/useValueChanged-CvJls2Pv.js +36 -0
  564. package/dist/useValueChanged-CvJls2Pv.js.map +1 -0
  565. package/dist/utils-H80jjgLf.mjs +9 -0
  566. package/dist/utils-H80jjgLf.mjs.map +1 -0
  567. package/dist/utils-ij3i9zTT.js +8 -0
  568. package/dist/utils-ij3i9zTT.js.map +1 -0
  569. package/dist/valueToPercent-CfYnVMaY.js +39 -0
  570. package/dist/valueToPercent-CfYnVMaY.js.map +1 -0
  571. package/dist/valueToPercent-DxMnLf8t.mjs +40 -0
  572. package/dist/valueToPercent-DxMnLf8t.mjs.map +1 -0
  573. package/dist/visuallyHidden-D_sL9-70.mjs +25 -0
  574. package/dist/visuallyHidden-D_sL9-70.mjs.map +1 -0
  575. package/dist/visuallyHidden-Dkg-c0_K.js +24 -0
  576. package/dist/visuallyHidden-Dkg-c0_K.js.map +1 -0
  577. package/package.json +382 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalBackdrop-C7vtdMWQ.mjs","sources":["../../../node_modules/.pnpm/@base-ui+utils@0.2.6_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/utils/esm/useScrollLock.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/floating-ui-react/utils/enqueueFocus.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/floating-ui-react/utils/markOthers.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingFocusManager.js","../../../node_modules/.pnpm/@base-ui+utils@0.2.6_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/utils/esm/useEnhancedClickHandler.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/utils/InternalBackdrop.js"],"sourcesContent":["'use client';\n\nimport { isOverflowElement } from '@floating-ui/utils/dom';\nimport { isIOS, isWebKit } from \"./detectBrowser.js\";\nimport { ownerDocument, ownerWindow } from \"./owner.js\";\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.js\";\nimport { Timeout } from \"./useTimeout.js\";\nimport { AnimationFrame } from \"./useAnimationFrame.js\";\nimport { NOOP } from \"./empty.js\";\nlet originalHtmlStyles = {};\nlet originalBodyStyles = {};\nlet originalHtmlScrollBehavior = '';\nfunction hasInsetScrollbars(referenceElement) {\n if (typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const win = ownerWindow(doc);\n return win.innerWidth - doc.documentElement.clientWidth > 0;\n}\nfunction supportsStableScrollbarGutter(referenceElement) {\n const supported = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('scrollbar-gutter', 'stable');\n if (!supported || typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const scrollContainer = isOverflowElement(html) ? html : body;\n const originalScrollContainerOverflowY = scrollContainer.style.overflowY;\n const originalHtmlStyleGutter = html.style.scrollbarGutter;\n html.style.scrollbarGutter = 'stable';\n scrollContainer.style.overflowY = 'scroll';\n const before = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = 'hidden';\n const after = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = originalScrollContainerOverflowY;\n html.style.scrollbarGutter = originalHtmlStyleGutter;\n return before === after;\n}\nfunction preventScrollOverlayScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n\n // If an `overflow` style is present on <html>, we need to lock it, because a lock on <body>\n // won't have any effect.\n // But if <body> has an `overflow` style (like `overflow-x: hidden`), we need to lock it\n // instead, as sticky elements shift otherwise.\n const elementToLock = isOverflowElement(html) ? html : body;\n const originalElementToLockStyles = {\n overflowY: elementToLock.style.overflowY,\n overflowX: elementToLock.style.overflowX\n };\n Object.assign(elementToLock.style, {\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n return () => {\n Object.assign(elementToLock.style, originalElementToLockStyles);\n };\n}\nfunction preventScrollInsetScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const win = ownerWindow(html);\n let scrollTop = 0;\n let scrollLeft = 0;\n let updateGutterOnly = false;\n const resizeFrame = AnimationFrame.create();\n\n // Pinch-zoom in Safari causes a shift. Just don't lock scroll if there's any pinch-zoom.\n if (isWebKit && (win.visualViewport?.scale ?? 1) !== 1) {\n return () => {};\n }\n function lockScroll() {\n /* DOM reads: */\n\n const htmlStyles = win.getComputedStyle(html);\n const bodyStyles = win.getComputedStyle(body);\n const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || '';\n const hasBothEdges = htmlScrollbarGutterValue.includes('both-edges');\n const scrollbarGutterValue = hasBothEdges ? 'stable both-edges' : 'stable';\n scrollTop = html.scrollTop;\n scrollLeft = html.scrollLeft;\n originalHtmlStyles = {\n scrollbarGutter: html.style.scrollbarGutter,\n overflowY: html.style.overflowY,\n overflowX: html.style.overflowX\n };\n originalHtmlScrollBehavior = html.style.scrollBehavior;\n originalBodyStyles = {\n position: body.style.position,\n height: body.style.height,\n width: body.style.width,\n boxSizing: body.style.boxSizing,\n overflowY: body.style.overflowY,\n overflowX: body.style.overflowX,\n scrollBehavior: body.style.scrollBehavior\n };\n const isScrollableY = html.scrollHeight > html.clientHeight;\n const isScrollableX = html.scrollWidth > html.clientWidth;\n const hasConstantOverflowY = htmlStyles.overflowY === 'scroll' || bodyStyles.overflowY === 'scroll';\n const hasConstantOverflowX = htmlStyles.overflowX === 'scroll' || bodyStyles.overflowX === 'scroll';\n\n // Values can be negative in Firefox\n const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);\n const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);\n\n // Avoid shift due to the default <body> margin. This does cause elements to be clipped\n // with whitespace. Warn if <body> has margins?\n const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);\n const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);\n const elementToLock = isOverflowElement(html) ? html : body;\n updateGutterOnly = supportsStableScrollbarGutter(referenceElement);\n\n /*\n * DOM writes:\n * Do not read the DOM past this point!\n */\n\n if (updateGutterOnly) {\n html.style.scrollbarGutter = scrollbarGutterValue;\n elementToLock.style.overflowY = 'hidden';\n elementToLock.style.overflowX = 'hidden';\n return;\n }\n Object.assign(html.style, {\n scrollbarGutter: scrollbarGutterValue,\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n if (isScrollableY || hasConstantOverflowY) {\n html.style.overflowY = 'scroll';\n }\n if (isScrollableX || hasConstantOverflowX) {\n html.style.overflowX = 'scroll';\n }\n Object.assign(body.style, {\n position: 'relative',\n height: marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : '100dvh',\n width: marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : '100vw',\n boxSizing: 'border-box',\n overflow: 'hidden',\n scrollBehavior: 'unset'\n });\n body.scrollTop = scrollTop;\n body.scrollLeft = scrollLeft;\n html.setAttribute('data-base-ui-scroll-locked', '');\n html.style.scrollBehavior = 'unset';\n }\n function cleanup() {\n Object.assign(html.style, originalHtmlStyles);\n Object.assign(body.style, originalBodyStyles);\n if (!updateGutterOnly) {\n html.scrollTop = scrollTop;\n html.scrollLeft = scrollLeft;\n html.removeAttribute('data-base-ui-scroll-locked');\n html.style.scrollBehavior = originalHtmlScrollBehavior;\n }\n }\n function handleResize() {\n cleanup();\n resizeFrame.request(lockScroll);\n }\n lockScroll();\n win.addEventListener('resize', handleResize);\n return () => {\n resizeFrame.cancel();\n cleanup();\n // Sometimes this cleanup can be run after test teardown\n // because it is called in a `setTimeout(fn, 0)`,\n // in which case `removeEventListener` wouldn't be available,\n // so we check for it to avoid test failures.\n if (typeof win.removeEventListener === 'function') {\n win.removeEventListener('resize', handleResize);\n }\n };\n}\nclass ScrollLocker {\n lockCount = 0;\n restore = null;\n timeoutLock = Timeout.create();\n timeoutUnlock = Timeout.create();\n acquire(referenceElement) {\n this.lockCount += 1;\n if (this.lockCount === 1 && this.restore === null) {\n this.timeoutLock.start(0, () => this.lock(referenceElement));\n }\n return this.release;\n }\n release = () => {\n this.lockCount -= 1;\n if (this.lockCount === 0 && this.restore) {\n this.timeoutUnlock.start(0, this.unlock);\n }\n };\n unlock = () => {\n if (this.lockCount === 0 && this.restore) {\n this.restore?.();\n this.restore = null;\n }\n };\n lock(referenceElement) {\n if (this.lockCount === 0 || this.restore !== null) {\n return;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const htmlOverflowY = ownerWindow(html).getComputedStyle(html).overflowY;\n\n // If the site author already hid overflow on <html>, respect it and bail out.\n if (htmlOverflowY === 'hidden' || htmlOverflowY === 'clip') {\n this.restore = NOOP;\n return;\n }\n const hasOverlayScrollbars = isIOS || !hasInsetScrollbars(referenceElement);\n\n // On iOS, scroll locking does not work if the navbar is collapsed. Due to numerous\n // side effects and bugs that arise on iOS, it must be researched extensively before\n // being enabled to ensure it doesn't cause the following issues:\n // - Textboxes must scroll into view when focused, nor cause a glitchy scroll animation.\n // - The navbar must not force itself into view and cause layout shift.\n // - Scroll containers must not flicker upon closing a popup when it has an exit animation.\n this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);\n }\n}\nconst SCROLL_LOCKER = new ScrollLocker();\n\n/**\n * Locks the scroll of the document when enabled.\n *\n * @param enabled - Whether to enable the scroll lock.\n * @param referenceElement - Element to use as a reference for lock calculations.\n */\nexport function useScrollLock(enabled = true, referenceElement = null) {\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return SCROLL_LOCKER.acquire(referenceElement);\n }, [enabled, referenceElement]);\n}","let rafId = 0;\nexport function enqueueFocus(el, options = {}) {\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n if (cancelPrevious) {\n cancelAnimationFrame(rafId);\n }\n const exec = () => el?.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}","// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nimport { getNodeName, isShadowRoot } from '@floating-ui/utils/dom';\nimport { ownerDocument } from '@base-ui/utils/owner';\nconst counters = {\n inert: new WeakMap(),\n 'aria-hidden': new WeakMap()\n};\nconst markerName = 'data-base-ui-inert';\nconst uncontrolledElementsSets = {\n inert: new WeakSet(),\n 'aria-hidden': new WeakSet()\n};\nlet markerCounterMap = new WeakMap();\nlet lockCount = 0;\nfunction getUncontrolledElementsSet(controlAttribute) {\n return uncontrolledElementsSets[controlAttribute];\n}\nexport const supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nfunction unwrapHost(node) {\n if (!node) {\n return null;\n }\n return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);\n}\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nconst buildKeepSet = targets => {\n const keep = new Set();\n targets.forEach(target => {\n let node = target;\n while (node && !keep.has(node)) {\n keep.add(node);\n node = node.parentNode;\n }\n });\n return keep;\n};\nconst collectOutsideElements = (root, keepElements, stopElements) => {\n const outside = [];\n const walk = parent => {\n if (!parent || stopElements.has(parent)) {\n return;\n }\n Array.from(parent.children).forEach(node => {\n if (getNodeName(node) === 'script') {\n return;\n }\n if (keepElements.has(node)) {\n walk(node);\n } else {\n outside.push(node);\n }\n });\n };\n walk(root);\n return outside;\n};\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert, {\n mark = true,\n markerIgnoreElements = []\n}) {\n // eslint-disable-next-line no-nested-ternary\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n let counterMap = null;\n let uncontrolledElementsSet = null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const markerIgnoreTargets = mark ? correctElements(body, markerIgnoreElements) : [];\n const markerIgnoreSet = new Set(markerIgnoreTargets);\n const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)).filter(target => !markerIgnoreSet.has(target)) : [];\n const hiddenElements = [];\n const markedElements = [];\n if (controlAttribute) {\n const map = counters[controlAttribute];\n const currentUncontrolledElementsSet = getUncontrolledElementsSet(controlAttribute);\n uncontrolledElementsSet = currentUncontrolledElementsSet;\n counterMap = map;\n const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll('[aria-live]')));\n const controlElements = avoidElements.concat(ariaLiveElements);\n const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));\n controlTargets.forEach(node => {\n const attr = node.getAttribute(controlAttribute);\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterValue = (map.get(node) || 0) + 1;\n map.set(node, counterValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n currentUncontrolledElementsSet.add(node);\n }\n if (!alreadyHidden) {\n node.setAttribute(controlAttribute, controlAttribute === 'inert' ? '' : 'true');\n }\n });\n }\n if (mark) {\n markerTargets.forEach(node => {\n const markerValue = (markerCounterMap.get(node) || 0) + 1;\n markerCounterMap.set(node, markerValue);\n markedElements.push(node);\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n });\n }\n lockCount += 1;\n return () => {\n if (counterMap) {\n hiddenElements.forEach(element => {\n const currentCounterValue = counterMap.get(element) || 0;\n const counterValue = currentCounterValue - 1;\n counterMap.set(element, counterValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet?.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet?.delete(element);\n }\n });\n }\n if (mark) {\n markedElements.forEach(element => {\n const markerValue = (markerCounterMap.get(element) || 0) - 1;\n markerCounterMap.set(element, markerValue);\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n }\n lockCount -= 1;\n if (!lockCount) {\n counters.inert = new WeakMap();\n counters['aria-hidden'] = new WeakMap();\n uncontrolledElementsSets.inert = new WeakSet();\n uncontrolledElementsSets['aria-hidden'] = new WeakSet();\n markerCounterMap = new WeakMap();\n }\n };\n}\nexport function markOthers(avoidElements, options = {}) {\n const {\n ariaHidden = false,\n inert = false,\n mark = true,\n markerIgnoreElements = []\n } = options;\n const body = ownerDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements, body, ariaHidden, inert, {\n mark,\n markerIgnoreElements\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { tabbable, isTabbable, focusable } from 'tabbable';\nimport { getNodeName, isHTMLElement } from '@floating-ui/utils/dom';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { isWebKit } from '@base-ui/utils/detectBrowser';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { FocusGuard } from \"../../utils/FocusGuard.js\";\nimport { activeElement, contains, getTarget, isTypeableCombobox, isVirtualClick, isVirtualPointerEvent, stopEvent, getNodeAncestors, getNodeChildren, getFloatingFocusElement, getTabbableOptions, isOutsideEvent, getNextTabbable, getPreviousTabbable, isElementVisible, isTypeableElement } from \"../utils.js\";\nimport { createChangeEventDetails } from \"../../utils/createBaseUIEventDetails.js\";\nimport { REASONS } from \"../../utils/reasons.js\";\nimport { createAttribute } from \"../utils/createAttribute.js\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.js\";\nimport { markOthers } from \"../utils/markOthers.js\";\nimport { usePortalContext } from \"./FloatingPortal.js\";\nimport { useFloatingTree } from \"./FloatingTree.js\";\nimport { CLICK_TRIGGER_IDENTIFIER } from \"../../utils/constants.js\";\nimport { resolveRef } from \"../../utils/resolveRef.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getEventType(event, lastInteractionType) {\n const win = ownerWindow(event.target);\n if (event instanceof win.KeyboardEvent) {\n return 'keyboard';\n }\n if (event instanceof win.FocusEvent) {\n // Focus events can be caused by a preceding pointer interaction (e.g., focusout on outside press).\n // Prefer the last known pointer type if provided, else treat as keyboard.\n return lastInteractionType || 'keyboard';\n }\n if ('pointerType' in event) {\n return event.pointerType || 'keyboard';\n }\n if ('touches' in event) {\n return 'touch';\n }\n if (event instanceof win.MouseEvent) {\n // onClick events may not contain pointer events, and will fall through to here\n return lastInteractionType || (event.detail === 0 ? 'keyboard' : 'mouse');\n }\n return '';\n}\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction clearDisconnectedPreviouslyFocusedElements() {\n previouslyFocusedElements = previouslyFocusedElements.filter(entry => {\n return entry.deref()?.isConnected;\n });\n}\nfunction addPreviouslyFocusedElement(element) {\n clearDisconnectedPreviouslyFocusedElements();\n if (element && getNodeName(element) !== 'body') {\n previouslyFocusedElements.push(new WeakRef(element));\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);\n }\n }\n}\nfunction getPreviouslyFocusedElement() {\n clearDisconnectedPreviouslyFocusedElements();\n return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();\n}\nfunction getFirstTabbableElement(container) {\n if (!container) {\n return null;\n }\n const tabbableOptions = getTabbableOptions();\n if (isTabbable(container, tabbableOptions)) {\n return container;\n }\n return tabbable(container, tabbableOptions)[0] || container;\n}\nfunction isFocusable(element) {\n if (!element || !element.isConnected) {\n return false;\n }\n if (typeof element.checkVisibility === 'function') {\n return element.checkVisibility();\n }\n return isElementVisible(element);\n}\nfunction handleTabIndex(floatingFocusElement, orderRef) {\n if (!orderRef.current.includes('floating') && !floatingFocusElement.getAttribute('role')?.includes('dialog')) {\n return;\n }\n const options = getTabbableOptions();\n const focusableElements = focusable(floatingFocusElement, options);\n const tabbableContent = focusableElements.filter(element => {\n const dataTabIndex = element.getAttribute('data-tabindex') || '';\n return isTabbable(element, options) || element.hasAttribute('data-tabindex') && !dataTabIndex.startsWith('-');\n });\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n if (orderRef.current.includes('floating') || tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1' || floatingFocusElement.hasAttribute('data-tabindex') && floatingFocusElement.getAttribute('data-tabindex') !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n floatingFocusElement.setAttribute('data-tabindex', '-1');\n }\n}\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n * @internal\n */\nexport function FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n initialFocus = true,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n closeOnFocusOut = true,\n openInteractionType = '',\n nextFocusableElement,\n previousFocusableElement,\n beforeContentFocusGuardRef,\n externalTree,\n getInsideElements\n } = props;\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const domReference = store.useState('domReferenceElement');\n const floating = store.useState('floatingElement');\n const {\n events,\n dataRef\n } = store.context;\n const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);\n const ignoreInitialFocus = initialFocus === false;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n const orderRef = React.useRef(['content']);\n const initialFocusRef = useValueAsRef(initialFocus);\n const returnFocusRef = useValueAsRef(returnFocus);\n const openInteractionTypeRef = useValueAsRef(openInteractionType);\n const tree = useFloatingTree(externalTree);\n const portalContext = usePortalContext();\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const pointerDownOutsideRef = React.useRef(false);\n const tabbableIndexRef = React.useRef(-1);\n const closeTypeRef = React.useRef('');\n const lastInteractionTypeRef = React.useRef('');\n const beforeGuardRef = React.useRef(null);\n const afterGuardRef = React.useRef(null);\n const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);\n const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);\n const blurTimeout = useTimeout();\n const pointerDownTimeout = useTimeout();\n const restoreFocusFrame = useAnimationFrame();\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useStableCallback((container = floatingFocusElement) => {\n return container ? tabbable(container, getTabbableOptions()) : [];\n });\n const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter(element => element != null) ?? []);\n const getTabbableElements = useStableCallback(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(() => content).filter(Boolean).flat();\n });\n\n // Prevent Tab from escaping the modal when there are no tabbable elements.\n React.useEffect(() => {\n if (disabled || !modal) {\n return undefined;\n }\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n }\n }\n const doc = ownerDocument(floatingFocusElement);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n\n // Track pointer/keyboard interactions to disambiguate focus and outside presses.\n React.useEffect(() => {\n if (disabled || !open) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n function clearPointerDownOutside() {\n pointerDownOutsideRef.current = false;\n }\n function onPointerDown(event) {\n const target = getTarget(event);\n const insideElements = getResolvedInsideElements();\n const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some(element => element === target || contains(element, target));\n pointerDownOutsideRef.current = !pointerTargetInside;\n lastInteractionTypeRef.current = event.pointerType || 'keyboard';\n if (target?.closest(`[${CLICK_TRIGGER_IDENTIFIER}]`)) {\n isPointerDownRef.current = true;\n }\n }\n function onKeyDown() {\n lastInteractionTypeRef.current = 'keyboard';\n }\n doc.addEventListener('pointerdown', onPointerDown, true);\n doc.addEventListener('pointerup', clearPointerDownOutside, true);\n doc.addEventListener('pointercancel', clearPointerDownOutside, true);\n doc.addEventListener('keydown', onKeyDown, true);\n return () => {\n doc.removeEventListener('pointerdown', onPointerDown, true);\n doc.removeEventListener('pointerup', clearPointerDownOutside, true);\n doc.removeEventListener('pointercancel', clearPointerDownOutside, true);\n doc.removeEventListener('keydown', onKeyDown, true);\n };\n }, [disabled, floating, domReference, floatingFocusElement, open, portalContext, getResolvedInsideElements]);\n\n // Close on focus out and restore focus within the floating tree when needed.\n React.useEffect(() => {\n if (disabled || !closeOnFocusOut) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n pointerDownTimeout.start(0, () => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusIn(event) {\n const target = getTarget(event);\n const tabbableContent = getTabbableContent();\n const tabbableIndex = tabbableContent.indexOf(target);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const currentTarget = event.currentTarget;\n const target = getTarget(event);\n queueMicrotask(() => {\n const nodeId = getNodeId();\n const triggers = store.context.triggerElements;\n const insideElements = getResolvedInsideElements();\n const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute('focus-guard')) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);\n const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some(element => element === relatedTarget || contains(element, relatedTarget)) || relatedTarget != null && triggers.hasElement(relatedTarget) || triggers.hasMatchingElement(trigger => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find(node => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));\n if (currentTarget === domReference && floatingFocusElement) {\n handleTabIndex(floatingFocusElement, orderRef);\n }\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && currentTarget !== domReference && !isFocusable(target) && activeElement(doc) === doc.body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n // If explicitly requested to restore focus to the popup container, do not search\n // for the next/previous tabbable element.\n if (restoreFocus === 'popup') {\n // If the element is removed on pointerdown, focus tries to move it,\n // but since it's removed at the same time, focus gets lost as it\n // happens after the .focus() call above.\n // In this case, focus needs to be moved asynchronously.\n restoreFocusFrame.request(() => {\n floatingFocusElement.focus();\n });\n return;\n }\n }\n const prevTabbableIndex = tabbableIndexRef.current;\n const tabbableContent = getTabbableContent();\n const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // https://github.com/floating-ui/floating-ui/issues/3060\n if (dataRef.current.insideReactTree) {\n dataRef.current.insideReactTree = false;\n return;\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && (\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n // For an \"untrapped\" typeable combobox (input role=combobox with\n // initialFocus=false), re-opening the popup and tabbing out should still close it even\n // when the previously focused element (e.g. the next tabbable outside the popup) is\n // focused again. Otherwise, the popup remains open on the second Tab sequence:\n // click input -> Tab (closes) -> click input -> Tab.\n // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.\n isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {\n preventReturnFocusRef.current = true;\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event));\n }\n });\n }\n function markInsideReactTree() {\n if (pointerDownOutsideRef.current) {\n return;\n }\n dataRef.current.insideReactTree = true;\n blurTimeout.start(0, () => {\n dataRef.current.insideReactTree = false;\n });\n }\n const domReferenceElement = isHTMLElement(domReference) ? domReference : null;\n const cleanups = [];\n if (!floating && !domReferenceElement) {\n return undefined;\n }\n if (domReferenceElement) {\n domReferenceElement.addEventListener('focusout', handleFocusOutside);\n domReferenceElement.addEventListener('pointerdown', handlePointerDown);\n cleanups.push(() => {\n domReferenceElement.removeEventListener('focusout', handleFocusOutside);\n domReferenceElement.removeEventListener('pointerdown', handlePointerDown);\n });\n }\n if (floating) {\n floating.addEventListener('focusin', handleFocusIn);\n floating.addEventListener('focusout', handleFocusOutside);\n if (portalContext) {\n floating.addEventListener('focusout', markInsideReactTree, true);\n cleanups.push(() => {\n floating.removeEventListener('focusout', markInsideReactTree, true);\n });\n }\n cleanups.push(() => {\n floating.removeEventListener('focusin', handleFocusIn);\n floating.removeEventListener('focusout', handleFocusOutside);\n });\n }\n return () => {\n cleanups.forEach(cleanup => {\n cleanup();\n });\n };\n }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Hide everything outside the floating tree from assistive tech while open.\n React.useEffect(() => {\n if (disabled || !floating || !open) {\n return undefined;\n }\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[${createAttribute('portal')}]`) || []);\n const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n const rootAncestorComboboxDomReference = ancestors.find(node => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;\n const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];\n const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const ariaHiddenCleanup = markOthers(insideElements, {\n ariaHidden: modal || isUntrappedTypeableCombobox,\n mark: false\n });\n const markerInsideElements = [floating, ...portalNodes].filter(x => x != null);\n const markerCleanup = markOthers(markerInsideElements);\n return () => {\n markerCleanup();\n ariaHiddenCleanup();\n };\n }, [open, disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);\n\n // Focus the initial element when the floating element opens.\n useIsoLayoutEffect(() => {\n if (!open || disabled || !isHTMLElement(floatingFocusElement)) {\n return;\n }\n const doc = ownerDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floatingFocusElement);\n const initialFocusValueOrFn = initialFocusRef.current;\n const resolvedInitialFocus = typeof initialFocusValueOrFn === 'function' ? initialFocusValueOrFn(openInteractionTypeRef.current || '') : initialFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedInitialFocus === undefined || resolvedInitialFocus === false) {\n return;\n }\n let elToFocus;\n if (resolvedInitialFocus === true || resolvedInitialFocus === null) {\n elToFocus = focusableElements[0] || floatingFocusElement;\n } else {\n elToFocus = resolveRef(resolvedInitialFocus);\n }\n elToFocus = elToFocus || focusableElements[0] || floatingFocusElement;\n const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);\n if (focusAlreadyInsideFloatingEl) {\n return;\n }\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement\n });\n });\n }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef, openInteractionTypeRef]);\n\n // Track return focus targets and restore focus on unmount/close.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n const doc = ownerDocument(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChangeLocal(details) {\n if (!details.open) {\n closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);\n }\n if (details.reason === REASONS.triggerHover && details.nativeEvent.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (details.reason !== REASONS.outsidePress) {\n return;\n }\n if (details.nested) {\n preventReturnFocusRef.current = false;\n } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {\n preventReturnFocusRef.current = false;\n } else {\n let isPreventScrollSupported = false;\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n if (isPreventScrollSupported) {\n preventReturnFocusRef.current = false;\n } else {\n preventReturnFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChangeLocal);\n function getReturnElement() {\n const returnFocusValueOrFn = returnFocusRef.current;\n let resolvedReturnFocusValue = typeof returnFocusValueOrFn === 'function' ? returnFocusValueOrFn(closeTypeRef.current) : returnFocusValueOrFn;\n\n // `null` should fallback to default behavior in case of an empty ref.\n if (resolvedReturnFocusValue === undefined || resolvedReturnFocusValue === false) {\n return null;\n }\n if (resolvedReturnFocusValue === null) {\n resolvedReturnFocusValue = true;\n }\n if (typeof resolvedReturnFocusValue === 'boolean') {\n const el = domReference || getPreviouslyFocusedElement();\n return el && el.isConnected ? el : null;\n }\n const fallback = domReference || getPreviouslyFocusedElement();\n return resolveRef(resolvedReturnFocusValue) || fallback || null;\n }\n return () => {\n events.off('openchange', onOpenChangeLocal);\n const activeEl = activeElement(doc);\n const insideElements = getResolvedInsideElements();\n const isFocusInsideFloatingTree = contains(floating, activeEl) || insideElements.some(element => element === activeEl || contains(element, activeEl)) || tree && getNodeChildren(tree.nodesRef.current, getNodeId(), false).some(node => contains(node.context?.elements.floating, activeEl));\n const returnElement = getReturnElement();\n queueMicrotask(() => {\n // This is `returnElement`, if it's tabbable, or its first tabbable child.\n const tabbableReturnElement = getFirstTabbableElement(returnElement);\n const hasExplicitReturnFocus = typeof returnFocusRef.current !== 'boolean';\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n !hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n tabbableReturnElement.focus({\n preventScroll: true\n });\n }\n preventReturnFocusRef.current = false;\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);\n\n // Safari may randomly scroll to the bottom of the page if an input inside a popup has focus\n // when the popup unmounts from the DOM.\n // By blurring it before the popup unmounts, we can prevent this behavior.\n useIsoLayoutEffect(() => {\n if (!isWebKit || open || !floating) {\n return;\n }\n const activeEl = activeElement(ownerDocument(floating));\n if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {\n return;\n }\n if (contains(floating, activeEl)) {\n activeEl.blur();\n }\n }, [open, floating]);\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n useIsoLayoutEffect(() => {\n if (disabled || !portalContext) {\n return undefined;\n }\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange: store.setOpen,\n domReference\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, store, closeOnFocusOut, domReference]);\n\n // Keep the floating element tabIndex in sync and clear stale focus records.\n useIsoLayoutEffect(() => {\n if (disabled || !floatingFocusElement) {\n return undefined;\n }\n handleTabIndex(floatingFocusElement, orderRef);\n return () => {\n queueMicrotask(clearDisconnectedPreviouslyFocusedElements);\n };\n }, [disabled, floatingFocusElement, orderRef]);\n const shouldRenderGuards = !disabled && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedBeforeGuardRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(els[els.length - 1]);\n } else if (portalContext?.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable?.focus();\n } else {\n resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();\n }\n }\n }\n }), children, shouldRenderGuards && /*#__PURE__*/_jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedAfterGuardRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext?.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable?.focus();\n } else {\n resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();\n }\n }\n }\n })]\n });\n}","'use client';\n\nimport * as React from 'react';\n/**\n * Provides a cross-browser way to determine the type of the pointer used to click.\n * Safari and Firefox do not provide the PointerEvent to the click handler (they use MouseEvent) yet.\n * Additionally, this implementation detects if the click was triggered by the keyboard.\n *\n * @param handler The function to be called when the button is clicked. The first parameter is the original event and the second parameter is the pointer type.\n */\nexport function useEnhancedClickHandler(handler) {\n const lastClickInteractionTypeRef = React.useRef('');\n const handlePointerDown = React.useCallback(event => {\n if (event.defaultPrevented) {\n return;\n }\n lastClickInteractionTypeRef.current = event.pointerType;\n handler(event, event.pointerType);\n }, [handler]);\n const handleClick = React.useCallback(event => {\n // event.detail has the number of clicks performed on the element. 0 means it was triggered by the keyboard.\n if (event.detail === 0) {\n handler(event, 'keyboard');\n return;\n }\n if ('pointerType' in event) {\n // Chrome and Edge correctly use PointerEvent\n handler(event, event.pointerType);\n } else {\n handler(event, lastClickInteractionTypeRef.current);\n }\n lastClickInteractionTypeRef.current = '';\n }, [handler]);\n return {\n onClick: handleClick,\n onPointerDown: handlePointerDown\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useEnhancedClickHandler } from '@base-ui/utils/useEnhancedClickHandler';\nimport { isIOS } from '@base-ui/utils/detectBrowser';\nimport { useValueChanged } from \"./useValueChanged.js\";\n\n/**\n * Determines the interaction type (keyboard, mouse, touch, etc.) that opened the component.\n *\n * @param open The open state of the component.\n */\nexport function useOpenInteractionType(open) {\n const [openMethod, setOpenMethod] = React.useState(null);\n const handleTriggerClick = useStableCallback((_, interactionType) => {\n if (!open) {\n setOpenMethod(interactionType || (\n // On iOS Safari, the hitslop around touch targets means tapping outside an element's\n // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`\n // will be \"\" in that case.\n isIOS ? 'touch' : ''));\n }\n });\n useValueChanged(open, previousOpen => {\n if (previousOpen && !open) {\n setOpenMethod(null);\n }\n });\n const {\n onClick,\n onPointerDown\n } = useEnhancedClickHandler(handleTriggerClick);\n return React.useMemo(() => ({\n openMethod,\n triggerProps: {\n onClick,\n onPointerDown\n }\n }), [openMethod, onClick, onPointerDown]);\n}","import * as React from 'react';\n\n/**\n * @internal\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const InternalBackdrop = /*#__PURE__*/React.forwardRef(function InternalBackdrop(props, ref) {\n const {\n cutout,\n ...otherProps\n } = props;\n let clipPath;\n if (cutout) {\n const rect = cutout?.getBoundingClientRect();\n clipPath = `polygon(\n 0% 0%,\n 100% 0%,\n 100% 100%,\n 0% 100%,\n 0% 0%,\n ${rect.left}px ${rect.top}px,\n ${rect.left}px ${rect.bottom}px,\n ${rect.right}px ${rect.bottom}px,\n ${rect.right}px ${rect.top}px,\n ${rect.left}px ${rect.top}px\n )`;\n }\n return /*#__PURE__*/_jsx(\"div\", {\n ref: ref,\n role: \"presentation\"\n // Ensures Floating UI's outside press detection runs, as it considers\n // it an element that existed when the popup rendered.\n ,\n \"data-base-ui-inert\": \"\",\n ...otherProps,\n style: {\n position: 'fixed',\n inset: 0,\n userSelect: 'none',\n WebkitUserSelect: 'none',\n clipPath\n }\n });\n});\nif (process.env.NODE_ENV !== \"production\") InternalBackdrop.displayName = \"InternalBackdrop\";"],"names":["ownerWindow","REASONS.focusOut","_a","REASONS.triggerHover","REASONS.outsidePress","_jsxs","_jsx","InternalBackdrop"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,213 @@
1
+ import * as ReactDOM from "react-dom";
2
+ import { u as useIsoLayoutEffect } from "./useIsoLayoutEffect-CAx-dEZM.mjs";
3
+ import { u as useStableCallback } from "./useStableCallback-8_xI9oDo.mjs";
4
+ import * as React from "react";
5
+ import { N as NOOP, f as formatErrorMessage, E as EMPTY_OBJECT } from "./useRenderElement-DtkRtCHE.mjs";
6
+ let FieldControlDataAttributes = /* @__PURE__ */ (function(FieldControlDataAttributes2) {
7
+ FieldControlDataAttributes2["disabled"] = "data-disabled";
8
+ FieldControlDataAttributes2["valid"] = "data-valid";
9
+ FieldControlDataAttributes2["invalid"] = "data-invalid";
10
+ FieldControlDataAttributes2["touched"] = "data-touched";
11
+ FieldControlDataAttributes2["dirty"] = "data-dirty";
12
+ FieldControlDataAttributes2["filled"] = "data-filled";
13
+ FieldControlDataAttributes2["focused"] = "data-focused";
14
+ return FieldControlDataAttributes2;
15
+ })({});
16
+ const DEFAULT_VALIDITY_STATE = {
17
+ badInput: false,
18
+ customError: false,
19
+ patternMismatch: false,
20
+ rangeOverflow: false,
21
+ rangeUnderflow: false,
22
+ stepMismatch: false,
23
+ tooLong: false,
24
+ tooShort: false,
25
+ typeMismatch: false,
26
+ valid: null,
27
+ valueMissing: false
28
+ };
29
+ const DEFAULT_FIELD_STATE_ATTRIBUTES = {
30
+ valid: null,
31
+ touched: false,
32
+ dirty: false,
33
+ filled: false,
34
+ focused: false
35
+ };
36
+ const DEFAULT_FIELD_ROOT_STATE = {
37
+ disabled: false,
38
+ ...DEFAULT_FIELD_STATE_ATTRIBUTES
39
+ };
40
+ const fieldValidityMapping = {
41
+ valid(value) {
42
+ if (value === null) {
43
+ return null;
44
+ }
45
+ if (value) {
46
+ return {
47
+ [FieldControlDataAttributes.valid]: ""
48
+ };
49
+ }
50
+ return {
51
+ [FieldControlDataAttributes.invalid]: ""
52
+ };
53
+ }
54
+ };
55
+ const FieldRootContext = /* @__PURE__ */ React.createContext({
56
+ invalid: void 0,
57
+ name: void 0,
58
+ validityData: {
59
+ state: DEFAULT_VALIDITY_STATE,
60
+ errors: [],
61
+ error: "",
62
+ value: "",
63
+ initialValue: null
64
+ },
65
+ setValidityData: NOOP,
66
+ disabled: void 0,
67
+ touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,
68
+ setTouched: NOOP,
69
+ dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,
70
+ setDirty: NOOP,
71
+ filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,
72
+ setFilled: NOOP,
73
+ focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,
74
+ setFocused: NOOP,
75
+ validate: () => null,
76
+ validationMode: "onSubmit",
77
+ validationDebounceTime: 0,
78
+ shouldValidateOnChange: () => false,
79
+ state: DEFAULT_FIELD_ROOT_STATE,
80
+ markedDirtyRef: {
81
+ current: false
82
+ },
83
+ validation: {
84
+ getValidationProps: (props = EMPTY_OBJECT) => props,
85
+ getInputValidationProps: (props = EMPTY_OBJECT) => props,
86
+ inputRef: {
87
+ current: null
88
+ },
89
+ commit: async () => {
90
+ }
91
+ }
92
+ });
93
+ if (process.env.NODE_ENV !== "production") FieldRootContext.displayName = "FieldRootContext";
94
+ function useFieldRootContext(optional = true) {
95
+ const context = React.useContext(FieldRootContext);
96
+ if (context.setValidityData === NOOP && !optional) {
97
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage(28));
98
+ }
99
+ return context;
100
+ }
101
+ function getCombinedFieldValidityData(validityData, invalid) {
102
+ return {
103
+ ...validityData,
104
+ state: {
105
+ ...validityData.state,
106
+ valid: !invalid && validityData.state.valid
107
+ }
108
+ };
109
+ }
110
+ const FormContext = /* @__PURE__ */ React.createContext({
111
+ formRef: {
112
+ current: {
113
+ fields: /* @__PURE__ */ new Map()
114
+ }
115
+ },
116
+ errors: {},
117
+ clearErrors: NOOP,
118
+ validationMode: "onSubmit",
119
+ submitAttemptedRef: {
120
+ current: false
121
+ }
122
+ });
123
+ if (process.env.NODE_ENV !== "production") FormContext.displayName = "FormContext";
124
+ function useFormContext() {
125
+ return React.useContext(FormContext);
126
+ }
127
+ function useField(params) {
128
+ const {
129
+ enabled = true,
130
+ value,
131
+ id,
132
+ name,
133
+ controlRef,
134
+ commit
135
+ } = params;
136
+ const {
137
+ formRef
138
+ } = useFormContext();
139
+ const {
140
+ invalid,
141
+ markedDirtyRef,
142
+ validityData,
143
+ setValidityData
144
+ } = useFieldRootContext();
145
+ const getValue = useStableCallback(params.getValue);
146
+ useIsoLayoutEffect(() => {
147
+ if (!enabled) {
148
+ return;
149
+ }
150
+ let initialValue = value;
151
+ if (initialValue === void 0) {
152
+ initialValue = getValue();
153
+ }
154
+ if (validityData.initialValue === null && initialValue !== null) {
155
+ setValidityData((prev) => ({
156
+ ...prev,
157
+ initialValue
158
+ }));
159
+ }
160
+ }, [enabled, setValidityData, value, validityData.initialValue, getValue]);
161
+ useIsoLayoutEffect(() => {
162
+ if (!enabled || !id) {
163
+ return;
164
+ }
165
+ formRef.current.fields.set(id, {
166
+ getValue,
167
+ name,
168
+ controlRef,
169
+ validityData: getCombinedFieldValidityData(validityData, invalid),
170
+ validate(flushSync = true) {
171
+ let nextValue = value;
172
+ if (nextValue === void 0) {
173
+ nextValue = getValue();
174
+ }
175
+ markedDirtyRef.current = true;
176
+ if (!flushSync) {
177
+ commit(nextValue);
178
+ } else {
179
+ ReactDOM.flushSync(() => commit(nextValue));
180
+ }
181
+ }
182
+ });
183
+ }, [commit, controlRef, enabled, formRef, getValue, id, invalid, markedDirtyRef, name, validityData, value]);
184
+ useIsoLayoutEffect(() => {
185
+ const fields = formRef.current.fields;
186
+ return () => {
187
+ if (id) {
188
+ fields.delete(id);
189
+ }
190
+ };
191
+ }, [formRef, id]);
192
+ }
193
+ const LabelableContext = /* @__PURE__ */ React.createContext({
194
+ controlId: void 0,
195
+ registerControlId: NOOP,
196
+ labelId: void 0,
197
+ setLabelId: NOOP,
198
+ messageIds: [],
199
+ setMessageIds: NOOP,
200
+ getDescriptionProps: (externalProps) => externalProps
201
+ });
202
+ if (process.env.NODE_ENV !== "production") LabelableContext.displayName = "LabelableContext";
203
+ function useLabelableContext() {
204
+ return React.useContext(LabelableContext);
205
+ }
206
+ export {
207
+ useFieldRootContext as a,
208
+ useField as b,
209
+ useFormContext as c,
210
+ fieldValidityMapping as f,
211
+ useLabelableContext as u
212
+ };
213
+ //# sourceMappingURL=LabelableContext-DLLBESLn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelableContext-DLLBESLn.mjs","sources":["../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/field/control/FieldControlDataAttributes.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/field/utils/constants.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/field/root/FieldRootContext.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/field/utils/getCombinedFieldValidityData.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/form/FormContext.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/field/useField.js","../../../node_modules/.pnpm/@base-ui+react@1.3.0_@types+react@19.2.14_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@base-ui/react/esm/labelable-provider/LabelableContext.js"],"sourcesContent":["export let FieldControlDataAttributes = /*#__PURE__*/function (FieldControlDataAttributes) {\n /**\n * Present when the field is disabled.\n */\n FieldControlDataAttributes[\"disabled\"] = \"data-disabled\";\n /**\n * Present when the field is in valid state.\n */\n FieldControlDataAttributes[\"valid\"] = \"data-valid\";\n /**\n * Present when the field is in invalid state.\n */\n FieldControlDataAttributes[\"invalid\"] = \"data-invalid\";\n /**\n * Present when the field has been touched.\n */\n FieldControlDataAttributes[\"touched\"] = \"data-touched\";\n /**\n * Present when the field's value has changed.\n */\n FieldControlDataAttributes[\"dirty\"] = \"data-dirty\";\n /**\n * Present when the field is filled.\n */\n FieldControlDataAttributes[\"filled\"] = \"data-filled\";\n /**\n * Present when the field control is focused.\n */\n FieldControlDataAttributes[\"focused\"] = \"data-focused\";\n return FieldControlDataAttributes;\n}({});","import { FieldControlDataAttributes } from \"../control/FieldControlDataAttributes.js\";\nexport const DEFAULT_VALIDITY_STATE = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: null,\n valueMissing: false\n};\nexport const DEFAULT_FIELD_STATE_ATTRIBUTES = {\n valid: null,\n touched: false,\n dirty: false,\n filled: false,\n focused: false\n};\nexport const DEFAULT_FIELD_ROOT_STATE = {\n disabled: false,\n ...DEFAULT_FIELD_STATE_ATTRIBUTES\n};\nexport const fieldValidityMapping = {\n valid(value) {\n if (value === null) {\n return null;\n }\n if (value) {\n return {\n [FieldControlDataAttributes.valid]: ''\n };\n }\n return {\n [FieldControlDataAttributes.invalid]: ''\n };\n }\n};","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { NOOP } from \"../../utils/noop.js\";\nimport { DEFAULT_FIELD_ROOT_STATE, DEFAULT_FIELD_STATE_ATTRIBUTES, DEFAULT_VALIDITY_STATE } from \"../utils/constants.js\";\nimport { EMPTY_OBJECT } from \"../../utils/constants.js\";\nexport const FieldRootContext = /*#__PURE__*/React.createContext({\n invalid: undefined,\n name: undefined,\n validityData: {\n state: DEFAULT_VALIDITY_STATE,\n errors: [],\n error: '',\n value: '',\n initialValue: null\n },\n setValidityData: NOOP,\n disabled: undefined,\n touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,\n setTouched: NOOP,\n dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,\n setDirty: NOOP,\n filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,\n setFilled: NOOP,\n focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,\n setFocused: NOOP,\n validate: () => null,\n validationMode: 'onSubmit',\n validationDebounceTime: 0,\n shouldValidateOnChange: () => false,\n state: DEFAULT_FIELD_ROOT_STATE,\n markedDirtyRef: {\n current: false\n },\n validation: {\n getValidationProps: (props = EMPTY_OBJECT) => props,\n getInputValidationProps: (props = EMPTY_OBJECT) => props,\n inputRef: {\n current: null\n },\n commit: async () => {}\n }\n});\nif (process.env.NODE_ENV !== \"production\") FieldRootContext.displayName = \"FieldRootContext\";\nexport function useFieldRootContext(optional = true) {\n const context = React.useContext(FieldRootContext);\n if (context.setValidityData === NOOP && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : _formatErrorMessage(28));\n }\n return context;\n}","/**\n * Combines the field's client-side, stateful validity data with the external invalid state to\n * determine the field's true validity.\n */\nexport function getCombinedFieldValidityData(validityData, invalid) {\n return {\n ...validityData,\n state: {\n ...validityData.state,\n valid: !invalid && validityData.state.valid\n }\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { NOOP } from \"../utils/noop.js\";\nexport const FormContext = /*#__PURE__*/React.createContext({\n formRef: {\n current: {\n fields: new Map()\n }\n },\n errors: {},\n clearErrors: NOOP,\n validationMode: 'onSubmit',\n submitAttemptedRef: {\n current: false\n }\n});\nif (process.env.NODE_ENV !== \"production\") FormContext.displayName = \"FormContext\";\nexport function useFormContext() {\n return React.useContext(FormContext);\n}","'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { getCombinedFieldValidityData } from \"./utils/getCombinedFieldValidityData.js\";\nimport { useFormContext } from \"../form/FormContext.js\";\nimport { useFieldRootContext } from \"./root/FieldRootContext.js\";\nexport function useField(params) {\n const {\n enabled = true,\n value,\n id,\n name,\n controlRef,\n commit\n } = params;\n const {\n formRef\n } = useFormContext();\n const {\n invalid,\n markedDirtyRef,\n validityData,\n setValidityData\n } = useFieldRootContext();\n const getValue = useStableCallback(params.getValue);\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n let initialValue = value;\n if (initialValue === undefined) {\n initialValue = getValue();\n }\n if (validityData.initialValue === null && initialValue !== null) {\n setValidityData(prev => ({\n ...prev,\n initialValue\n }));\n }\n }, [enabled, setValidityData, value, validityData.initialValue, getValue]);\n useIsoLayoutEffect(() => {\n if (!enabled || !id) {\n return;\n }\n formRef.current.fields.set(id, {\n getValue,\n name,\n controlRef,\n validityData: getCombinedFieldValidityData(validityData, invalid),\n validate(flushSync = true) {\n let nextValue = value;\n if (nextValue === undefined) {\n nextValue = getValue();\n }\n markedDirtyRef.current = true;\n if (!flushSync) {\n commit(nextValue);\n } else {\n // Synchronously update the validity state so the submit event can be prevented.\n ReactDOM.flushSync(() => commit(nextValue));\n }\n }\n });\n }, [commit, controlRef, enabled, formRef, getValue, id, invalid, markedDirtyRef, name, validityData, value]);\n useIsoLayoutEffect(() => {\n const fields = formRef.current.fields;\n return () => {\n if (id) {\n fields.delete(id);\n }\n };\n }, [formRef, id]);\n}","'use client';\n\nimport * as React from 'react';\nimport { NOOP } from \"../utils/noop.js\";\n/**\n * A context for providing [labelable elements](https://html.spec.whatwg.org/multipage/forms.html#category-label)\\\n * with an accessible name (label) and description.\n */\nexport const LabelableContext = /*#__PURE__*/React.createContext({\n controlId: undefined,\n registerControlId: NOOP,\n labelId: undefined,\n setLabelId: NOOP,\n messageIds: [],\n setMessageIds: NOOP,\n getDescriptionProps: externalProps => externalProps\n});\nif (process.env.NODE_ENV !== \"production\") LabelableContext.displayName = \"LabelableContext\";\nexport function useLabelableContext() {\n return React.useContext(LabelableContext);\n}"],"names":["FieldControlDataAttributes","_formatErrorMessage"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ const ReactDOM = require("react-dom");
3
+ const useIsoLayoutEffect = require("./useIsoLayoutEffect-CYDr9Bko.js");
4
+ const useStableCallback = require("./useStableCallback-CfE_knIO.js");
5
+ const React = require("react");
6
+ const useRenderElement = require("./useRenderElement-CtyURhhF.js");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const ReactDOM__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactDOM);
24
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
25
+ let FieldControlDataAttributes = /* @__PURE__ */ (function(FieldControlDataAttributes2) {
26
+ FieldControlDataAttributes2["disabled"] = "data-disabled";
27
+ FieldControlDataAttributes2["valid"] = "data-valid";
28
+ FieldControlDataAttributes2["invalid"] = "data-invalid";
29
+ FieldControlDataAttributes2["touched"] = "data-touched";
30
+ FieldControlDataAttributes2["dirty"] = "data-dirty";
31
+ FieldControlDataAttributes2["filled"] = "data-filled";
32
+ FieldControlDataAttributes2["focused"] = "data-focused";
33
+ return FieldControlDataAttributes2;
34
+ })({});
35
+ const DEFAULT_VALIDITY_STATE = {
36
+ badInput: false,
37
+ customError: false,
38
+ patternMismatch: false,
39
+ rangeOverflow: false,
40
+ rangeUnderflow: false,
41
+ stepMismatch: false,
42
+ tooLong: false,
43
+ tooShort: false,
44
+ typeMismatch: false,
45
+ valid: null,
46
+ valueMissing: false
47
+ };
48
+ const DEFAULT_FIELD_STATE_ATTRIBUTES = {
49
+ valid: null,
50
+ touched: false,
51
+ dirty: false,
52
+ filled: false,
53
+ focused: false
54
+ };
55
+ const DEFAULT_FIELD_ROOT_STATE = {
56
+ disabled: false,
57
+ ...DEFAULT_FIELD_STATE_ATTRIBUTES
58
+ };
59
+ const fieldValidityMapping = {
60
+ valid(value) {
61
+ if (value === null) {
62
+ return null;
63
+ }
64
+ if (value) {
65
+ return {
66
+ [FieldControlDataAttributes.valid]: ""
67
+ };
68
+ }
69
+ return {
70
+ [FieldControlDataAttributes.invalid]: ""
71
+ };
72
+ }
73
+ };
74
+ const FieldRootContext = /* @__PURE__ */ React__namespace.createContext({
75
+ invalid: void 0,
76
+ name: void 0,
77
+ validityData: {
78
+ state: DEFAULT_VALIDITY_STATE,
79
+ errors: [],
80
+ error: "",
81
+ value: "",
82
+ initialValue: null
83
+ },
84
+ setValidityData: useRenderElement.NOOP,
85
+ disabled: void 0,
86
+ touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,
87
+ setTouched: useRenderElement.NOOP,
88
+ dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,
89
+ setDirty: useRenderElement.NOOP,
90
+ filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,
91
+ setFilled: useRenderElement.NOOP,
92
+ focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,
93
+ setFocused: useRenderElement.NOOP,
94
+ validate: () => null,
95
+ validationMode: "onSubmit",
96
+ validationDebounceTime: 0,
97
+ shouldValidateOnChange: () => false,
98
+ state: DEFAULT_FIELD_ROOT_STATE,
99
+ markedDirtyRef: {
100
+ current: false
101
+ },
102
+ validation: {
103
+ getValidationProps: (props = useRenderElement.EMPTY_OBJECT) => props,
104
+ getInputValidationProps: (props = useRenderElement.EMPTY_OBJECT) => props,
105
+ inputRef: {
106
+ current: null
107
+ },
108
+ commit: async () => {
109
+ }
110
+ }
111
+ });
112
+ if (process.env.NODE_ENV !== "production") FieldRootContext.displayName = "FieldRootContext";
113
+ function useFieldRootContext(optional = true) {
114
+ const context = React__namespace.useContext(FieldRootContext);
115
+ if (context.setValidityData === useRenderElement.NOOP && !optional) {
116
+ throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : useRenderElement.formatErrorMessage(28));
117
+ }
118
+ return context;
119
+ }
120
+ function getCombinedFieldValidityData(validityData, invalid) {
121
+ return {
122
+ ...validityData,
123
+ state: {
124
+ ...validityData.state,
125
+ valid: !invalid && validityData.state.valid
126
+ }
127
+ };
128
+ }
129
+ const FormContext = /* @__PURE__ */ React__namespace.createContext({
130
+ formRef: {
131
+ current: {
132
+ fields: /* @__PURE__ */ new Map()
133
+ }
134
+ },
135
+ errors: {},
136
+ clearErrors: useRenderElement.NOOP,
137
+ validationMode: "onSubmit",
138
+ submitAttemptedRef: {
139
+ current: false
140
+ }
141
+ });
142
+ if (process.env.NODE_ENV !== "production") FormContext.displayName = "FormContext";
143
+ function useFormContext() {
144
+ return React__namespace.useContext(FormContext);
145
+ }
146
+ function useField(params) {
147
+ const {
148
+ enabled = true,
149
+ value,
150
+ id,
151
+ name,
152
+ controlRef,
153
+ commit
154
+ } = params;
155
+ const {
156
+ formRef
157
+ } = useFormContext();
158
+ const {
159
+ invalid,
160
+ markedDirtyRef,
161
+ validityData,
162
+ setValidityData
163
+ } = useFieldRootContext();
164
+ const getValue = useStableCallback.useStableCallback(params.getValue);
165
+ useIsoLayoutEffect.useIsoLayoutEffect(() => {
166
+ if (!enabled) {
167
+ return;
168
+ }
169
+ let initialValue = value;
170
+ if (initialValue === void 0) {
171
+ initialValue = getValue();
172
+ }
173
+ if (validityData.initialValue === null && initialValue !== null) {
174
+ setValidityData((prev) => ({
175
+ ...prev,
176
+ initialValue
177
+ }));
178
+ }
179
+ }, [enabled, setValidityData, value, validityData.initialValue, getValue]);
180
+ useIsoLayoutEffect.useIsoLayoutEffect(() => {
181
+ if (!enabled || !id) {
182
+ return;
183
+ }
184
+ formRef.current.fields.set(id, {
185
+ getValue,
186
+ name,
187
+ controlRef,
188
+ validityData: getCombinedFieldValidityData(validityData, invalid),
189
+ validate(flushSync = true) {
190
+ let nextValue = value;
191
+ if (nextValue === void 0) {
192
+ nextValue = getValue();
193
+ }
194
+ markedDirtyRef.current = true;
195
+ if (!flushSync) {
196
+ commit(nextValue);
197
+ } else {
198
+ ReactDOM__namespace.flushSync(() => commit(nextValue));
199
+ }
200
+ }
201
+ });
202
+ }, [commit, controlRef, enabled, formRef, getValue, id, invalid, markedDirtyRef, name, validityData, value]);
203
+ useIsoLayoutEffect.useIsoLayoutEffect(() => {
204
+ const fields = formRef.current.fields;
205
+ return () => {
206
+ if (id) {
207
+ fields.delete(id);
208
+ }
209
+ };
210
+ }, [formRef, id]);
211
+ }
212
+ const LabelableContext = /* @__PURE__ */ React__namespace.createContext({
213
+ controlId: void 0,
214
+ registerControlId: useRenderElement.NOOP,
215
+ labelId: void 0,
216
+ setLabelId: useRenderElement.NOOP,
217
+ messageIds: [],
218
+ setMessageIds: useRenderElement.NOOP,
219
+ getDescriptionProps: (externalProps) => externalProps
220
+ });
221
+ if (process.env.NODE_ENV !== "production") LabelableContext.displayName = "LabelableContext";
222
+ function useLabelableContext() {
223
+ return React__namespace.useContext(LabelableContext);
224
+ }
225
+ exports.fieldValidityMapping = fieldValidityMapping;
226
+ exports.useField = useField;
227
+ exports.useFieldRootContext = useFieldRootContext;
228
+ exports.useFormContext = useFormContext;
229
+ exports.useLabelableContext = useLabelableContext;
230
+ //# sourceMappingURL=LabelableContext-DYy4DAX3.js.map