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,697 @@
1
+ import * as React from "react";
2
+ import { i as isHTMLElement } from "./floating-ui.utils.dom-BAD07kLX.mjs";
3
+ import { u as useValueAsRef } from "./useValueAsRef-BPI-p5A3.mjs";
4
+ import { u as useStableCallback } from "./useStableCallback-8_xI9oDo.mjs";
5
+ import { u as useIsoLayoutEffect } from "./useIsoLayoutEffect-CAx-dEZM.mjs";
6
+ import { o as ownerDocument } from "./owner-Cf_X0F_A.mjs";
7
+ import { u as useFloatingParentNodeId, e as useFloatingTree } from "./popupStateMapping-Dvf6vjid.mjs";
8
+ import { c as createChangeEventDetails, l as listNavigation, f as focusOut } from "./createBaseUIEventDetails-CRQSf9K3.mjs";
9
+ import { e as enqueueFocus } from "./InternalBackdrop-C7vtdMWQ.mjs";
10
+ import { a as ARROW_DOWN, b as ARROW_LEFT, c as ARROW_RIGHT, A as ARROW_UP } from "./constants-Dfh7hQez.mjs";
11
+ import { i as isIndexOutOfListBounds, g as getMinListIndex, a as getMaxListIndex, c as createGridCellMap, b as isListIndexDisabled, d as getGridNavigatedIndex, e as getGridCellIndexOfCorner, f as getGridCellIndices, h as findNonDisabledListIndex, j as isElementVisible } from "./composite-54CI9F0V.mjs";
12
+ import { g as getFloatingFocusElement, e as isTypeableCombobox, a as activeElement, c as contains, d as getTarget } from "./element-BtC-M4rb.mjs";
13
+ import { s as stopEvent, b as isVirtualClick, c as isVirtualPointerEvent } from "./event-CcyVszlp.mjs";
14
+ import { u as useTimeout } from "./useTimeout-DP0d-UkF.mjs";
15
+ const ESCAPE = "Escape";
16
+ function doSwitch(orientation, vertical, horizontal) {
17
+ switch (orientation) {
18
+ case "vertical":
19
+ return vertical;
20
+ case "horizontal":
21
+ return horizontal;
22
+ default:
23
+ return vertical || horizontal;
24
+ }
25
+ }
26
+ function isMainOrientationKey(key, orientation) {
27
+ const vertical = key === ARROW_UP || key === ARROW_DOWN;
28
+ const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
29
+ return doSwitch(orientation, vertical, horizontal);
30
+ }
31
+ function isMainOrientationToEndKey(key, orientation, rtl) {
32
+ const vertical = key === ARROW_DOWN;
33
+ const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
34
+ return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
35
+ }
36
+ function isCrossOrientationOpenKey(key, orientation, rtl) {
37
+ const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
38
+ const horizontal = key === ARROW_DOWN;
39
+ return doSwitch(orientation, vertical, horizontal);
40
+ }
41
+ function isCrossOrientationCloseKey(key, orientation, rtl, cols) {
42
+ const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
43
+ const horizontal = key === ARROW_UP;
44
+ if (orientation === "both" || orientation === "horizontal" && cols && cols > 1) {
45
+ return key === ESCAPE;
46
+ }
47
+ return doSwitch(orientation, vertical, horizontal);
48
+ }
49
+ function useListNavigation(context, props) {
50
+ const store = "rootStore" in context ? context.rootStore : context;
51
+ const open = store.useState("open");
52
+ const floatingElement = store.useState("floatingElement");
53
+ const domReferenceElement = store.useState("domReferenceElement");
54
+ const dataRef = store.context.dataRef;
55
+ const {
56
+ listRef,
57
+ activeIndex,
58
+ onNavigate: onNavigateProp = () => {
59
+ },
60
+ enabled = true,
61
+ selectedIndex = null,
62
+ allowEscape = false,
63
+ loopFocus = false,
64
+ nested = false,
65
+ rtl = false,
66
+ virtual = false,
67
+ focusItemOnOpen = "auto",
68
+ focusItemOnHover = true,
69
+ openOnArrowKeyDown = true,
70
+ disabledIndices = void 0,
71
+ orientation = "vertical",
72
+ parentOrientation,
73
+ cols = 1,
74
+ id,
75
+ resetOnPointerLeave = true,
76
+ externalTree
77
+ } = props;
78
+ if (process.env.NODE_ENV !== "production") {
79
+ if (allowEscape) {
80
+ if (!loopFocus) {
81
+ console.warn("`useListNavigation` looping must be enabled to allow escaping.");
82
+ }
83
+ if (!virtual) {
84
+ console.warn("`useListNavigation` must be virtual to allow escaping.");
85
+ }
86
+ }
87
+ if (orientation === "vertical" && cols > 1) {
88
+ console.warn("In grid list navigation mode (`cols` > 1), the `orientation` should", 'be either "horizontal" or "both".');
89
+ }
90
+ }
91
+ const floatingFocusElement = getFloatingFocusElement(floatingElement);
92
+ const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
93
+ const parentId = useFloatingParentNodeId();
94
+ const tree = useFloatingTree(externalTree);
95
+ useIsoLayoutEffect(() => {
96
+ dataRef.current.orientation = orientation;
97
+ }, [dataRef, orientation]);
98
+ const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
99
+ const focusItemOnOpenRef = React.useRef(focusItemOnOpen);
100
+ const indexRef = React.useRef(selectedIndex ?? -1);
101
+ const keyRef = React.useRef(null);
102
+ const isPointerModalityRef = React.useRef(true);
103
+ const onNavigate = useStableCallback((event) => {
104
+ onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
105
+ });
106
+ const previousOnNavigateRef = React.useRef(onNavigate);
107
+ const previousMountedRef = React.useRef(!!floatingElement);
108
+ const previousOpenRef = React.useRef(open);
109
+ const forceSyncFocusRef = React.useRef(false);
110
+ const forceScrollIntoViewRef = React.useRef(false);
111
+ const disabledIndicesRef = useValueAsRef(disabledIndices);
112
+ const latestOpenRef = useValueAsRef(open);
113
+ const selectedIndexRef = useValueAsRef(selectedIndex);
114
+ const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
115
+ const focusItem = useStableCallback(() => {
116
+ function runFocus(item2) {
117
+ if (virtual) {
118
+ tree == null ? void 0 : tree.events.emit("virtualfocus", item2);
119
+ } else {
120
+ enqueueFocus(item2, {
121
+ sync: forceSyncFocusRef.current,
122
+ preventScroll: true
123
+ });
124
+ }
125
+ }
126
+ const initialItem = listRef.current[indexRef.current];
127
+ const forceScrollIntoView = forceScrollIntoViewRef.current;
128
+ if (initialItem) {
129
+ runFocus(initialItem);
130
+ }
131
+ const scheduler = forceSyncFocusRef.current ? (v) => v() : requestAnimationFrame;
132
+ scheduler(() => {
133
+ var _a;
134
+ const waitedItem = listRef.current[indexRef.current] || initialItem;
135
+ if (!waitedItem) {
136
+ return;
137
+ }
138
+ if (!initialItem) {
139
+ runFocus(waitedItem);
140
+ }
141
+ const shouldScrollIntoView = (
142
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
143
+ item && (forceScrollIntoView || !isPointerModalityRef.current)
144
+ );
145
+ if (shouldScrollIntoView) {
146
+ (_a = waitedItem.scrollIntoView) == null ? void 0 : _a.call(waitedItem, {
147
+ block: "nearest",
148
+ inline: "nearest"
149
+ });
150
+ }
151
+ });
152
+ });
153
+ useIsoLayoutEffect(() => {
154
+ if (!enabled) {
155
+ return;
156
+ }
157
+ if (open && floatingElement) {
158
+ indexRef.current = selectedIndex ?? -1;
159
+ if (focusItemOnOpenRef.current && selectedIndex != null) {
160
+ forceScrollIntoViewRef.current = true;
161
+ onNavigate();
162
+ }
163
+ } else if (previousMountedRef.current) {
164
+ indexRef.current = -1;
165
+ previousOnNavigateRef.current();
166
+ }
167
+ }, [enabled, open, floatingElement, selectedIndex, onNavigate]);
168
+ useIsoLayoutEffect(() => {
169
+ if (!enabled) {
170
+ return;
171
+ }
172
+ if (!open) {
173
+ forceSyncFocusRef.current = false;
174
+ return;
175
+ }
176
+ if (!floatingElement) {
177
+ return;
178
+ }
179
+ if (activeIndex == null) {
180
+ forceSyncFocusRef.current = false;
181
+ if (selectedIndexRef.current != null) {
182
+ return;
183
+ }
184
+ if (previousMountedRef.current) {
185
+ indexRef.current = -1;
186
+ focusItem();
187
+ }
188
+ if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
189
+ let runs = 0;
190
+ const waitForListPopulated = () => {
191
+ if (listRef.current[0] == null) {
192
+ if (runs < 2) {
193
+ const scheduler = runs ? requestAnimationFrame : queueMicrotask;
194
+ scheduler(waitForListPopulated);
195
+ }
196
+ runs += 1;
197
+ } else {
198
+ indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
199
+ keyRef.current = null;
200
+ onNavigate();
201
+ }
202
+ };
203
+ waitForListPopulated();
204
+ }
205
+ } else if (!isIndexOutOfListBounds(listRef, activeIndex)) {
206
+ indexRef.current = activeIndex;
207
+ focusItem();
208
+ forceScrollIntoViewRef.current = false;
209
+ }
210
+ }, [enabled, open, floatingElement, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);
211
+ useIsoLayoutEffect(() => {
212
+ var _a, _b;
213
+ if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
214
+ return;
215
+ }
216
+ const nodes = tree.nodesRef.current;
217
+ const parent = (_b = (_a = nodes.find((node) => node.id === parentId)) == null ? void 0 : _a.context) == null ? void 0 : _b.elements.floating;
218
+ const activeEl = activeElement(ownerDocument(floatingElement));
219
+ const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
220
+ if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
221
+ parent.focus({
222
+ preventScroll: true
223
+ });
224
+ }
225
+ }, [enabled, floatingElement, tree, parentId, virtual]);
226
+ useIsoLayoutEffect(() => {
227
+ previousOnNavigateRef.current = onNavigate;
228
+ previousOpenRef.current = open;
229
+ previousMountedRef.current = !!floatingElement;
230
+ });
231
+ useIsoLayoutEffect(() => {
232
+ if (!open) {
233
+ keyRef.current = null;
234
+ focusItemOnOpenRef.current = focusItemOnOpen;
235
+ }
236
+ }, [open, focusItemOnOpen]);
237
+ const hasActiveIndex = activeIndex != null;
238
+ const item = React.useMemo(() => {
239
+ function syncCurrentTarget(event) {
240
+ if (!latestOpenRef.current) {
241
+ return;
242
+ }
243
+ const index = listRef.current.indexOf(event.currentTarget);
244
+ if (index !== -1 && indexRef.current !== index) {
245
+ indexRef.current = index;
246
+ onNavigate(event);
247
+ }
248
+ }
249
+ const itemProps = {
250
+ onFocus(event) {
251
+ forceSyncFocusRef.current = true;
252
+ syncCurrentTarget(event);
253
+ },
254
+ onClick: ({
255
+ currentTarget
256
+ }) => currentTarget.focus({
257
+ preventScroll: true
258
+ }),
259
+ // Safari
260
+ onMouseMove(event) {
261
+ forceSyncFocusRef.current = true;
262
+ forceScrollIntoViewRef.current = false;
263
+ if (focusItemOnHover) {
264
+ syncCurrentTarget(event);
265
+ }
266
+ },
267
+ onPointerLeave(event) {
268
+ if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
269
+ return;
270
+ }
271
+ forceSyncFocusRef.current = true;
272
+ const relatedTarget = event.relatedTarget;
273
+ if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
274
+ return;
275
+ }
276
+ if (!resetOnPointerLeaveRef.current) {
277
+ return;
278
+ }
279
+ enqueueFocus(null, {
280
+ sync: true
281
+ });
282
+ indexRef.current = -1;
283
+ onNavigate(event);
284
+ if (!virtual) {
285
+ const floatingFocusEl = floatingFocusElementRef.current;
286
+ const activeEl = activeElement(ownerDocument(floatingFocusEl));
287
+ if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
288
+ floatingFocusEl.focus({
289
+ preventScroll: true
290
+ });
291
+ }
292
+ }
293
+ }
294
+ };
295
+ return itemProps;
296
+ }, [latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
297
+ const getParentOrientation = React.useCallback(() => {
298
+ var _a, _b, _c;
299
+ return parentOrientation ?? ((_c = (_b = (_a = tree == null ? void 0 : tree.nodesRef.current.find((node) => node.id === parentId)) == null ? void 0 : _a.context) == null ? void 0 : _b.dataRef) == null ? void 0 : _c.current.orientation);
300
+ }, [parentId, tree, parentOrientation]);
301
+ const commonOnKeyDown = useStableCallback((event) => {
302
+ isPointerModalityRef.current = false;
303
+ forceSyncFocusRef.current = true;
304
+ if (event.which === 229) {
305
+ return;
306
+ }
307
+ if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
308
+ return;
309
+ }
310
+ if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {
311
+ if (!isMainOrientationKey(event.key, getParentOrientation())) {
312
+ stopEvent(event);
313
+ }
314
+ store.setOpen(false, createChangeEventDetails(listNavigation, event.nativeEvent));
315
+ if (isHTMLElement(domReferenceElement)) {
316
+ if (virtual) {
317
+ tree == null ? void 0 : tree.events.emit("virtualfocus", domReferenceElement);
318
+ } else {
319
+ domReferenceElement.focus();
320
+ }
321
+ }
322
+ return;
323
+ }
324
+ const currentIndex = indexRef.current;
325
+ const minIndex = getMinListIndex(listRef, disabledIndices);
326
+ const maxIndex = getMaxListIndex(listRef, disabledIndices);
327
+ if (!typeableComboboxReference) {
328
+ if (event.key === "Home") {
329
+ stopEvent(event);
330
+ indexRef.current = minIndex;
331
+ onNavigate(event);
332
+ }
333
+ if (event.key === "End") {
334
+ stopEvent(event);
335
+ indexRef.current = maxIndex;
336
+ onNavigate(event);
337
+ }
338
+ }
339
+ if (cols > 1) {
340
+ const sizes = Array.from({
341
+ length: listRef.current.length
342
+ }, () => ({
343
+ width: 1,
344
+ height: 1
345
+ }));
346
+ const cellMap = createGridCellMap(sizes, cols, false);
347
+ const minGridIndex = cellMap.findIndex((index2) => index2 != null && !isListIndexDisabled(listRef, index2, disabledIndices));
348
+ const maxGridIndex = cellMap.reduce((foundIndex, index2, cellIndex) => index2 != null && !isListIndexDisabled(listRef, index2, disabledIndices) ? cellIndex : foundIndex, -1);
349
+ const index = cellMap[getGridNavigatedIndex({
350
+ current: cellMap.map((itemIndex) => itemIndex != null ? listRef.current[itemIndex] : null)
351
+ }, {
352
+ event,
353
+ orientation,
354
+ loopFocus,
355
+ rtl,
356
+ cols,
357
+ // treat undefined (empty grid spaces) as disabled indices so we
358
+ // don't end up in them
359
+ disabledIndices: getGridCellIndices([...(typeof disabledIndices !== "function" ? disabledIndices : null) || listRef.current.map((_, listIndex) => isListIndexDisabled(listRef, listIndex, disabledIndices) ? listIndex : void 0), void 0], cellMap),
360
+ minIndex: minGridIndex,
361
+ maxIndex: maxGridIndex,
362
+ prevIndex: getGridCellIndexOfCorner(
363
+ indexRef.current > maxIndex ? minIndex : indexRef.current,
364
+ sizes,
365
+ cellMap,
366
+ cols,
367
+ // use a corner matching the edge closest to the direction
368
+ // we're moving in so we don't end up in the same item. Prefer
369
+ // top/left over bottom/right.
370
+ // eslint-disable-next-line no-nested-ternary
371
+ event.key === ARROW_DOWN ? "bl" : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? "tr" : "tl"
372
+ ),
373
+ stopEvent: true
374
+ })];
375
+ if (index != null) {
376
+ indexRef.current = index;
377
+ onNavigate(event);
378
+ }
379
+ if (orientation === "both") {
380
+ return;
381
+ }
382
+ }
383
+ if (isMainOrientationKey(event.key, orientation)) {
384
+ stopEvent(event);
385
+ if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {
386
+ indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
387
+ onNavigate(event);
388
+ return;
389
+ }
390
+ if (isMainOrientationToEndKey(event.key, orientation, rtl)) {
391
+ if (loopFocus) {
392
+ if (currentIndex >= maxIndex) {
393
+ if (allowEscape && currentIndex !== listRef.current.length) {
394
+ indexRef.current = -1;
395
+ } else {
396
+ forceSyncFocusRef.current = false;
397
+ indexRef.current = minIndex;
398
+ }
399
+ } else {
400
+ indexRef.current = findNonDisabledListIndex(listRef, {
401
+ startingIndex: currentIndex,
402
+ disabledIndices
403
+ });
404
+ }
405
+ } else {
406
+ indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef, {
407
+ startingIndex: currentIndex,
408
+ disabledIndices
409
+ }));
410
+ }
411
+ } else if (loopFocus) {
412
+ if (currentIndex <= minIndex) {
413
+ if (allowEscape && currentIndex !== -1) {
414
+ indexRef.current = listRef.current.length;
415
+ } else {
416
+ forceSyncFocusRef.current = false;
417
+ indexRef.current = maxIndex;
418
+ }
419
+ } else {
420
+ indexRef.current = findNonDisabledListIndex(listRef, {
421
+ startingIndex: currentIndex,
422
+ decrement: true,
423
+ disabledIndices
424
+ });
425
+ }
426
+ } else {
427
+ indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef, {
428
+ startingIndex: currentIndex,
429
+ decrement: true,
430
+ disabledIndices
431
+ }));
432
+ }
433
+ if (isIndexOutOfListBounds(listRef, indexRef.current)) {
434
+ indexRef.current = -1;
435
+ }
436
+ onNavigate(event);
437
+ }
438
+ });
439
+ const ariaActiveDescendantProp = React.useMemo(() => {
440
+ return virtual && open && hasActiveIndex && {
441
+ "aria-activedescendant": `${id}-${activeIndex}`
442
+ };
443
+ }, [virtual, open, hasActiveIndex, id, activeIndex]);
444
+ const floating = React.useMemo(() => {
445
+ return {
446
+ "aria-orientation": orientation === "both" ? void 0 : orientation,
447
+ ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
448
+ onKeyDown(event) {
449
+ if (event.key === "Tab" && event.shiftKey && open && !virtual) {
450
+ const target = getTarget(event.nativeEvent);
451
+ if (target && !contains(floatingFocusElementRef.current, target)) {
452
+ return;
453
+ }
454
+ stopEvent(event);
455
+ store.setOpen(false, createChangeEventDetails(focusOut, event.nativeEvent));
456
+ if (isHTMLElement(domReferenceElement)) {
457
+ domReferenceElement.focus();
458
+ }
459
+ return;
460
+ }
461
+ commonOnKeyDown(event);
462
+ },
463
+ onPointerMove() {
464
+ isPointerModalityRef.current = true;
465
+ }
466
+ };
467
+ }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, orientation, typeableComboboxReference, store, open, virtual, domReferenceElement]);
468
+ const trigger = React.useMemo(() => {
469
+ function checkVirtualMouse(event) {
470
+ if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
471
+ focusItemOnOpenRef.current = !virtual;
472
+ }
473
+ }
474
+ function checkVirtualPointer(event) {
475
+ focusItemOnOpenRef.current = focusItemOnOpen;
476
+ if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
477
+ focusItemOnOpenRef.current = true;
478
+ }
479
+ }
480
+ return {
481
+ onKeyDown(event) {
482
+ const currentOpen = store.select("open");
483
+ isPointerModalityRef.current = false;
484
+ const isArrowKey = event.key.startsWith("Arrow");
485
+ const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
486
+ const isMainKey = isMainOrientationKey(event.key, orientation);
487
+ const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
488
+ if (virtual && currentOpen) {
489
+ return commonOnKeyDown(event);
490
+ }
491
+ if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
492
+ return void 0;
493
+ }
494
+ if (isNavigationKey) {
495
+ const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
496
+ keyRef.current = nested && isParentMainKey ? null : event.key;
497
+ }
498
+ if (nested) {
499
+ if (isParentCrossOpenKey) {
500
+ stopEvent(event);
501
+ if (currentOpen) {
502
+ indexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);
503
+ onNavigate(event);
504
+ } else {
505
+ store.setOpen(true, createChangeEventDetails(listNavigation, event.nativeEvent, event.currentTarget));
506
+ }
507
+ }
508
+ return void 0;
509
+ }
510
+ if (isMainKey) {
511
+ if (selectedIndexRef.current != null) {
512
+ indexRef.current = selectedIndexRef.current;
513
+ }
514
+ stopEvent(event);
515
+ if (!currentOpen && openOnArrowKeyDown) {
516
+ store.setOpen(true, createChangeEventDetails(listNavigation, event.nativeEvent, event.currentTarget));
517
+ } else {
518
+ commonOnKeyDown(event);
519
+ }
520
+ if (currentOpen) {
521
+ onNavigate(event);
522
+ }
523
+ }
524
+ return void 0;
525
+ },
526
+ onFocus(event) {
527
+ if (store.select("open") && !virtual) {
528
+ indexRef.current = -1;
529
+ onNavigate(event);
530
+ }
531
+ },
532
+ onPointerDown: checkVirtualPointer,
533
+ onPointerEnter: checkVirtualPointer,
534
+ onMouseDown: checkVirtualMouse,
535
+ onClick: checkVirtualMouse
536
+ };
537
+ }, [commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, store, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndexRef, virtual]);
538
+ const reference = React.useMemo(() => {
539
+ return {
540
+ ...ariaActiveDescendantProp,
541
+ ...trigger
542
+ };
543
+ }, [ariaActiveDescendantProp, trigger]);
544
+ return React.useMemo(() => enabled ? {
545
+ reference,
546
+ floating,
547
+ item,
548
+ trigger
549
+ } : {}, [enabled, reference, floating, trigger, item]);
550
+ }
551
+ function useTypeahead(context, props) {
552
+ const store = "rootStore" in context ? context.rootStore : context;
553
+ const dataRef = store.context.dataRef;
554
+ const open = store.useState("open");
555
+ const {
556
+ listRef,
557
+ elementsRef,
558
+ activeIndex,
559
+ onMatch: onMatchProp,
560
+ onTypingChange,
561
+ enabled = true,
562
+ resetMs = 750,
563
+ selectedIndex = null
564
+ } = props;
565
+ const timeout = useTimeout();
566
+ const stringRef = React.useRef("");
567
+ const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);
568
+ const matchIndexRef = React.useRef(null);
569
+ useIsoLayoutEffect(() => {
570
+ if (!open && selectedIndex !== null) {
571
+ return;
572
+ }
573
+ timeout.clear();
574
+ matchIndexRef.current = null;
575
+ if (stringRef.current !== "") {
576
+ stringRef.current = "";
577
+ }
578
+ }, [open, selectedIndex, timeout]);
579
+ useIsoLayoutEffect(() => {
580
+ if (open && stringRef.current === "") {
581
+ prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
582
+ }
583
+ }, [open, selectedIndex, activeIndex]);
584
+ const setTypingChange = useStableCallback((value) => {
585
+ if (value) {
586
+ if (!dataRef.current.typing) {
587
+ dataRef.current.typing = value;
588
+ onTypingChange == null ? void 0 : onTypingChange(value);
589
+ }
590
+ } else if (dataRef.current.typing) {
591
+ dataRef.current.typing = value;
592
+ onTypingChange == null ? void 0 : onTypingChange(value);
593
+ }
594
+ });
595
+ const onKeyDown = useStableCallback((event) => {
596
+ function isVisible(index2) {
597
+ const element = elementsRef == null ? void 0 : elementsRef.current[index2];
598
+ return !element || isElementVisible(element);
599
+ }
600
+ function getMatchingIndex(list, string, startIndex2 = 0) {
601
+ if (list.length === 0) {
602
+ return -1;
603
+ }
604
+ const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
605
+ const lowerString = string.toLocaleLowerCase();
606
+ for (let offset = 0; offset < list.length; offset += 1) {
607
+ const index2 = (normalizedStartIndex + offset) % list.length;
608
+ const text = list[index2];
609
+ if (!(text == null ? void 0 : text.toLocaleLowerCase().startsWith(lowerString)) || !isVisible(index2)) {
610
+ continue;
611
+ }
612
+ return index2;
613
+ }
614
+ return -1;
615
+ }
616
+ const listContent = listRef.current;
617
+ if (stringRef.current.length > 0 && event.key === " ") {
618
+ stopEvent(event);
619
+ setTypingChange(true);
620
+ }
621
+ if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
622
+ if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
623
+ setTypingChange(false);
624
+ }
625
+ }
626
+ if (listContent == null || // Character key.
627
+ event.key.length !== 1 || // Modifier key.
628
+ event.ctrlKey || event.metaKey || event.altKey) {
629
+ return;
630
+ }
631
+ if (open && event.key !== " ") {
632
+ stopEvent(event);
633
+ setTypingChange(true);
634
+ }
635
+ const isNewSession = stringRef.current === "";
636
+ if (isNewSession) {
637
+ prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
638
+ }
639
+ const allowRapidSuccessionOfFirstLetter = listContent.every((text) => {
640
+ var _a, _b;
641
+ return text ? ((_a = text[0]) == null ? void 0 : _a.toLocaleLowerCase()) !== ((_b = text[1]) == null ? void 0 : _b.toLocaleLowerCase()) : true;
642
+ });
643
+ if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
644
+ stringRef.current = "";
645
+ prevIndexRef.current = matchIndexRef.current;
646
+ }
647
+ stringRef.current += event.key;
648
+ timeout.start(resetMs, () => {
649
+ stringRef.current = "";
650
+ prevIndexRef.current = matchIndexRef.current;
651
+ setTypingChange(false);
652
+ });
653
+ const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
654
+ const startIndex = (prevIndex ?? 0) + 1;
655
+ const index = getMatchingIndex(listContent, stringRef.current, startIndex);
656
+ if (index !== -1) {
657
+ onMatchProp == null ? void 0 : onMatchProp(index);
658
+ matchIndexRef.current = index;
659
+ } else if (event.key !== " ") {
660
+ stringRef.current = "";
661
+ setTypingChange(false);
662
+ }
663
+ });
664
+ const onBlur = useStableCallback((event) => {
665
+ const next = event.relatedTarget;
666
+ const currentDomReferenceElement = store.select("domReferenceElement");
667
+ const currentFloatingElement = store.select("floatingElement");
668
+ const withinReference = contains(currentDomReferenceElement, next);
669
+ const withinFloating = contains(currentFloatingElement, next);
670
+ if (withinReference || withinFloating) {
671
+ return;
672
+ }
673
+ timeout.clear();
674
+ stringRef.current = "";
675
+ prevIndexRef.current = matchIndexRef.current;
676
+ setTypingChange(false);
677
+ });
678
+ const reference = React.useMemo(() => ({
679
+ onKeyDown,
680
+ onBlur
681
+ }), [onKeyDown, onBlur]);
682
+ const floating = React.useMemo(() => {
683
+ return {
684
+ onKeyDown,
685
+ onBlur
686
+ };
687
+ }, [onKeyDown, onBlur]);
688
+ return React.useMemo(() => enabled ? {
689
+ reference,
690
+ floating
691
+ } : {}, [enabled, reference, floating]);
692
+ }
693
+ export {
694
+ useTypeahead as a,
695
+ useListNavigation as u
696
+ };
697
+ //# sourceMappingURL=useTypeahead-De1veul8.mjs.map