@expcat/tigercat-react 2.1.2 → 2.1.4

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 (592) hide show
  1. package/README.md +13 -19
  2. package/dist/{chunk-4C2X5PZO.mjs → chunk-25BKSXTX.mjs} +209 -98
  3. package/dist/{chunk-IGBQGR6G.mjs → chunk-2AVHOPKK.mjs} +112 -54
  4. package/dist/{chunk-34VGG7AK.mjs → chunk-2AVQQGL2.mjs} +6 -5
  5. package/dist/{chunk-Y6557RWE.mjs → chunk-2BRMZBQ2.mjs} +43 -15
  6. package/dist/chunk-2IOF3EC7.mjs +314 -0
  7. package/dist/chunk-2MKDIXBP.mjs +768 -0
  8. package/dist/chunk-2PC625DX.mjs +88 -0
  9. package/dist/chunk-2QJGXENY.mjs +85 -0
  10. package/dist/chunk-2SN5JTST.mjs +99 -0
  11. package/dist/chunk-2STETY2J.mjs +160 -0
  12. package/dist/{chunk-CN3QXWK3.mjs → chunk-2W4SH2IG.mjs} +53 -44
  13. package/dist/{chunk-GR3Y3XWP.mjs → chunk-34BU3D7L.mjs} +21 -3
  14. package/dist/{chunk-OTBXERJD.mjs → chunk-3C62ULJT.mjs} +35 -32
  15. package/dist/chunk-3J2AUNWT.mjs +326 -0
  16. package/dist/chunk-3KBFOO2E.mjs +139 -0
  17. package/dist/{chunk-2YBLMVDT.mjs → chunk-3QSO6YK5.mjs} +40 -47
  18. package/dist/chunk-3QXXNK5X.mjs +274 -0
  19. package/dist/{chunk-YJ5T4XZN.mjs → chunk-3WP4PGHF.mjs} +24 -25
  20. package/dist/chunk-4BJCH6FI.mjs +454 -0
  21. package/dist/{chunk-QB5472NM.mjs → chunk-4DFN6RZ4.mjs} +25 -26
  22. package/dist/{chunk-YNDPQVEK.mjs → chunk-4ED2QCE6.mjs} +69 -36
  23. package/dist/chunk-4IVRLBKW.mjs +101 -0
  24. package/dist/{chunk-N2D7NPEW.mjs → chunk-4JVXADTJ.mjs} +30 -22
  25. package/dist/chunk-4KZETZUH.mjs +143 -0
  26. package/dist/chunk-4ZFZCNX5.mjs +96 -0
  27. package/dist/{chunk-3HHEVMHE.mjs → chunk-532OVXLV.mjs} +73 -66
  28. package/dist/{chunk-TQ6RIFWR.mjs → chunk-57IHCV62.mjs} +30 -14
  29. package/dist/chunk-5D6BOIZB.mjs +104 -0
  30. package/dist/chunk-5J7EDMS7.mjs +13 -0
  31. package/dist/{chunk-AUD3VOLO.mjs → chunk-5TQFSORK.mjs} +115 -76
  32. package/dist/chunk-5XI3Q6A6.mjs +279 -0
  33. package/dist/{chunk-NT7GW2FD.mjs → chunk-635ACZQW.mjs} +3 -2
  34. package/dist/chunk-6L7RWLOU.mjs +620 -0
  35. package/dist/chunk-6NJMDDL6.mjs +244 -0
  36. package/dist/chunk-6R66IQ5V.mjs +214 -0
  37. package/dist/chunk-73OFTRG5.mjs +550 -0
  38. package/dist/chunk-7H7EKANG.mjs +145 -0
  39. package/dist/chunk-7QM2ZC52.mjs +256 -0
  40. package/dist/chunk-7VPMOGN3.mjs +205 -0
  41. package/dist/chunk-A2PQJEII.mjs +826 -0
  42. package/dist/{chunk-F2ITBDUS.mjs → chunk-A4JRK5SM.mjs} +43 -22
  43. package/dist/chunk-ACHXTII7.mjs +290 -0
  44. package/dist/chunk-ACV7IV3W.mjs +339 -0
  45. package/dist/chunk-B2IFWWM5.mjs +352 -0
  46. package/dist/chunk-BKIINKEY.mjs +138 -0
  47. package/dist/{chunk-OKYMTHFQ.mjs → chunk-BKSYS4D6.mjs} +74 -77
  48. package/dist/chunk-BNC4MMVG.mjs +427 -0
  49. package/dist/chunk-BP24PM37.mjs +397 -0
  50. package/dist/chunk-BVSR27AF.mjs +287 -0
  51. package/dist/chunk-C6FS67EL.mjs +260 -0
  52. package/dist/chunk-CKKOBWER.mjs +182 -0
  53. package/dist/chunk-CMOSTUC3.mjs +296 -0
  54. package/dist/{chunk-FNK2VWPP.mjs → chunk-CQGDJU2H.mjs} +59 -25
  55. package/dist/chunk-CQQRB4QZ.mjs +364 -0
  56. package/dist/chunk-DDSY5FPV.mjs +442 -0
  57. package/dist/chunk-DJLVNYZD.mjs +967 -0
  58. package/dist/chunk-DNDJAR2I.mjs +38 -0
  59. package/dist/chunk-E7OUCJ3U.mjs +34 -0
  60. package/dist/{chunk-FLYJVZED.mjs → chunk-ED7QR6PJ.mjs} +2 -2
  61. package/dist/chunk-EFZDKSTJ.mjs +279 -0
  62. package/dist/chunk-EK7R3MIN.mjs +365 -0
  63. package/dist/chunk-EVO4YVSD.mjs +545 -0
  64. package/dist/{chunk-2XZHYYZ2.mjs → chunk-FTLA6FRU.mjs} +770 -661
  65. package/dist/{chunk-7EXOY7GD.mjs → chunk-FVA5VKN2.mjs} +25 -15
  66. package/dist/{chunk-EW43YBPV.mjs → chunk-G4Y25JES.mjs} +66 -31
  67. package/dist/{chunk-ZJWUBR2X.mjs → chunk-G5NPND2T.mjs} +18 -2
  68. package/dist/{chunk-L5KAXWQI.mjs → chunk-GF7W2FTZ.mjs} +18 -2
  69. package/dist/{chunk-U4M3DC2P.mjs → chunk-GOIJNJ5D.mjs} +17 -1
  70. package/dist/chunk-H3UEVWOO.mjs +348 -0
  71. package/dist/chunk-HAG7TGPS.mjs +157 -0
  72. package/dist/chunk-HEVB53MU.mjs +41 -0
  73. package/dist/{chunk-2YOP55OF.mjs → chunk-HKPRHDW4.mjs} +244 -229
  74. package/dist/{chunk-FPQMJFFM.mjs → chunk-IELUUOM4.mjs} +15 -7
  75. package/dist/chunk-ION7IDAW.mjs +297 -0
  76. package/dist/chunk-IR45LOEZ.mjs +376 -0
  77. package/dist/chunk-ITC2NU25.mjs +35 -0
  78. package/dist/chunk-IWXG4346.mjs +637 -0
  79. package/dist/{chunk-YH7FKFRM.mjs → chunk-IXMQQ6PV.mjs} +173 -189
  80. package/dist/chunk-J3BDVC5F.mjs +107 -0
  81. package/dist/chunk-JVLLOOEE.mjs +248 -0
  82. package/dist/chunk-JX2WKSVM.mjs +80 -0
  83. package/dist/chunk-KDO5PUMV.mjs +368 -0
  84. package/dist/{chunk-DECUASRW.mjs → chunk-KDXNJN6C.mjs} +134 -102
  85. package/dist/chunk-KEFHL7CJ.mjs +403 -0
  86. package/dist/chunk-KJHPPPB2.mjs +21 -0
  87. package/dist/chunk-KJSNUS45.mjs +23 -0
  88. package/dist/chunk-KTBAJ3TL.mjs +408 -0
  89. package/dist/{chunk-XJ7U2W7S.mjs → chunk-LHHRNRND.mjs} +7 -3
  90. package/dist/chunk-LKTM4NU4.mjs +315 -0
  91. package/dist/{chunk-2JMI7TCM.mjs → chunk-LMSEOGKK.mjs} +2 -11
  92. package/dist/{chunk-VJWSKJLJ.mjs → chunk-LPVE2LX3.mjs} +34 -21
  93. package/dist/chunk-LTIICOWN.mjs +115 -0
  94. package/dist/chunk-MADQ6KHD.mjs +116 -0
  95. package/dist/{chunk-X4L3W7RQ.mjs → chunk-MF6LOOXR.mjs} +34 -21
  96. package/dist/chunk-NFDR7KTS.mjs +597 -0
  97. package/dist/chunk-NNDEPQJG.mjs +172 -0
  98. package/dist/{chunk-QU3QXUTC.mjs → chunk-NPXT436C.mjs} +89 -70
  99. package/dist/chunk-NRLES2YZ.mjs +174 -0
  100. package/dist/chunk-NTCVAVYZ.mjs +182 -0
  101. package/dist/chunk-O3O5GBBY.mjs +181 -0
  102. package/dist/chunk-O7DJWXII.mjs +112 -0
  103. package/dist/{chunk-CUAXRBKO.mjs → chunk-OP77MPGN.mjs} +22 -12
  104. package/dist/chunk-OTABJT7Z.mjs +61 -0
  105. package/dist/{chunk-HKAZXG74.mjs → chunk-OU2AV7DY.mjs} +110 -23
  106. package/dist/chunk-OZ4WH3GE.mjs +431 -0
  107. package/dist/{chunk-Y3SGFGN6.mjs → chunk-P44HJQNB.mjs} +16 -2
  108. package/dist/chunk-PBF5TEF4.mjs +236 -0
  109. package/dist/chunk-PQPO7XSV.mjs +483 -0
  110. package/dist/chunk-PTKNRNH6.mjs +34 -0
  111. package/dist/chunk-PV237GAZ.mjs +226 -0
  112. package/dist/chunk-Q4TGJNVU.mjs +857 -0
  113. package/dist/chunk-QCRTRRBD.mjs +556 -0
  114. package/dist/{chunk-XT43B7ZI.mjs → chunk-QIGZOYBF.mjs} +28 -13
  115. package/dist/chunk-QUF2UX52.mjs +343 -0
  116. package/dist/chunk-R2VBVZIH.mjs +20 -0
  117. package/dist/chunk-R45ZPU5J.mjs +19 -0
  118. package/dist/chunk-REJVXLW5.mjs +97 -0
  119. package/dist/chunk-RLUBTLOT.mjs +80 -0
  120. package/dist/chunk-RNH2I23I.mjs +341 -0
  121. package/dist/chunk-RUIFGSVN.mjs +141 -0
  122. package/dist/{chunk-WTHWLCRL.mjs → chunk-S37KEELR.mjs} +39 -28
  123. package/dist/chunk-S3B5QPUA.mjs +76 -0
  124. package/dist/chunk-S5GHNXGQ.mjs +350 -0
  125. package/dist/{chunk-54HN5BXW.mjs → chunk-SCN6UULA.mjs} +148 -97
  126. package/dist/chunk-SGKPZW57.mjs +457 -0
  127. package/dist/{chunk-AYFKHWJS.mjs → chunk-SOVB7HJF.mjs} +127 -111
  128. package/dist/{chunk-SDLMB34Y.mjs → chunk-ST4NN6XV.mjs} +5 -3
  129. package/dist/{chunk-ZATZRXMW.mjs → chunk-SUHSOVWP.mjs} +68 -62
  130. package/dist/chunk-TTYKX6G4.mjs +355 -0
  131. package/dist/chunk-UJTAHHQT.mjs +41 -0
  132. package/dist/chunk-UK5NGPTQ.mjs +62 -0
  133. package/dist/chunk-UMJIDEXI.mjs +261 -0
  134. package/dist/chunk-UNT7WJ2M.mjs +943 -0
  135. package/dist/chunk-UOF324U6.mjs +80 -0
  136. package/dist/chunk-UTVZUCKK.mjs +61 -0
  137. package/dist/chunk-UVI5JN47.mjs +863 -0
  138. package/dist/chunk-UWQBY3CL.mjs +331 -0
  139. package/dist/chunk-V6FJYERX.mjs +501 -0
  140. package/dist/chunk-VDBLI5Y3.mjs +33 -0
  141. package/dist/chunk-VE3PZFFT.mjs +161 -0
  142. package/dist/{chunk-R7YZ6FKP.mjs → chunk-VGWFHVJ7.mjs} +231 -207
  143. package/dist/chunk-VW6RNQK4.mjs +152 -0
  144. package/dist/chunk-WBESWSTS.mjs +121 -0
  145. package/dist/chunk-WCIUNNIN.mjs +108 -0
  146. package/dist/chunk-WFLXJOFU.mjs +124 -0
  147. package/dist/chunk-WN6ZHQTI.mjs +129 -0
  148. package/dist/chunk-WPRXOO6N.mjs +90 -0
  149. package/dist/{chunk-XZVQ3PJS.mjs → chunk-WQMOFDAY.mjs} +9 -18
  150. package/dist/chunk-WWDZAWTS.mjs +497 -0
  151. package/dist/chunk-WWZZRB7H.mjs +121 -0
  152. package/dist/chunk-X3KXJKLM.mjs +297 -0
  153. package/dist/chunk-X7NF2HZV.mjs +551 -0
  154. package/dist/{chunk-M6ZPTGBV.mjs → chunk-XAYOEQGB.mjs} +69 -46
  155. package/dist/chunk-XE34TOCS.mjs +294 -0
  156. package/dist/chunk-XI6KQAHW.mjs +256 -0
  157. package/dist/chunk-XYW6RTRB.mjs +217 -0
  158. package/dist/chunk-XZFHPHV5.mjs +75 -0
  159. package/dist/chunk-YDIEWFBM.mjs +361 -0
  160. package/dist/chunk-YDO3V3SK.mjs +70 -0
  161. package/dist/chunk-YUFKPLCK.mjs +320 -0
  162. package/dist/{chunk-CC7IOSNI.mjs → chunk-Z3AD5DZX.mjs} +101 -76
  163. package/dist/chunk-ZG6WST55.mjs +188 -0
  164. package/dist/chunk-ZZJVJUO4.mjs +158 -0
  165. package/dist/components/ActivityFeed.d.mts +2 -0
  166. package/dist/components/ActivityFeed.mjs +13 -12
  167. package/dist/components/Affix.d.mts +1 -2
  168. package/dist/components/Affix.mjs +1 -1
  169. package/dist/components/Alert.d.mts +5 -5
  170. package/dist/components/Alert.mjs +3 -2
  171. package/dist/components/Anchor.d.mts +11 -38
  172. package/dist/components/Anchor.mjs +3 -1
  173. package/dist/components/AreaChart.mjs +11 -9
  174. package/dist/components/AspectRatio.mjs +1 -1
  175. package/dist/components/AutoComplete.d.mts +11 -10
  176. package/dist/components/AutoComplete.mjs +6 -4
  177. package/dist/components/Avatar.d.mts +5 -6
  178. package/dist/components/Avatar.mjs +3 -4
  179. package/dist/components/AvatarGroup.d.mts +2 -3
  180. package/dist/components/AvatarGroup.mjs +2 -3
  181. package/dist/components/BackTop.d.mts +4 -13
  182. package/dist/components/BackTop.mjs +2 -1
  183. package/dist/components/Badge.d.mts +3 -1
  184. package/dist/components/Badge.mjs +1 -3
  185. package/dist/components/BarChart.mjs +11 -9
  186. package/dist/components/Breadcrumb.d.mts +11 -18
  187. package/dist/components/Breadcrumb.mjs +2 -1
  188. package/dist/components/Button.d.mts +3 -2
  189. package/dist/components/Button.mjs +2 -2
  190. package/dist/components/ButtonGroup.mjs +1 -1
  191. package/dist/components/Calendar.d.mts +3 -2
  192. package/dist/components/Calendar.mjs +3 -3
  193. package/dist/components/Card.d.mts +6 -22
  194. package/dist/components/Card.mjs +1 -1
  195. package/dist/components/Carousel.d.mts +1 -24
  196. package/dist/components/Carousel.mjs +3 -4
  197. package/dist/components/Cascader.d.mts +19 -13
  198. package/dist/components/Cascader.mjs +6 -4
  199. package/dist/components/ChartAxis.mjs +1 -1
  200. package/dist/components/ChartCanvas.d.mts +3 -2
  201. package/dist/components/ChartCanvas.mjs +1 -1
  202. package/dist/components/ChartGrid.d.mts +1 -1
  203. package/dist/components/ChartGrid.mjs +1 -1
  204. package/dist/components/ChartLegend.d.mts +3 -10
  205. package/dist/components/ChartLegend.mjs +2 -1
  206. package/dist/components/ChartSeries.d.mts +2 -2
  207. package/dist/components/ChartSeries.mjs +1 -1
  208. package/dist/components/ChartTooltip.d.mts +2 -1
  209. package/dist/components/ChartTooltip.mjs +2 -1
  210. package/dist/components/ChatWindow.d.mts +6 -4
  211. package/dist/components/ChatWindow.mjs +13 -13
  212. package/dist/components/Checkbox.d.mts +3 -40
  213. package/dist/components/Checkbox.mjs +4 -3
  214. package/dist/components/CheckboxGroup.d.mts +3 -19
  215. package/dist/components/CheckboxGroup.mjs +3 -2
  216. package/dist/components/Code.d.mts +3 -1
  217. package/dist/components/Code.mjs +2 -3
  218. package/dist/components/CodeEditor.d.mts +10 -7
  219. package/dist/components/CodeEditor.mjs +4 -1
  220. package/dist/components/Col.d.mts +1 -1
  221. package/dist/components/Col.mjs +1 -2
  222. package/dist/components/Collapse.d.mts +7 -10
  223. package/dist/components/Collapse.mjs +1 -1
  224. package/dist/components/CollapsePanel.d.mts +1 -13
  225. package/dist/components/CollapsePanel.mjs +2 -2
  226. package/dist/components/ColorPicker.d.mts +11 -7
  227. package/dist/components/ColorPicker.mjs +10 -6
  228. package/dist/components/ColorSwatch.d.mts +8 -1
  229. package/dist/components/ColorSwatch.mjs +4 -1
  230. package/dist/components/CommentThread.mjs +12 -12
  231. package/dist/components/ConfigProvider.d.mts +4 -14
  232. package/dist/components/ConfigProvider.mjs +1 -2
  233. package/dist/components/Container.d.mts +2 -2
  234. package/dist/components/Container.mjs +1 -1
  235. package/dist/components/Content.d.mts +2 -1
  236. package/dist/components/Content.mjs +2 -1
  237. package/dist/components/ContextMenu.d.mts +3 -2
  238. package/dist/components/ContextMenu.mjs +3 -2
  239. package/dist/components/Countdown.d.mts +7 -1
  240. package/dist/components/Countdown.mjs +1 -1
  241. package/dist/components/CronEditor.d.mts +4 -6
  242. package/dist/components/CronEditor.mjs +4 -3
  243. package/dist/components/CropUpload.d.mts +6 -39
  244. package/dist/components/CropUpload.mjs +11 -8
  245. package/dist/components/DataExport.d.mts +8 -4
  246. package/dist/components/DataExport.mjs +6 -5
  247. package/dist/components/DataTableWithToolbar.d.mts +20 -20
  248. package/dist/components/DataTableWithToolbar.mjs +21 -19
  249. package/dist/components/DatePicker.d.mts +11 -5
  250. package/dist/components/DatePicker.mjs +7 -5
  251. package/dist/components/Descriptions.d.mts +5 -43
  252. package/dist/components/Descriptions.mjs +2 -1
  253. package/dist/components/Divider.d.mts +3 -3
  254. package/dist/components/Divider.mjs +1 -1
  255. package/dist/components/DonutChart.d.mts +0 -6
  256. package/dist/components/DonutChart.mjs +9 -6
  257. package/dist/components/Drawer.d.mts +1 -6
  258. package/dist/components/Drawer.mjs +4 -4
  259. package/dist/components/Dropdown.d.mts +4 -18
  260. package/dist/components/Dropdown.mjs +4 -2
  261. package/dist/components/Empty.d.mts +1 -1
  262. package/dist/components/Empty.mjs +2 -3
  263. package/dist/components/FileManager.d.mts +2 -1
  264. package/dist/components/FileManager.mjs +4 -4
  265. package/dist/components/FloatButton.d.mts +5 -9
  266. package/dist/components/FloatButton.mjs +9 -3
  267. package/dist/components/Footer.d.mts +2 -1
  268. package/dist/components/Footer.mjs +1 -1
  269. package/dist/components/Form.d.mts +15 -64
  270. package/dist/components/Form.mjs +2 -3
  271. package/dist/components/FormItem.d.mts +1 -6
  272. package/dist/components/FormItem.mjs +4 -5
  273. package/dist/components/FormItemContext.d.mts +9 -1
  274. package/dist/components/FormWizard.d.mts +9 -2
  275. package/dist/components/FormWizard.mjs +8 -6
  276. package/dist/components/FunnelChart.d.mts +1 -2
  277. package/dist/components/FunnelChart.mjs +12 -7
  278. package/dist/components/Gantt.d.mts +1 -1
  279. package/dist/components/Gantt.mjs +3 -2
  280. package/dist/components/GaugeChart.d.mts +1 -1
  281. package/dist/components/GaugeChart.mjs +9 -5
  282. package/dist/components/Header.d.mts +1 -1
  283. package/dist/components/Header.mjs +1 -1
  284. package/dist/components/HeatmapChart.d.mts +2 -2
  285. package/dist/components/HeatmapChart.mjs +11 -6
  286. package/dist/components/Highlight.mjs +1 -1
  287. package/dist/components/Icon.d.mts +1 -1
  288. package/dist/components/Icon.mjs +1 -1
  289. package/dist/components/Image.d.mts +4 -2
  290. package/dist/components/Image.mjs +7 -7
  291. package/dist/components/ImageAnnotation.d.mts +3 -2
  292. package/dist/components/ImageAnnotation.mjs +3 -3
  293. package/dist/components/ImageCompare.mjs +3 -1
  294. package/dist/components/ImageCropper.d.mts +2 -7
  295. package/dist/components/ImageCropper.mjs +3 -3
  296. package/dist/components/ImageGroup.d.mts +6 -12
  297. package/dist/components/ImageGroup.mjs +4 -5
  298. package/dist/components/ImagePreview.d.mts +2 -12
  299. package/dist/components/ImagePreview.mjs +3 -4
  300. package/dist/components/ImageViewer.d.mts +5 -0
  301. package/dist/components/ImageViewer.mjs +4 -3
  302. package/dist/components/InfiniteScroll.d.mts +2 -12
  303. package/dist/components/InfiniteScroll.mjs +2 -3
  304. package/dist/components/Input.d.mts +3 -30
  305. package/dist/components/Input.mjs +5 -3
  306. package/dist/components/InputGroup.d.mts +0 -1
  307. package/dist/components/InputGroup.mjs +1 -1
  308. package/dist/components/InputNumber.d.mts +4 -13
  309. package/dist/components/InputNumber.mjs +5 -3
  310. package/dist/components/InputOTP.d.mts +4 -22
  311. package/dist/components/InputOTP.mjs +3 -4
  312. package/dist/components/Kanban.d.mts +13 -46
  313. package/dist/components/Kanban.mjs +4 -4
  314. package/dist/components/Kbd.mjs +1 -1
  315. package/dist/components/Layout.d.mts +1 -1
  316. package/dist/components/Layout.mjs +2 -1
  317. package/dist/components/LineChart.mjs +11 -9
  318. package/dist/components/Link.d.mts +1 -1
  319. package/dist/components/Link.mjs +1 -1
  320. package/dist/components/List.d.mts +8 -111
  321. package/dist/components/List.mjs +12 -7
  322. package/dist/components/Loading.d.mts +1 -0
  323. package/dist/components/Loading.mjs +3 -4
  324. package/dist/components/LoadingBar.d.mts +2 -3
  325. package/dist/components/LoadingBar.mjs +56 -83
  326. package/dist/components/LoadingBarContainer.d.mts +1 -1
  327. package/dist/components/LoadingBarContainer.mjs +2 -1
  328. package/dist/components/LoadingBarRoot.d.mts +3 -3
  329. package/dist/components/LoadingBarRoot.mjs +1 -1
  330. package/dist/components/MarkdownEditor.d.mts +7 -4
  331. package/dist/components/MarkdownEditor.mjs +4 -4
  332. package/dist/components/Marquee.mjs +1 -1
  333. package/dist/components/MaskInput.d.mts +3 -23
  334. package/dist/components/MaskInput.mjs +5 -2
  335. package/dist/components/Masonry.d.mts +0 -1
  336. package/dist/components/Masonry.mjs +1 -1
  337. package/dist/components/Mentions.d.mts +10 -10
  338. package/dist/components/Mentions.mjs +6 -2
  339. package/dist/components/Menu.d.mts +16 -59
  340. package/dist/components/Menu.mjs +6 -2
  341. package/dist/components/Message.d.mts +1 -2
  342. package/dist/components/Message.mjs +55 -120
  343. package/dist/components/MessageContainer.d.mts +6 -0
  344. package/dist/components/MessageContainer.mjs +4 -2
  345. package/dist/components/MessageRoot.d.mts +2 -2
  346. package/dist/components/MessageRoot.mjs +1 -1
  347. package/dist/components/Modal.d.mts +7 -23
  348. package/dist/components/Modal.mjs +6 -6
  349. package/dist/components/NavigationMenu.d.mts +11 -7
  350. package/dist/components/NavigationMenu.mjs +3 -2
  351. package/dist/components/Notification.d.mts +1 -2
  352. package/dist/components/Notification.mjs +72 -163
  353. package/dist/components/NotificationCenter.mjs +14 -13
  354. package/dist/components/NotificationContainer.d.mts +6 -0
  355. package/dist/components/NotificationContainer.mjs +4 -2
  356. package/dist/components/NotificationRoot.d.mts +3 -3
  357. package/dist/components/NotificationRoot.mjs +1 -1
  358. package/dist/components/NumberKeyboard.d.mts +4 -4
  359. package/dist/components/NumberKeyboard.mjs +5 -3
  360. package/dist/components/OrgChart.mjs +3 -2
  361. package/dist/components/PageHeader.d.mts +3 -1
  362. package/dist/components/PageHeader.mjs +5 -4
  363. package/dist/components/Pagination.mjs +2 -3
  364. package/dist/components/PieChart.mjs +8 -5
  365. package/dist/components/Popconfirm.d.mts +18 -7
  366. package/dist/components/Popconfirm.mjs +8 -3
  367. package/dist/components/Popover.d.mts +14 -5
  368. package/dist/components/Popover.mjs +5 -3
  369. package/dist/components/PrintLayout.d.mts +7 -12
  370. package/dist/components/PrintLayout.mjs +2 -1
  371. package/dist/components/Progress.mjs +2 -1
  372. package/dist/components/QRCode.d.mts +3 -11
  373. package/dist/components/QRCode.mjs +2 -3
  374. package/dist/components/RadarChart.d.mts +0 -16
  375. package/dist/components/RadarChart.mjs +8 -6
  376. package/dist/components/Radio.d.mts +2 -11
  377. package/dist/components/Radio.mjs +4 -3
  378. package/dist/components/RadioGroup.d.mts +3 -11
  379. package/dist/components/RadioGroup.mjs +3 -2
  380. package/dist/components/Rate.d.mts +4 -7
  381. package/dist/components/Rate.mjs +3 -3
  382. package/dist/components/Resizable.d.mts +6 -2
  383. package/dist/components/Resizable.mjs +3 -1
  384. package/dist/components/Result.d.mts +6 -2
  385. package/dist/components/Result.mjs +2 -2
  386. package/dist/components/RichTextEditor.d.mts +6 -16
  387. package/dist/components/RichTextEditor.mjs +4 -4
  388. package/dist/components/Row.d.mts +2 -6
  389. package/dist/components/Row.mjs +3 -5
  390. package/dist/components/ScatterChart.mjs +11 -11
  391. package/dist/components/ScrollArea.d.mts +3 -2
  392. package/dist/components/ScrollArea.mjs +2 -1
  393. package/dist/components/ScrollSpy.d.mts +5 -4
  394. package/dist/components/ScrollSpy.mjs +3 -1
  395. package/dist/components/Segmented.d.mts +2 -3
  396. package/dist/components/Segmented.mjs +3 -1
  397. package/dist/components/Select.d.mts +18 -5
  398. package/dist/components/Select.mjs +6 -4
  399. package/dist/components/Sidebar.d.mts +1 -1
  400. package/dist/components/Sidebar.mjs +3 -1
  401. package/dist/components/Signature.d.mts +5 -2
  402. package/dist/components/Signature.mjs +4 -3
  403. package/dist/components/Skeleton.d.mts +1 -1
  404. package/dist/components/Skeleton.mjs +1 -1
  405. package/dist/components/Slider.d.mts +3 -5
  406. package/dist/components/Slider.mjs +4 -1
  407. package/dist/components/Space.d.mts +5 -1
  408. package/dist/components/Space.mjs +1 -1
  409. package/dist/components/SplitButton.d.mts +1 -21
  410. package/dist/components/SplitButton.mjs +8 -5
  411. package/dist/components/Splitter.d.mts +2 -2
  412. package/dist/components/Splitter.mjs +2 -1
  413. package/dist/components/Spotlight.d.mts +4 -3
  414. package/dist/components/Spotlight.mjs +4 -5
  415. package/dist/components/Statistic.d.mts +5 -2
  416. package/dist/components/Statistic.mjs +2 -1
  417. package/dist/components/Stepper.d.mts +3 -5
  418. package/dist/components/Stepper.mjs +4 -2
  419. package/dist/components/Steps.d.mts +4 -1
  420. package/dist/components/Steps.mjs +2 -1
  421. package/dist/components/SunburstChart.d.mts +1 -2
  422. package/dist/components/SunburstChart.mjs +12 -7
  423. package/dist/components/Switch.d.mts +3 -8
  424. package/dist/components/Switch.mjs +3 -2
  425. package/dist/components/Table.d.mts +2 -2
  426. package/dist/components/Table.mjs +18 -12
  427. package/dist/components/Tabs.d.mts +6 -94
  428. package/dist/components/Tabs.mjs +2 -3
  429. package/dist/components/Tag.d.mts +13 -2
  430. package/dist/components/Tag.mjs +2 -3
  431. package/dist/components/TagsInput.d.mts +3 -26
  432. package/dist/components/TagsInput.mjs +6 -5
  433. package/dist/components/TaskBoard.d.mts +1 -3
  434. package/dist/components/TaskBoard.mjs +3 -3
  435. package/dist/components/Text.d.mts +4 -2
  436. package/dist/components/Text.mjs +1 -1
  437. package/dist/components/Textarea.d.mts +3 -0
  438. package/dist/components/Textarea.mjs +4 -3
  439. package/dist/components/TimePicker.d.mts +22 -19
  440. package/dist/components/TimePicker.mjs +6 -5
  441. package/dist/components/Timeline.d.mts +7 -27
  442. package/dist/components/Timeline.mjs +2 -3
  443. package/dist/components/Tooltip.d.mts +12 -2
  444. package/dist/components/Tooltip.mjs +5 -3
  445. package/dist/components/Tour.d.mts +8 -4
  446. package/dist/components/Tour.mjs +7 -5
  447. package/dist/components/Transfer.d.mts +8 -10
  448. package/dist/components/Transfer.mjs +7 -3
  449. package/dist/components/Tree.d.mts +30 -175
  450. package/dist/components/Tree.mjs +8 -4
  451. package/dist/components/TreeMapChart.d.mts +1 -2
  452. package/dist/components/TreeMapChart.mjs +12 -7
  453. package/dist/components/TreeSelect.d.mts +18 -9
  454. package/dist/components/TreeSelect.mjs +7 -5
  455. package/dist/components/Upload.d.mts +9 -9
  456. package/dist/components/Upload.mjs +9 -4
  457. package/dist/components/VirtualList.d.mts +7 -4
  458. package/dist/components/VirtualList.mjs +1 -1
  459. package/dist/components/VirtualTable.d.mts +8 -6
  460. package/dist/components/VirtualTable.mjs +2 -3
  461. package/dist/components/Watermark.d.mts +1 -1
  462. package/dist/components/Watermark.mjs +1 -1
  463. package/dist/hooks/useChartInteraction.d.mts +5 -56
  464. package/dist/hooks/useChartInteraction.mjs +1 -1
  465. package/dist/hooks/useControlledState.d.mts +25 -22
  466. package/dist/hooks/useControlledState.mjs +1 -1
  467. package/dist/hooks/useDrag.d.mts +3 -21
  468. package/dist/hooks/useDrag.mjs +1 -1
  469. package/dist/hooks/useFormController.d.mts +3 -16
  470. package/dist/hooks/useFormController.mjs +1 -1
  471. package/dist/hooks/useResponsiveChartSize.d.mts +15 -0
  472. package/dist/hooks/useResponsiveChartSize.mjs +6 -0
  473. package/dist/index.d.mts +20 -17
  474. package/dist/index.mjs +1387 -200
  475. package/dist/types-C11UWmeK.d.mts +10 -0
  476. package/package.json +23 -8
  477. package/dist/chunk-246DAUEF.mjs +0 -181
  478. package/dist/chunk-2HKFQ74Z.mjs +0 -127
  479. package/dist/chunk-2JYJPNW3.mjs +0 -280
  480. package/dist/chunk-32MCQMBJ.mjs +0 -332
  481. package/dist/chunk-3G5EJRD4.mjs +0 -152
  482. package/dist/chunk-3GPGSNOQ.mjs +0 -258
  483. package/dist/chunk-3LACOSJQ.mjs +0 -65
  484. package/dist/chunk-3LDDXHW2.mjs +0 -217
  485. package/dist/chunk-3O3AQLNS.mjs +0 -172
  486. package/dist/chunk-3QNIFKVF.mjs +0 -232
  487. package/dist/chunk-5P5M656V.mjs +0 -81
  488. package/dist/chunk-5SEMRHBD.mjs +0 -327
  489. package/dist/chunk-5TE7KLE5.mjs +0 -92
  490. package/dist/chunk-5ZYZQXEM.mjs +0 -188
  491. package/dist/chunk-677VSTPW.mjs +0 -72
  492. package/dist/chunk-6H5Y7Y6E.mjs +0 -148
  493. package/dist/chunk-6RMBUZZE.mjs +0 -240
  494. package/dist/chunk-6SEPT4C5.mjs +0 -57
  495. package/dist/chunk-6UIVNRAR.mjs +0 -188
  496. package/dist/chunk-72CJNKDY.mjs +0 -222
  497. package/dist/chunk-AKNWUI7K.mjs +0 -82
  498. package/dist/chunk-ALSOPYM5.mjs +0 -705
  499. package/dist/chunk-AYHP2OAX.mjs +0 -14
  500. package/dist/chunk-BBK37UMR.mjs +0 -134
  501. package/dist/chunk-BUXHI6UK.mjs +0 -701
  502. package/dist/chunk-BXAH2GH3.mjs +0 -64
  503. package/dist/chunk-BYD7EAWK.mjs +0 -211
  504. package/dist/chunk-CFQKUMZV.mjs +0 -26
  505. package/dist/chunk-CRIEUKMD.mjs +0 -322
  506. package/dist/chunk-CT36XD5I.mjs +0 -412
  507. package/dist/chunk-CVYA3MI2.mjs +0 -653
  508. package/dist/chunk-D3KP72UC.mjs +0 -802
  509. package/dist/chunk-EAAWB3CK.mjs +0 -142
  510. package/dist/chunk-EG7EMDKK.mjs +0 -108
  511. package/dist/chunk-EPWAROC2.mjs +0 -73
  512. package/dist/chunk-FDKWHP2K.mjs +0 -352
  513. package/dist/chunk-FQS24AUH.mjs +0 -241
  514. package/dist/chunk-GBEDWXLL.mjs +0 -127
  515. package/dist/chunk-GOQ6ZG7H.mjs +0 -67
  516. package/dist/chunk-GV4F6X3C.mjs +0 -266
  517. package/dist/chunk-HAXRHSCN.mjs +0 -291
  518. package/dist/chunk-HLS4CHWX.mjs +0 -30
  519. package/dist/chunk-HS6KUPTI.mjs +0 -177
  520. package/dist/chunk-I2BENK5X.mjs +0 -149
  521. package/dist/chunk-I5TELDUV.mjs +0 -78
  522. package/dist/chunk-IIWUQK2P.mjs +0 -109
  523. package/dist/chunk-IXV5YBCZ.mjs +0 -65
  524. package/dist/chunk-J76R2S62.mjs +0 -161
  525. package/dist/chunk-JZZPLKTW.mjs +0 -173
  526. package/dist/chunk-KCPGFO5R.mjs +0 -51
  527. package/dist/chunk-KDURW5AS.mjs +0 -231
  528. package/dist/chunk-KKN7KLTB.mjs +0 -84
  529. package/dist/chunk-KQ4ZKXXN.mjs +0 -118
  530. package/dist/chunk-KRDHM5KB.mjs +0 -259
  531. package/dist/chunk-MEFARVQI.mjs +0 -25
  532. package/dist/chunk-MFPVVGNA.mjs +0 -248
  533. package/dist/chunk-MJVSZ2UJ.mjs +0 -276
  534. package/dist/chunk-MOWK7CND.mjs +0 -120
  535. package/dist/chunk-MYI3FPG4.mjs +0 -251
  536. package/dist/chunk-NADODEZX.mjs +0 -285
  537. package/dist/chunk-NJWTZ5MO.mjs +0 -688
  538. package/dist/chunk-NLGLBTSM.mjs +0 -138
  539. package/dist/chunk-NXJMVH26.mjs +0 -194
  540. package/dist/chunk-O6VYD4E4.mjs +0 -508
  541. package/dist/chunk-O7TV5OKS.mjs +0 -143
  542. package/dist/chunk-OJ6SHHOZ.mjs +0 -234
  543. package/dist/chunk-OL3RXYMG.mjs +0 -46
  544. package/dist/chunk-OO562MFD.mjs +0 -80
  545. package/dist/chunk-OPHYFC5W.mjs +0 -52
  546. package/dist/chunk-OQ6Z6U7R.mjs +0 -135
  547. package/dist/chunk-OQLP452R.mjs +0 -468
  548. package/dist/chunk-OXGAZPPS.mjs +0 -147
  549. package/dist/chunk-OZ5XLR22.mjs +0 -182
  550. package/dist/chunk-PAS347EX.mjs +0 -109
  551. package/dist/chunk-PD6Q36OO.mjs +0 -471
  552. package/dist/chunk-PMQJ6AYT.mjs +0 -100
  553. package/dist/chunk-PY2VUNEJ.mjs +0 -494
  554. package/dist/chunk-Q5JTIICP.mjs +0 -108
  555. package/dist/chunk-QOAOOD53.mjs +0 -318
  556. package/dist/chunk-RE5ZLA5D.mjs +0 -268
  557. package/dist/chunk-RGVU4EMA.mjs +0 -531
  558. package/dist/chunk-RQSQXQN6.mjs +0 -100
  559. package/dist/chunk-RRGPDFDI.mjs +0 -255
  560. package/dist/chunk-RUQ3F3MV.mjs +0 -333
  561. package/dist/chunk-S2V3HGLZ.mjs +0 -733
  562. package/dist/chunk-SEOG5AGS.mjs +0 -72
  563. package/dist/chunk-SHT4TU3T.mjs +0 -32
  564. package/dist/chunk-SJ5RFU2O.mjs +0 -21
  565. package/dist/chunk-SPIPFOGD.mjs +0 -322
  566. package/dist/chunk-SVIJ2UZA.mjs +0 -186
  567. package/dist/chunk-SXWEFZOF.mjs +0 -766
  568. package/dist/chunk-TDFLUDRM.mjs +0 -283
  569. package/dist/chunk-TEVEXDY2.mjs +0 -570
  570. package/dist/chunk-TGXBCKOU.mjs +0 -35
  571. package/dist/chunk-TO6MZFNQ.mjs +0 -186
  572. package/dist/chunk-TULQETJ5.mjs +0 -45
  573. package/dist/chunk-U2ZXZ2KQ.mjs +0 -213
  574. package/dist/chunk-U7RLVY67.mjs +0 -303
  575. package/dist/chunk-UHK2ISKR.mjs +0 -282
  576. package/dist/chunk-UYQBXVFE.mjs +0 -72
  577. package/dist/chunk-V7HJ5HLC.mjs +0 -412
  578. package/dist/chunk-VSFDT2RS.mjs +0 -46
  579. package/dist/chunk-W7BC4I2Y.mjs +0 -68
  580. package/dist/chunk-WK45IRP7.mjs +0 -93
  581. package/dist/chunk-WX5VUIGT.mjs +0 -22
  582. package/dist/chunk-X6C6MNG5.mjs +0 -240
  583. package/dist/chunk-XVHTJQ4T.mjs +0 -140
  584. package/dist/chunk-Y5X3G2LD.mjs +0 -115
  585. package/dist/chunk-Y6UH3EKE.mjs +0 -328
  586. package/dist/chunk-YN5ZIWCE.mjs +0 -19
  587. package/dist/chunk-YORCCCQX.mjs +0 -83
  588. package/dist/chunk-YSIXURBW.mjs +0 -116
  589. package/dist/chunk-Z23KOLNU.mjs +0 -326
  590. package/dist/chunk-Z3CRHC5F.mjs +0 -430
  591. package/dist/types-0oVwMXtR.d.mts +0 -33
  592. /package/dist/{chunk-5JETWHLJ.mjs → chunk-7P4R3NVO.mjs} +0 -0
@@ -1,7 +1,10 @@
1
+ import {
2
+ composeRefs
3
+ } from "./chunk-WWZZRB7H.mjs";
1
4
  import {
2
5
  renderOverlayPortal,
3
6
  useAnchoredOverlay
4
- } from "./chunk-HKAZXG74.mjs";
7
+ } from "./chunk-OU2AV7DY.mjs";
5
8
 
6
9
  // src/components/NavigationMenu.tsx
7
10
  import React, {
@@ -9,13 +12,20 @@ import React, {
9
12
  useContext,
10
13
  useState,
11
14
  useEffect,
15
+ useLayoutEffect,
12
16
  useRef,
13
17
  useCallback,
14
18
  useMemo,
15
19
  useId
16
20
  } from "react";
17
21
  import {
22
+ applyNavigationMenuPanelKey,
18
23
  classNames,
24
+ createNavigationMenuHoverSession,
25
+ focusFirstMenuItemWhenVisible,
26
+ captureActiveElement,
27
+ restoreFocus,
28
+ getNavigationMenuBarItems,
19
29
  getNavigationMenuClasses,
20
30
  getNavigationMenuListClasses,
21
31
  getNavigationMenuItemClasses,
@@ -23,136 +33,170 @@ import {
23
33
  getNavigationMenuChevronClasses,
24
34
  getNavigationMenuContentClasses,
25
35
  getNavigationMenuLinkClasses,
36
+ getNavigationMenuItemValue,
37
+ getNavigationMenuRovingTabIndex,
38
+ getNavigationMenuTabExitTarget,
39
+ getSecureRel,
40
+ handleMenubarNavigation,
26
41
  injectNavigationMenuStyles,
27
- NAVIGATION_MENU_ENTER_CLASS,
28
- NAVIGATION_MENU_CHEVRON_PATH,
42
+ isFocusInsideNavigationMenu,
43
+ isNavigationMenuOpen,
44
+ isNavigationMenuTriggerOpenKey,
45
+ isNavigationMenuValueOpen,
29
46
  NAVIGATION_MENU_BAR_ITEM_ATTR,
47
+ NAVIGATION_MENU_CHEVRON_PATH,
30
48
  NAVIGATION_MENU_DEFAULT_DELAY_DURATION,
31
- NAVIGATION_MENU_DEFAULT_SKIP_DELAY_DURATION,
32
49
  NAVIGATION_MENU_DEFAULT_OFFSET,
33
- isNavigationMenuValueOpen,
34
- isNavigationMenuOpen,
50
+ NAVIGATION_MENU_DEFAULT_SKIP_DELAY_DURATION,
51
+ NAVIGATION_MENU_ENTER_CLASS,
52
+ NAVIGATION_MENU_ITEM_VALUE_ATTR,
53
+ resolveElementDir,
35
54
  resolveNavigationMenuOpenValue,
36
- shouldSkipNavigationMenuOpenDelay,
37
- isNavigationMenuTriggerOpenKey,
38
- handleMenubarNavigation,
39
- handleMenuNavigation,
40
- initNavigationMenuRovingTabIndex,
41
- focusFirstMenuItem,
42
- captureActiveElement,
43
- restoreFocus,
44
- getSecureRel
55
+ resolveNavigationMenuTabStopValue,
56
+ warnNavigationMenuOpenWithoutValue
45
57
  } from "@expcat/tigercat-core";
46
58
  import { jsx, jsxs } from "react/jsx-runtime";
47
- function containsFocusTarget(container, target) {
48
- return Boolean(container && target instanceof Node && container.contains(target));
49
- }
50
- function getOpenPanelFromMenubar(menubar) {
51
- if (!menubar) return null;
52
- const trigger = menubar.querySelector('[aria-expanded="true"][aria-controls]');
53
- const contentId = trigger?.getAttribute("aria-controls");
54
- if (!contentId) return null;
55
- return menubar.ownerDocument.getElementById(contentId);
56
- }
57
59
  var NavigationMenuContext = createContext(null);
58
60
  var NavigationMenuItemContext = createContext(null);
59
61
  var NavigationMenuContentContext = createContext(
60
62
  null
61
63
  );
62
- var NavigationMenuLink = ({
63
- href,
64
- target,
65
- rel,
66
- disabled = false,
67
- active = false,
68
- className,
69
- style,
70
- onClick,
71
- children
72
- }) => {
73
- const root = useContext(NavigationMenuContext);
74
- const item = useContext(NavigationMenuItemContext);
75
- const content = useContext(NavigationMenuContentContext);
76
- const inPanel = Boolean(content);
77
- const isDisabled = disabled || Boolean(item?.disabled);
78
- const handleClick = (event) => {
79
- if (isDisabled) {
80
- event.preventDefault();
81
- event.stopPropagation();
82
- return;
64
+ function hasNavigationMenuList(children) {
65
+ return React.Children.toArray(children).some((child) => {
66
+ if (!React.isValidElement(child)) return false;
67
+ if (child.type === NavigationMenuList) return true;
68
+ if (child.type === React.Fragment) {
69
+ return hasNavigationMenuList(child.props.children);
83
70
  }
84
- onClick?.(event);
85
- root?.handleItemClick();
86
- };
87
- const handleFocus = () => {
88
- if (inPanel) return;
89
- if (!item?.hasPanel) {
90
- root?.setValue(null, { restoreFocus: false });
71
+ return false;
72
+ });
73
+ }
74
+ function childIsContent(child) {
75
+ return React.isValidElement(child) && child.type === NavigationMenuContent;
76
+ }
77
+ var NavigationMenuLink = React.forwardRef(
78
+ ({
79
+ href,
80
+ target,
81
+ rel,
82
+ disabled = false,
83
+ active = false,
84
+ className,
85
+ style,
86
+ onClick,
87
+ children,
88
+ ...rest
89
+ }, forwardedRef) => {
90
+ const root = useContext(NavigationMenuContext);
91
+ const item = useContext(NavigationMenuItemContext);
92
+ const content = useContext(NavigationMenuContentContext);
93
+ const inPanel = Boolean(content);
94
+ const isDisabled = disabled || Boolean(item?.disabled) || Boolean(!inPanel && root?.disabled);
95
+ const tabIndex = inPanel ? -1 : getNavigationMenuRovingTabIndex(item?.value ?? "", root?.tabStopValue);
96
+ const handleClick = (event) => {
97
+ if (isDisabled) {
98
+ event.preventDefault();
99
+ event.stopPropagation();
100
+ return;
101
+ }
102
+ onClick?.(event);
103
+ root?.handleItemClick();
104
+ };
105
+ const handleFocus = () => {
106
+ if (inPanel) return;
107
+ if (!item?.hasPanel) {
108
+ root?.setValue(null, { restoreFocus: false });
109
+ }
110
+ if (item) root?.setTabStopValue(item.value);
111
+ };
112
+ const handleKeyDown = (event) => {
113
+ if (inPanel || !root?.menubarRef.current) return;
114
+ const next = handleMenubarNavigation(root.menubarRef.current, event.nativeEvent);
115
+ if (!next) return;
116
+ const value = getNavigationMenuItemValue(next);
117
+ if (value != null) root.setTabStopValue(value);
118
+ };
119
+ const linkClasses = classNames(
120
+ getNavigationMenuLinkClasses(isDisabled, inPanel, active),
121
+ className
122
+ );
123
+ const computedRel = href && !isDisabled ? getSecureRel(target, rel) : void 0;
124
+ const shared = {
125
+ ...rest,
126
+ className: linkClasses,
127
+ style,
128
+ role: "menuitem",
129
+ tabIndex,
130
+ [NAVIGATION_MENU_BAR_ITEM_ATTR]: inPanel || isDisabled ? void 0 : "",
131
+ [NAVIGATION_MENU_ITEM_VALUE_ATTR]: inPanel ? void 0 : String(item?.value ?? ""),
132
+ "aria-disabled": isDisabled || void 0,
133
+ "aria-current": active ? "page" : void 0,
134
+ "data-tiger-navigation-menu-link": "",
135
+ "data-active": active ? "true" : void 0,
136
+ onClick: handleClick,
137
+ onFocus: handleFocus,
138
+ onKeyDown: handleKeyDown
139
+ };
140
+ if (href && !isDisabled) {
141
+ return /* @__PURE__ */ jsx(
142
+ "a",
143
+ {
144
+ ref: forwardedRef,
145
+ href,
146
+ target,
147
+ rel: computedRel,
148
+ ...shared,
149
+ children
150
+ }
151
+ );
91
152
  }
92
- };
93
- const handleKeyDown = (event) => {
94
- if (inPanel) return;
95
- if (root?.menubarRef.current) {
96
- handleMenubarNavigation(root.menubarRef.current, event.nativeEvent);
153
+ if (href && isDisabled) {
154
+ return /* @__PURE__ */ jsx("span", { ref: forwardedRef, ...shared, children });
97
155
  }
98
- };
99
- const linkClasses = classNames(
100
- getNavigationMenuLinkClasses(isDisabled, inPanel, active),
101
- className
102
- );
103
- const computedRel = href ? getSecureRel(target, rel) : void 0;
104
- const shared = {
105
- className: linkClasses,
106
- style,
107
- role: "menuitem",
108
- tabIndex: -1,
109
- [NAVIGATION_MENU_BAR_ITEM_ATTR]: inPanel ? void 0 : "",
110
- "aria-disabled": isDisabled || void 0,
111
- "aria-current": active ? "page" : void 0,
112
- "data-tiger-navigation-menu-link": "",
113
- "data-active": active ? "true" : void 0,
114
- onClick: handleClick,
115
- onFocus: handleFocus,
116
- onKeyDown: handleKeyDown
117
- };
118
- if (href) {
119
- return /* @__PURE__ */ jsx("a", { href, target, rel: computedRel, ...shared, children });
156
+ return /* @__PURE__ */ jsx(
157
+ "button",
158
+ {
159
+ ref: forwardedRef,
160
+ ...shared,
161
+ type: "button",
162
+ disabled: isDisabled,
163
+ children
164
+ }
165
+ );
120
166
  }
121
- return /* @__PURE__ */ jsx("button", { type: "button", disabled: isDisabled, ...shared, children });
122
- };
123
- var NavigationMenuTrigger = ({
124
- disabled = false,
125
- showArrow,
126
- className,
127
- style,
128
- children
129
- }) => {
167
+ );
168
+ NavigationMenuLink.displayName = "NavigationMenuLink";
169
+ var NavigationMenuTrigger = React.forwardRef(({ disabled = false, showArrow, className, style, children, ...buttonProps }, forwardedRef) => {
130
170
  const root = useContext(NavigationMenuContext);
131
171
  const item = useContext(NavigationMenuItemContext);
132
172
  const isDisabled = disabled || Boolean(item?.disabled) || Boolean(root?.disabled);
133
173
  const arrow = showArrow !== void 0 ? showArrow : item?.showArrow ?? true;
174
+ const tabIndex = getNavigationMenuRovingTabIndex(item?.value ?? "", root?.tabStopValue);
134
175
  const handleMouseEnter = () => {
135
- if (isDisabled) return;
176
+ if (isDisabled || !root?.openOnHover) return;
136
177
  item?.scheduleOpen();
137
178
  };
138
179
  const handleMouseLeave = () => {
180
+ if (!root?.openOnHover) return;
139
181
  item?.scheduleClose();
140
182
  };
141
- const handleFocus = () => {
142
- if (isDisabled || root?.isFocusOpenSuppressed()) return;
143
- item?.open();
144
- };
145
183
  const handleClick = (event) => {
146
184
  if (isDisabled) {
147
185
  event.preventDefault();
148
186
  return;
149
187
  }
150
- item?.open();
188
+ if (item?.isOpen) item.close({ restoreFocus: false });
189
+ else item?.open();
151
190
  };
152
191
  const handleKeyDown = (event) => {
153
192
  if (isDisabled || !item) return;
154
- if (root?.menubarRef.current && handleMenubarNavigation(root.menubarRef.current, event.nativeEvent)) {
155
- return;
193
+ if (root?.menubarRef.current) {
194
+ const next = handleMenubarNavigation(root.menubarRef.current, event.nativeEvent);
195
+ if (next) {
196
+ const value = getNavigationMenuItemValue(next);
197
+ if (value != null) root.setTabStopValue(value);
198
+ return;
199
+ }
156
200
  }
157
201
  if (isNavigationMenuTriggerOpenKey(event.key) && item.hasPanel) {
158
202
  event.preventDefault();
@@ -173,23 +217,25 @@ var NavigationMenuTrigger = ({
173
217
  return /* @__PURE__ */ jsxs(
174
218
  "button",
175
219
  {
176
- ref: item.triggerRef,
220
+ ...buttonProps,
221
+ ref: composeRefs(forwardedRef, item.triggerRef),
177
222
  type: "button",
178
223
  className: triggerClasses,
179
224
  style,
180
225
  role: "menuitem",
181
- tabIndex: -1,
182
- ...{ [NAVIGATION_MENU_BAR_ITEM_ATTR]: "" },
226
+ tabIndex,
227
+ ...{ [NAVIGATION_MENU_BAR_ITEM_ATTR]: isDisabled ? void 0 : "" },
228
+ ...{ [NAVIGATION_MENU_ITEM_VALUE_ATTR]: String(item.value) },
183
229
  "aria-haspopup": "menu",
184
230
  "aria-expanded": item.isOpen,
185
- "aria-controls": item.isOpen ? item.contentId : void 0,
231
+ "aria-controls": item.contentId,
186
232
  "aria-disabled": isDisabled || void 0,
187
233
  disabled: isDisabled,
188
234
  "data-state": item.isOpen ? "open" : "closed",
189
235
  "data-tiger-navigation-menu-trigger": "",
190
236
  onMouseEnter: handleMouseEnter,
191
237
  onMouseLeave: handleMouseLeave,
192
- onFocus: handleFocus,
238
+ onFocus: () => root?.setTabStopValue(item.value),
193
239
  onClick: handleClick,
194
240
  onKeyDown: handleKeyDown,
195
241
  children: [
@@ -211,7 +257,8 @@ var NavigationMenuTrigger = ({
211
257
  ]
212
258
  }
213
259
  );
214
- };
260
+ });
261
+ NavigationMenuTrigger.displayName = "NavigationMenuTrigger";
215
262
  var NavigationMenuContent = ({
216
263
  mega = false,
217
264
  className,
@@ -227,11 +274,6 @@ var NavigationMenuContent = ({
227
274
  const contentRef = item?.contentRef ?? floatingRef;
228
275
  const isOpen = Boolean(item?.isOpen);
229
276
  const portalEnabled = Boolean(root?.portal);
230
- useEffect(() => {
231
- if (!item) return;
232
- item.setHasPanel(true);
233
- return () => item.setHasPanel(false);
234
- }, [item]);
235
277
  const overlay = useAnchoredOverlay({
236
278
  referenceRef,
237
279
  floatingRef: contentRef,
@@ -241,31 +283,43 @@ var NavigationMenuContent = ({
241
283
  portal: portalEnabled,
242
284
  dismissOnOutside: true,
243
285
  dismissOnEscape: true,
244
- onDismiss: () => item?.close()
286
+ onDismiss: () => item?.close({ restoreFocus: false })
245
287
  });
246
288
  const handleMouseEnter = () => {
247
289
  item?.cancelClose();
248
290
  };
249
291
  const handleMouseLeave = () => {
292
+ if (!root?.openOnHover) return;
250
293
  item?.scheduleClose();
251
294
  };
252
295
  const handleFocusOut = (event) => {
253
296
  root?.handleFocusLeave(event);
254
297
  };
255
298
  const handleKeyDown = (event) => {
256
- if (contentRef.current) {
257
- handleMenuNavigation(contentRef.current, event.nativeEvent);
299
+ const panel = contentRef.current;
300
+ if (!panel || !item || !root) return;
301
+ const dir = resolveElementDir(root.rootRef.current ?? root.menubarRef.current);
302
+ const action = applyNavigationMenuPanelKey({ event: event.nativeEvent, panel, dir });
303
+ if (!action || action === "menu-nav") return;
304
+ event.stopPropagation();
305
+ if (action === "close-to-trigger") {
306
+ item.close();
307
+ item.triggerRef.current?.focus();
308
+ return;
258
309
  }
259
- if (event.key === "Escape" || event.key === "ArrowLeft") {
260
- event.preventDefault();
261
- event.stopPropagation();
262
- item?.close();
263
- item?.triggerRef.current?.focus();
310
+ if (action === "move-menubar-next" && root.menubarRef.current) {
311
+ item.close({ restoreFocus: false });
312
+ item.triggerRef.current?.focus();
313
+ const next = handleMenubarNavigation(root.menubarRef.current, event.nativeEvent);
314
+ const value = getNavigationMenuItemValue(next);
315
+ if (value != null) root.setTabStopValue(value);
264
316
  return;
265
317
  }
266
- if (event.key === "ArrowRight" && root?.menubarRef.current && item?.triggerRef.current) {
267
- item.triggerRef.current.focus();
268
- handleMenubarNavigation(root.menubarRef.current, event.nativeEvent);
318
+ if (action === "tab-exit" || action === "shift-tab-exit") {
319
+ const nav = root.rootRef.current;
320
+ const target = nav ? getNavigationMenuTabExitTarget(nav, panel, action === "shift-tab-exit") : null;
321
+ item.close({ restoreFocus: false });
322
+ target?.focus();
269
323
  }
270
324
  };
271
325
  if (!item || !root) return null;
@@ -288,8 +342,8 @@ var NavigationMenuContent = ({
288
342
  ...divProps,
289
343
  id: item.contentId,
290
344
  className: classNames(getNavigationMenuContentClasses(mega), className),
291
- style,
292
- role: mega ? "group" : "menu",
345
+ style: mega ? { minWidth: "28rem", ...style } : style,
346
+ role: "menu",
293
347
  children
294
348
  }
295
349
  )
@@ -310,7 +364,7 @@ var NavigationMenuItem = ({
310
364
  const itemValue = valueProp ?? autoValue;
311
365
  const triggerRef = useRef(null);
312
366
  const contentRef = useRef(null);
313
- const [hasPanel, setHasPanel] = useState(false);
367
+ const hasPanel = React.Children.toArray(children).some(childIsContent);
314
368
  const isOpen = Boolean(root && !disabled && isNavigationMenuValueOpen(itemValue, root.value));
315
369
  const contentId = `${autoValue}-content`;
316
370
  const open = useCallback(
@@ -318,18 +372,22 @@ var NavigationMenuItem = ({
318
372
  if (disabled || !root) return;
319
373
  root.cancelClose();
320
374
  root.setValue(itemValue);
375
+ root.setTabStopValue(itemValue);
321
376
  if (!focusPanel) return;
322
- requestAnimationFrame(() => {
377
+ queueMicrotask(() => {
323
378
  const panel = contentRef.current ?? document.getElementById(contentId);
324
- if (panel) focusFirstMenuItem(panel);
379
+ if (panel) focusFirstMenuItemWhenVisible(panel);
325
380
  });
326
381
  },
327
382
  [contentId, disabled, itemValue, root]
328
383
  );
329
- const close = useCallback(() => {
330
- if (!root) return;
331
- if (isOpen) root.setValue(null);
332
- }, [isOpen, root]);
384
+ const close = useCallback(
385
+ (options) => {
386
+ if (!root) return;
387
+ if (isOpen) root.setValue(null, options);
388
+ },
389
+ [isOpen, root]
390
+ );
333
391
  const scheduleOpen = useCallback(() => {
334
392
  if (disabled || !root) return;
335
393
  root.scheduleOpen(itemValue);
@@ -346,7 +404,6 @@ var NavigationMenuItem = ({
346
404
  isOpen,
347
405
  disabled,
348
406
  hasPanel,
349
- setHasPanel,
350
407
  triggerRef,
351
408
  contentRef,
352
409
  contentId,
@@ -358,9 +415,9 @@ var NavigationMenuItem = ({
358
415
  showArrow: root?.showArrow ?? true
359
416
  }),
360
417
  [
361
- autoValue,
362
418
  cancelClose,
363
419
  close,
420
+ contentId,
364
421
  disabled,
365
422
  hasPanel,
366
423
  isOpen,
@@ -401,8 +458,16 @@ var NavigationMenuList = ({
401
458
  },
402
459
  [root]
403
460
  );
404
- useEffect(() => {
405
- if (listRef.current) initNavigationMenuRovingTabIndex(listRef.current);
461
+ useLayoutEffect(() => {
462
+ const list = listRef.current;
463
+ if (!list || !root) return;
464
+ const next = resolveNavigationMenuTabStopValue({
465
+ items: getNavigationMenuBarItems(list),
466
+ tabStopValue: root.tabStopValue
467
+ });
468
+ if (next != null && next !== String(root.tabStopValue ?? "")) {
469
+ root.setTabStopValue(next);
470
+ }
406
471
  });
407
472
  return /* @__PURE__ */ jsx(
408
473
  "ul",
@@ -422,6 +487,7 @@ var NavigationMenu = ({
422
487
  defaultValue,
423
488
  open: controlledOpen,
424
489
  defaultOpen = false,
490
+ openOnHover = false,
425
491
  disabled = false,
426
492
  closeOnClick = true,
427
493
  delayDuration = NAVIGATION_MENU_DEFAULT_DELAY_DURATION,
@@ -441,13 +507,10 @@ var NavigationMenu = ({
441
507
  const [internalValue, setInternalValue] = useState(
442
508
  isNavigationMenuOpen(initialValue) ? initialValue : null
443
509
  );
510
+ const [tabStopValue, setTabStopValue] = useState(null);
444
511
  const rootRef = useRef(null);
445
512
  const menubarRef = useRef(null);
446
513
  const previousActiveElementRef = useRef(null);
447
- const openTimerRef = useRef(null);
448
- const closeTimerRef = useRef(null);
449
- const lastOpenAtRef = useRef(0);
450
- const suppressFocusOpenRef = useRef(false);
451
514
  const currentValue = resolveNavigationMenuOpenValue({
452
515
  value: controlledValue,
453
516
  internalValue,
@@ -456,24 +519,36 @@ var NavigationMenu = ({
456
519
  const currentValueRef = useRef(currentValue);
457
520
  currentValueRef.current = currentValue;
458
521
  const currentOpen = isNavigationMenuOpen(currentValue);
522
+ const delayDurationRef = useRef(delayDuration);
523
+ delayDurationRef.current = delayDuration;
524
+ const skipDelayDurationRef = useRef(skipDelayDuration);
525
+ skipDelayDurationRef.current = skipDelayDuration;
526
+ const disabledRef = useRef(disabled);
527
+ disabledRef.current = disabled;
528
+ const setValueRef = useRef(() => void 0);
529
+ const hoverRef = useRef(null);
530
+ if (!hoverRef.current) {
531
+ hoverRef.current = createNavigationMenuHoverSession({
532
+ getDelayDuration: () => delayDurationRef.current,
533
+ getSkipDelayDuration: () => skipDelayDurationRef.current,
534
+ getValue: () => currentValueRef.current,
535
+ setValue: (next) => setValueRef.current(next),
536
+ isDisabled: () => disabledRef.current
537
+ });
538
+ }
459
539
  useEffect(() => {
460
540
  injectNavigationMenuStyles();
461
541
  }, []);
462
- const clearTimers = useCallback(() => {
463
- if (openTimerRef.current) {
464
- clearTimeout(openTimerRef.current);
465
- openTimerRef.current = null;
466
- }
467
- if (closeTimerRef.current) {
468
- clearTimeout(closeTimerRef.current);
469
- closeTimerRef.current = null;
470
- }
471
- }, []);
472
- useEffect(() => () => clearTimers(), [clearTimers]);
542
+ useEffect(() => {
543
+ warnNavigationMenuOpenWithoutValue(
544
+ controlledOpen,
545
+ isNavigationMenuOpen(controlledValue ?? defaultValue ?? internalValue)
546
+ );
547
+ }, [controlledOpen, controlledValue, defaultValue, internalValue]);
473
548
  const setValue = useCallback(
474
549
  (next, options) => {
475
550
  if (disabled && next != null) return;
476
- clearTimers();
551
+ hoverRef.current?.clear();
477
552
  const resolvedNext = isNavigationMenuOpen(next) ? next : null;
478
553
  const wasOpen = isNavigationMenuOpen(currentValueRef.current);
479
554
  const willOpen = resolvedNext != null;
@@ -489,93 +564,39 @@ var NavigationMenu = ({
489
564
  }
490
565
  onValueChange?.(resolvedNext);
491
566
  onOpenChange?.(willOpen);
492
- if (!willOpen) {
493
- suppressFocusOpenRef.current = true;
494
- if (options?.restoreFocus !== false) {
495
- restoreFocus(previousActiveElementRef.current);
496
- }
567
+ if (!willOpen && options?.restoreFocus !== false) {
568
+ restoreFocus(previousActiveElementRef.current);
497
569
  previousActiveElementRef.current = null;
498
- queueMicrotask(() => {
499
- suppressFocusOpenRef.current = false;
500
- });
501
- }
502
- },
503
- [clearTimers, controlledValue, disabled, onOpenChange, onValueChange]
504
- );
505
- const scheduleOpen = useCallback(
506
- (itemValue) => {
507
- if (disabled) return;
508
- if (closeTimerRef.current) {
509
- clearTimeout(closeTimerRef.current);
510
- closeTimerRef.current = null;
511
- }
512
- const skip = shouldSkipNavigationMenuOpenDelay(
513
- lastOpenAtRef.current,
514
- Date.now(),
515
- skipDelayDuration
516
- );
517
- const delay = skip ? 0 : delayDuration;
518
- const apply = () => {
519
- lastOpenAtRef.current = Date.now();
520
- setValue(itemValue);
521
- openTimerRef.current = null;
522
- };
523
- if (delay <= 0) {
524
- apply();
525
- return;
526
- }
527
- if (openTimerRef.current) clearTimeout(openTimerRef.current);
528
- openTimerRef.current = setTimeout(apply, delay);
529
- },
530
- [delayDuration, disabled, setValue, skipDelayDuration]
531
- );
532
- const scheduleClose = useCallback(
533
- (itemValue) => {
534
- if (openTimerRef.current) {
535
- clearTimeout(openTimerRef.current);
536
- openTimerRef.current = null;
537
- }
538
- const close = () => {
539
- if (currentValueRef.current === itemValue) setValue(null);
540
- closeTimerRef.current = null;
541
- };
542
- if (skipDelayDuration <= 0) {
543
- close();
544
- return;
545
570
  }
546
- if (closeTimerRef.current) clearTimeout(closeTimerRef.current);
547
- closeTimerRef.current = setTimeout(close, skipDelayDuration);
548
571
  },
549
- [setValue, skipDelayDuration]
572
+ [controlledValue, disabled, onOpenChange, onValueChange]
550
573
  );
551
- const cancelClose = useCallback(() => {
552
- if (closeTimerRef.current) {
553
- clearTimeout(closeTimerRef.current);
554
- closeTimerRef.current = null;
555
- }
556
- }, []);
574
+ setValueRef.current = setValue;
575
+ useEffect(() => () => hoverRef.current?.clear(), []);
557
576
  const handleItemClick = useCallback(() => {
558
- if (closeOnClick) setValue(null);
577
+ if (closeOnClick) setValue(null, { restoreFocus: false });
559
578
  }, [closeOnClick, setValue]);
560
579
  const handleFocusLeave = useCallback(
561
580
  (event) => {
562
- const next = event.relatedTarget;
563
- if (containsFocusTarget(rootRef.current, next)) return;
564
- if (containsFocusTarget(getOpenPanelFromMenubar(menubarRef.current), next)) return;
581
+ if (isFocusInsideNavigationMenu(rootRef.current, menubarRef.current, event.relatedTarget)) {
582
+ return;
583
+ }
565
584
  if (!isNavigationMenuOpen(currentValueRef.current)) return;
566
585
  setValue(null, { restoreFocus: false });
567
586
  },
568
587
  [setValue]
569
588
  );
570
- const isFocusOpenSuppressed = useCallback(() => suppressFocusOpenRef.current, []);
571
589
  const contextValue = useMemo(
572
590
  () => ({
573
591
  value: currentValue,
592
+ tabStopValue,
593
+ setTabStopValue,
574
594
  setValue,
575
- scheduleOpen,
576
- scheduleClose,
577
- cancelClose,
595
+ scheduleOpen: (itemValue) => hoverRef.current?.scheduleOpen(itemValue),
596
+ scheduleClose: (itemValue) => hoverRef.current?.scheduleClose(itemValue),
597
+ cancelClose: () => hoverRef.current?.cancelClose(),
578
598
  closeOnClick,
599
+ openOnHover,
579
600
  handleItemClick,
580
601
  handleFocusLeave,
581
602
  portal,
@@ -583,30 +604,25 @@ var NavigationMenu = ({
583
604
  offset,
584
605
  placement,
585
606
  showArrow,
586
- menubarRef,
587
- isFocusOpenSuppressed
607
+ rootRef,
608
+ menubarRef
588
609
  }),
589
610
  [
590
- cancelClose,
591
611
  closeOnClick,
592
612
  currentValue,
593
613
  disabled,
594
614
  handleFocusLeave,
595
615
  handleItemClick,
596
- isFocusOpenSuppressed,
597
616
  offset,
617
+ openOnHover,
598
618
  placement,
599
619
  portal,
600
- scheduleClose,
601
- scheduleOpen,
602
620
  setValue,
603
- showArrow
621
+ showArrow,
622
+ tabStopValue
604
623
  ]
605
624
  );
606
- const childrenArray = React.Children.toArray(children);
607
- const hasList = childrenArray.some(
608
- (child) => React.isValidElement(child) && child.type === NavigationMenuList
609
- );
625
+ const hasList = hasNavigationMenuList(children);
610
626
  return /* @__PURE__ */ jsx(NavigationMenuContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
611
627
  "nav",
612
628
  {
@@ -614,7 +630,6 @@ var NavigationMenu = ({
614
630
  ref: rootRef,
615
631
  className: classNames(getNavigationMenuClasses(), className),
616
632
  style,
617
- "aria-label": navProps["aria-label"] ?? "Main",
618
633
  "data-tiger-navigation-menu": "",
619
634
  "data-state": currentOpen ? "open" : "closed",
620
635
  onBlur: (event) => {