@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
package/README.md CHANGED
@@ -35,25 +35,12 @@ function App() {
35
35
 
36
36
  ## Components
37
37
 
38
- 172 public component entries across 9 categories. The authoritative list with
39
- import subpaths lives in
40
- [component-index.md](https://github.com/expcat/Tigercat/blob/main/skills/tigercat/references/component-index.md)
41
- (generated); the table below is only a sampler.
42
-
43
- | Category | Count | Examples |
44
- | -------------- | ----- | ------------------------------------------------------------- |
45
- | **Basic** | 30 | Button, Alert, Avatar, Badge, Icon, Tag, Text, Result, QRCode |
46
- | **Form** | 31 | Input, Select, DatePicker, Form, Upload, InputOTP, TagsInput |
47
- | **Layout** | 19 | Card, Row/Col, Layout, List, Descriptions, Skeleton, Space |
48
- | **Navigation** | 33 | Menu, Tabs, Breadcrumb, Pagination, Steps, Dropdown, Tree |
49
- | **Feedback** | 13 | Modal, Drawer, Message, Popover, Tooltip, Progress, Tour |
50
- | **Data** | 7 | Table, Calendar, Collapse, Timeline, DataExport |
51
- | **Charts** | 20 | BarChart, LineChart, PieChart, RadarChart, GaugeChart, Gantt |
52
- | **Advanced** | 12 | VirtualTable, VirtualList, RichTextEditor, CodeEditor |
53
- | **Composite** | 7 | DataTableWithToolbar, ChatWindow, FormWizard, TaskBoard |
54
-
55
- `Message` and `notification` are also available as imperative command APIs from
56
- the package root; `notification` is a command API, not a component.
38
+ Sampler: Button, Avatar, Badge, Input, Select, DatePicker, Form, Card, Layout, Menu, Tabs, Modal, Drawer, Table, BarChart, LineChart, VirtualTable, RichTextEditor, DataTableWithToolbar, ChatWindow. The generated catalog with import subpaths is
39
+ [component-index.md](https://github.com/expcat/Tigercat/blob/main/skills/tigercat/references/component-index.md).
40
+
41
+ `Message`, `notification`, and `LoadingBar` are root command APIs;
42
+ [command-apis.md](https://github.com/expcat/Tigercat/blob/main/skills/tigercat/references/command-apis.md).
43
+ `notification` is not a component.
57
44
 
58
45
  ## Hooks
59
46
 
@@ -63,6 +50,13 @@ the package root; `notification` is a command API, not a component.
63
50
  `useBreadcrumbContext` and `useStepsContext`. Signatures are listed in
64
51
  [api-summary.md](https://github.com/expcat/Tigercat/blob/main/skills/tigercat/references/shared/api-summary.md).
65
52
 
53
+ ## Next
54
+
55
+ - Install, compatibility, and MCP client config:
56
+ [root README](https://github.com/expcat/Tigercat/blob/main/README.md)
57
+ - Agent docs:
58
+ [SKILL.md](https://github.com/expcat/Tigercat/blob/main/skills/tigercat/SKILL.md)
59
+
66
60
  ## License
67
61
 
68
62
  [MIT](https://opensource.org/licenses/MIT)
@@ -1,61 +1,60 @@
1
1
  import {
2
2
  Textarea
3
- } from "./chunk-PMQJ6AYT.mjs";
4
- import {
5
- Button
6
- } from "./chunk-5TE7KLE5.mjs";
3
+ } from "./chunk-ZG6WST55.mjs";
7
4
  import {
8
5
  Tag
9
- } from "./chunk-7EXOY7GD.mjs";
6
+ } from "./chunk-FVA5VKN2.mjs";
10
7
  import {
11
8
  Text
12
- } from "./chunk-HLS4CHWX.mjs";
9
+ } from "./chunk-VDBLI5Y3.mjs";
13
10
  import {
14
11
  Avatar
15
- } from "./chunk-OO562MFD.mjs";
12
+ } from "./chunk-3KBFOO2E.mjs";
13
+ import {
14
+ Button
15
+ } from "./chunk-WFLXJOFU.mjs";
16
16
  import {
17
17
  useTigerConfig
18
- } from "./chunk-YSIXURBW.mjs";
18
+ } from "./chunk-RUIFGSVN.mjs";
19
19
 
20
20
  // src/components/CommentThread.tsx
21
- import { useMemo, useState } from "react";
21
+ import { useEffect, useMemo, useRef, useState } from "react";
22
22
  import {
23
23
  classNames,
24
- buildCommentTree,
24
+ canSubmitCommentReply,
25
25
  clipCommentTreeDepth,
26
+ formatBadgeCountLabel,
26
27
  formatCommentTime,
28
+ getCommentRepliesView,
29
+ nextCommentRevealedCount,
30
+ resolveCommentNodes,
27
31
  getCommentThreadLabels,
28
32
  mergeTigerLocale,
29
33
  nextCommentLikeState,
30
34
  resolveCommentLikeState,
31
35
  resolveLocaleText,
32
- writeCommentLikeOverlay
36
+ writeCommentLikeOverlay,
37
+ commentThreadActionButtonClasses,
38
+ commentThreadPrimaryButtonClasses,
39
+ commentThreadLikeButtonClasses,
40
+ commentThreadLikedButtonClasses,
41
+ commentThreadReplyButtonClasses,
42
+ commentThreadNeutralButtonClasses,
43
+ commentThreadLikeIconClasses,
44
+ commentThreadDividerClasses,
45
+ commentThreadAvatarClasses,
46
+ commentThreadAuthorClasses,
47
+ commentThreadUserTitleClasses,
48
+ commentThreadTimeClasses,
49
+ commentThreadContentClasses,
50
+ commentThreadReplyEditorClasses,
51
+ commentThreadReplyTextareaClasses,
52
+ commentThreadCancelButtonClasses,
53
+ commentThreadSubmitButtonClasses,
54
+ commentThreadRepliesClasses,
55
+ commentThreadEmptyClasses,
56
+ commentThreadEmptyIconClasses
33
57
  } from "@expcat/tigercat-core";
34
-
35
- // ../core/src/internal/comment-thread-styles.ts
36
- var buttonBaseClasses = "tiger-motion-aware px-2 py-0.5 h-auto min-h-0 text-xs rounded-[var(--tiger-radius-md,0.5rem)] [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))]";
37
- var commentThreadActionButtonClasses = `${buttonBaseClasses} text-[var(--tiger-text-muted,#6b7280)] font-medium flex items-center gap-1.5`;
38
- var commentThreadPrimaryButtonClasses = `${buttonBaseClasses} text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary-hover,#1d4ed8)] font-semibold hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)]`;
39
- var commentThreadLikeButtonClasses = "hover:text-[var(--tiger-primary,#2563eb)] hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)]";
40
- var commentThreadLikedButtonClasses = "text-[var(--tiger-primary,#2563eb)] bg-[var(--tiger-outline-bg-hover,#eff6ff)] font-semibold border-[var(--tiger-primary,#2563eb)]/40";
41
- var commentThreadReplyButtonClasses = "hover:text-[var(--tiger-success,#16a34a)] hover:bg-[var(--tiger-surface-muted,#f9fafb)]";
42
- var commentThreadNeutralButtonClasses = "hover:text-[var(--tiger-text,#111827)] hover:bg-[var(--tiger-surface-muted,#f3f4f6)]";
43
- var commentThreadLikeIconClasses = "tiger-motion-aware w-3.5 h-3.5 transition-transform active:scale-125";
44
- var commentThreadDividerClasses = "border-b border-[var(--tiger-border,#e5e7eb)]";
45
- var commentThreadAvatarClasses = "tiger-motion-aware shrink-0 mt-0.5 ring-1 ring-[var(--tiger-border,#e5e7eb)] shadow-sm [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))] hover:scale-105";
46
- var commentThreadAuthorClasses = "tiger-motion-aware text-[var(--tiger-text,#111827)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer";
47
- var commentThreadUserTitleClasses = "bg-[var(--tiger-surface-muted,#f3f4f6)] px-1.5 py-0.5 rounded text-[var(--tiger-text-muted,#6b7280)] font-medium";
48
- var commentThreadTimeClasses = "ml-auto text-[var(--tiger-text-muted,#6b7280)] font-normal";
49
- var commentThreadContentClasses = "text-sm text-[var(--tiger-text-secondary,#4b5563)] leading-relaxed break-words mt-2 mb-3 pr-2";
50
- var commentThreadReplyEditorClasses = "tiger-motion-aware mt-3 space-y-3 bg-[var(--tiger-surface-muted,#f9fafb)] border border-[var(--tiger-border,#e5e7eb)] p-4 rounded-[var(--tiger-radius-lg,0.75rem)] shadow-sm [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))]";
51
- var commentThreadReplyTextareaClasses = "tiger-motion-aware bg-[var(--tiger-surface,#ffffff)] border-[var(--tiger-border,#d1d5db)] focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)]/20 focus:border-[var(--tiger-primary,#2563eb)] rounded-[var(--tiger-radius-md,0.5rem)] shadow-inner [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))]";
52
- var commentThreadCancelButtonClasses = "tiger-motion-aware px-3 py-1.5 text-xs text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-text,#111827)] rounded-[var(--tiger-radius-md,0.5rem)] transition-colors";
53
- var commentThreadSubmitButtonClasses = "tiger-motion-aware px-3 py-1.5 text-xs font-semibold shadow-sm hover:shadow rounded-[var(--tiger-radius-md,0.5rem)] [transition:var(--tiger-transition-base,all_200ms_cubic-bezier(0.4,0,0.2,1))]";
54
- var commentThreadRepliesClasses = "tiger-motion-aware mt-4 ml-1 pl-4 border-l-2 border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-primary,#2563eb)]/40 space-y-4 transition-colors";
55
- var commentThreadEmptyClasses = "tiger-motion-aware flex flex-col items-center justify-center border border-dashed border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-lg,0.75rem)] py-12 px-4 bg-[var(--tiger-surface-muted,#f9fafb)] transition-colors";
56
- var commentThreadEmptyIconClasses = "w-10 h-10 text-[var(--tiger-text-muted,#9ca3af)] mb-3";
57
-
58
- // src/components/CommentThread.tsx
59
58
  import { jsx, jsxs } from "react/jsx-runtime";
60
59
  var CommentThread = ({
61
60
  nodes,
@@ -81,11 +80,13 @@ var CommentThread = ({
81
80
  showDivider = true,
82
81
  showLike = true,
83
82
  showReply = true,
84
- showMore = true,
83
+ showMore = false,
84
+ showComposer = true,
85
85
  onLike,
86
86
  onReply,
87
87
  onMore,
88
88
  onAction,
89
+ onUserClick,
89
90
  onExpandedChange,
90
91
  onLoadMore,
91
92
  className,
@@ -101,19 +102,31 @@ var CommentThread = ({
101
102
  [mergedLocale, labelsOverride]
102
103
  );
103
104
  const [innerExpandedKeys, setInnerExpandedKeys] = useState(defaultExpandedKeys);
104
- const [expandedAllKeys, setExpandedAllKeys] = useState(/* @__PURE__ */ new Set());
105
+ const [revealedCounts, setRevealedCounts] = useState(
106
+ () => /* @__PURE__ */ new Map()
107
+ );
105
108
  const [likeOverlay, setLikeOverlay] = useState(() => /* @__PURE__ */ new Map());
106
109
  const [replyingTo, setReplyingTo] = useState(null);
107
110
  const [replyValue, setReplyValue] = useState("");
111
+ const [composerValue, setComposerValue] = useState("");
112
+ const replyInFlight = useRef(false);
108
113
  const mergedExpandedKeys = expandedKeys ?? innerExpandedKeys;
109
114
  const expandedSet = useMemo(
110
115
  () => new Set(mergedExpandedKeys),
111
116
  [mergedExpandedKeys]
112
117
  );
113
- const resolvedNodes = useMemo(() => {
114
- const tree = nodes && nodes.length > 0 ? nodes : buildCommentTree(items ?? []);
115
- return clipCommentTreeDepth(tree, maxDepth);
116
- }, [nodes, items, maxDepth]);
118
+ const { resolvedNodes, clippedIds } = useMemo(() => {
119
+ const clipped = /* @__PURE__ */ new Set();
120
+ const tree = resolveCommentNodes(nodes, items);
121
+ return {
122
+ resolvedNodes: clipCommentTreeDepth(tree, maxDepth, clipped),
123
+ clippedIds: clipped
124
+ };
125
+ }, [items, maxDepth, nodes]);
126
+ useEffect(() => {
127
+ setLikeOverlay(/* @__PURE__ */ new Map());
128
+ setRevealedCounts(/* @__PURE__ */ new Map());
129
+ }, [nodes, items]);
117
130
  const updateExpandedKeys = (next) => {
118
131
  if (!expandedKeys) {
119
132
  setInnerExpandedKeys(next);
@@ -124,12 +137,24 @@ var CommentThread = ({
124
137
  const next = expandedSet.has(id) ? mergedExpandedKeys.filter((key) => key !== id) : [...mergedExpandedKeys, id];
125
138
  updateExpandedKeys(next);
126
139
  };
140
+ const hasLoadMoreHandler = typeof onLoadMore === "function";
141
+ const hasReplyHandler = typeof onReply === "function";
127
142
  const handleLoadMore = (node) => {
128
- setExpandedAllKeys((prev) => {
129
- const next = new Set(prev);
130
- next.add(node.id);
131
- return next;
143
+ const children = node.children ?? [];
144
+ const current = revealedCounts.get(node.id) ?? maxReplies;
145
+ const view = getCommentRepliesView(children, {
146
+ maxReplies,
147
+ revealedCount: current,
148
+ hasLoadMoreHandler
132
149
  });
150
+ if (view.loadMoreKind === "remaining") {
151
+ setRevealedCounts((prev) => {
152
+ const next = new Map(prev);
153
+ next.set(node.id, nextCommentRevealedCount(current, maxReplies, children.length));
154
+ return next;
155
+ });
156
+ return;
157
+ }
133
158
  onLoadMore?.(node);
134
159
  };
135
160
  const handleLike = (node) => {
@@ -138,25 +163,36 @@ var CommentThread = ({
138
163
  onLike?.(node, next.liked);
139
164
  };
140
165
  const handleReplySubmit = (node) => {
141
- const trimmed = replyValue.trim();
142
- if (!trimmed) return;
143
- onReply?.(node, replyValue);
144
- setReplyValue("");
145
- setReplyingTo(null);
146
- if (!expandedSet.has(node.id)) {
147
- const next = [...mergedExpandedKeys, node.id];
148
- updateExpandedKeys(next);
166
+ const source = node ? replyValue : composerValue;
167
+ if (!canSubmitCommentReply(source, replyInFlight.current) || !hasReplyHandler) return;
168
+ replyInFlight.current = true;
169
+ onReply?.(node, source.trim());
170
+ if (node) {
171
+ setReplyValue("");
172
+ setReplyingTo(null);
173
+ if (!expandedSet.has(node.id)) updateExpandedKeys([...mergedExpandedKeys, node.id]);
174
+ } else {
175
+ setComposerValue("");
149
176
  }
177
+ queueMicrotask(() => {
178
+ replyInFlight.current = false;
179
+ });
150
180
  };
151
- const renderNode = (node, depth, isLast) => {
181
+ const renderNode = (node, depth, isLast, pos2) => {
152
182
  const children = node.children ?? [];
153
- const hasChildren = children.length > 0;
183
+ const hasChildren = children.length > 0 || clippedIds.has(node.id);
154
184
  const isExpanded = expandedSet.has(node.id);
155
- const showReplies = hasChildren && isExpanded;
156
- const showAllReplies = expandedAllKeys.has(node.id);
185
+ const repliesView = getCommentRepliesView(children, {
186
+ maxReplies,
187
+ revealedCount: revealedCounts.get(node.id) ?? maxReplies,
188
+ hasLoadMoreHandler
189
+ });
190
+ const showReplies = hasChildren && isExpanded && children.length > 0;
157
191
  const repliesId = `tiger-comment-replies-${node.id}`;
158
- const visibleChildren = showReplies ? maxReplies > 0 && !showAllReplies ? children.slice(0, maxReplies) : children : [];
159
- const showLoadMoreBtn = showReplies && maxReplies > 0 && children.length > maxReplies && !showAllReplies;
192
+ const visibleChildren = showReplies ? repliesView.visible : [];
193
+ const showLoadMoreBtn = showReplies && repliesView.loadMoreKind != null;
194
+ pos2.current += 1;
195
+ const posinset = pos2.current;
160
196
  const actions = [];
161
197
  if (showLike) {
162
198
  const { liked, likes } = resolveCommentLikeState(node, likeOverlay);
@@ -168,6 +204,7 @@ var CommentThread = ({
168
204
  {
169
205
  size: "sm",
170
206
  variant: "ghost",
207
+ "aria-pressed": liked,
171
208
  className: classNames(
172
209
  commentThreadActionButtonClasses,
173
210
  commentThreadLikeButtonClasses,
@@ -178,6 +215,7 @@ var CommentThread = ({
178
215
  /* @__PURE__ */ jsx(
179
216
  "svg",
180
217
  {
218
+ "aria-hidden": "true",
181
219
  className: classNames(
182
220
  commentThreadLikeIconClasses,
183
221
  liked ? "fill-current" : "stroke-current fill-none"
@@ -217,6 +255,7 @@ var CommentThread = ({
217
255
  /* @__PURE__ */ jsx(
218
256
  "svg",
219
257
  {
258
+ "aria-hidden": "true",
220
259
  className: "w-3.5 h-3.5",
221
260
  viewBox: "0 0 24 24",
222
261
  fill: "none",
@@ -239,7 +278,7 @@ var CommentThread = ({
239
278
  )
240
279
  );
241
280
  }
242
- if (showMore) {
281
+ if (showMore && (onMore || node.actions && node.actions.length > 0)) {
243
282
  actions.push(
244
283
  /* @__PURE__ */ jsxs(
245
284
  Button,
@@ -255,6 +294,7 @@ var CommentThread = ({
255
294
  /* @__PURE__ */ jsx(
256
295
  "svg",
257
296
  {
297
+ "aria-hidden": "true",
258
298
  className: "w-3.5 h-3.5",
259
299
  viewBox: "0 0 24 24",
260
300
  fill: "none",
@@ -292,8 +332,8 @@ var CommentThread = ({
292
332
  ),
293
333
  disabled: action.disabled,
294
334
  onClick: () => {
295
- action.onClick?.(node, action);
296
- onAction?.(node, action);
335
+ if (action.onClick) action.onClick(node, action);
336
+ else onAction?.(node, action);
297
337
  },
298
338
  children: action.label
299
339
  },
@@ -303,13 +343,15 @@ var CommentThread = ({
303
343
  });
304
344
  }
305
345
  return /* @__PURE__ */ jsx(
306
- "div",
346
+ "article",
307
347
  {
308
348
  className: classNames(
309
349
  "tiger-comment-thread-item",
310
350
  depth === 1 && "py-5",
311
351
  depth === 1 && !isLast && showDivider && commentThreadDividerClasses
312
352
  ),
353
+ "aria-posinset": posinset,
354
+ "aria-setsize": pos2.total,
313
355
  children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
314
356
  showAvatar && node.user ? /* @__PURE__ */ jsx(
315
357
  Avatar,
@@ -317,12 +359,30 @@ var CommentThread = ({
317
359
  size: depth === 1 ? "md" : "sm",
318
360
  src: node.user.avatar,
319
361
  text: node.user.name,
320
- className: commentThreadAvatarClasses
362
+ className: commentThreadAvatarClasses,
363
+ "aria-hidden": Boolean(node.user.name)
321
364
  }
322
365
  ) : null,
323
366
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
324
367
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
325
- node.user?.name ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "sm", weight: "bold", className: commentThreadAuthorClasses, children: node.user.name }) : null,
368
+ node.user?.name ? onUserClick ? /* @__PURE__ */ jsx(
369
+ "button",
370
+ {
371
+ type: "button",
372
+ className: commentThreadAuthorClasses,
373
+ onClick: () => onUserClick(node),
374
+ children: /* @__PURE__ */ jsx(Text, { tag: "span", size: "sm", weight: "bold", children: node.user.name })
375
+ }
376
+ ) : /* @__PURE__ */ jsx(
377
+ Text,
378
+ {
379
+ tag: "span",
380
+ size: "sm",
381
+ weight: "bold",
382
+ className: commentThreadAuthorClasses.replace("cursor-pointer", ""),
383
+ children: node.user.name
384
+ }
385
+ ) : null,
326
386
  node.user?.title ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "xs", color: "muted", className: commentThreadUserTitleClasses, children: node.user.title }) : null,
327
387
  node.tag ? /* @__PURE__ */ jsx(
328
388
  Tag,
@@ -343,7 +403,7 @@ var CommentThread = ({
343
403
  },
344
404
  `${node.id}-tag-${index}`
345
405
  )),
346
- node.time ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "xs", color: "muted", className: commentThreadTimeClasses, children: formatCommentTime(node.time) }) : null
406
+ formatCommentTime(node.time, mergedLocale) ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "xs", color: "muted", className: commentThreadTimeClasses, children: formatCommentTime(node.time, mergedLocale) }) : null
347
407
  ] }),
348
408
  /* @__PURE__ */ jsx("div", { className: commentThreadContentClasses, children: node.content }),
349
409
  actions.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-1.5", children: actions }) : null,
@@ -355,6 +415,7 @@ var CommentThread = ({
355
415
  value: replyValue,
356
416
  placeholder: resolveLocaleText(labels.replyPlaceholder, replyPlaceholder),
357
417
  className: commentThreadReplyTextareaClasses,
418
+ "aria-label": resolveLocaleText(labels.replyText, replyText),
358
419
  onChange: (event) => setReplyValue(event.target.value)
359
420
  }
360
421
  ),
@@ -378,8 +439,9 @@ var CommentThread = ({
378
439
  size: "sm",
379
440
  variant: "primary",
380
441
  className: commentThreadSubmitButtonClasses,
442
+ disabled: !canSubmitCommentReply(replyValue, false) || !hasReplyHandler,
381
443
  onClick: () => handleReplySubmit(node),
382
- children: resolveLocaleText(labels.replyButtonText, replyButtonText)
444
+ children: resolveLocaleText(labels.replySubmitText, replyButtonText)
383
445
  }
384
446
  )
385
447
  ] })
@@ -391,17 +453,22 @@ var CommentThread = ({
391
453
  variant: "ghost",
392
454
  className: classNames("mt-2 font-semibold", commentThreadPrimaryButtonClasses),
393
455
  "aria-expanded": isExpanded,
394
- "aria-controls": repliesId,
395
- onClick: () => toggleExpanded(node.id),
396
- children: isExpanded ? resolveLocaleText(labels.collapseRepliesText, collapseRepliesText) : resolveLocaleText(labels.expandRepliesText, expandRepliesText).replace(
397
- "{count}",
398
- String(children.length)
456
+ "aria-controls": children.length > 0 ? repliesId : void 0,
457
+ disabled: clippedIds.has(node.id) && children.length === 0,
458
+ onClick: () => {
459
+ if (clippedIds.has(node.id) && children.length === 0) return;
460
+ toggleExpanded(node.id);
461
+ },
462
+ children: clippedIds.has(node.id) && children.length === 0 ? labels.maxDepthReachedText : isExpanded ? resolveLocaleText(labels.collapseRepliesText, collapseRepliesText) : formatBadgeCountLabel(
463
+ resolveLocaleText(labels.expandRepliesText, expandRepliesText),
464
+ children.length,
465
+ mergedLocale?.locale
399
466
  )
400
467
  }
401
468
  ) : null,
402
469
  showReplies ? /* @__PURE__ */ jsxs("div", { id: repliesId, className: commentThreadRepliesClasses, children: [
403
470
  visibleChildren.map(
404
- (child, index) => renderNode(child, depth + 1, index === visibleChildren.length - 1)
471
+ (child, index) => renderNode(child, depth + 1, index === visibleChildren.length - 1, pos2)
405
472
  ),
406
473
  showLoadMoreBtn ? /* @__PURE__ */ jsx(
407
474
  Button,
@@ -410,7 +477,11 @@ var CommentThread = ({
410
477
  variant: "ghost",
411
478
  className: commentThreadPrimaryButtonClasses,
412
479
  onClick: () => handleLoadMore(node),
413
- children: resolveLocaleText(labels.loadMoreText, loadMoreText)
480
+ children: repliesView.loadMoreKind === "remaining" ? formatBadgeCountLabel(
481
+ labels.remainingRepliesText,
482
+ repliesView.remaining,
483
+ mergedLocale?.locale
484
+ ) : resolveLocaleText(labels.loadMoreText, loadMoreText)
414
485
  }
415
486
  ) : null
416
487
  ] }) : null
@@ -420,35 +491,75 @@ var CommentThread = ({
420
491
  node.id
421
492
  );
422
493
  };
423
- return /* @__PURE__ */ jsx(
494
+ const countVisible = (list) => list.reduce((sum, node) => {
495
+ if (!expandedSet.has(node.id)) return sum + 1;
496
+ const view = getCommentRepliesView(node.children, {
497
+ maxReplies,
498
+ revealedCount: revealedCounts.get(node.id) ?? maxReplies,
499
+ hasLoadMoreHandler
500
+ });
501
+ return sum + 1 + countVisible(view.visible);
502
+ }, 0);
503
+ const pos = { current: 0, total: countVisible(resolvedNodes) };
504
+ const composer = showComposer ? /* @__PURE__ */ jsxs("div", { className: commentThreadReplyEditorClasses, children: [
505
+ /* @__PURE__ */ jsx(
506
+ Textarea,
507
+ {
508
+ rows: 3,
509
+ value: composerValue,
510
+ placeholder: resolveLocaleText(labels.replyPlaceholder, replyPlaceholder),
511
+ className: commentThreadReplyTextareaClasses,
512
+ "aria-label": resolveLocaleText(labels.replyPlaceholder, replyPlaceholder),
513
+ onChange: (event) => setComposerValue(event.target.value)
514
+ }
515
+ ),
516
+ /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 justify-end", children: /* @__PURE__ */ jsx(
517
+ Button,
518
+ {
519
+ size: "sm",
520
+ variant: "primary",
521
+ className: commentThreadSubmitButtonClasses,
522
+ disabled: !canSubmitCommentReply(composerValue, false) || !hasReplyHandler,
523
+ onClick: () => handleReplySubmit(),
524
+ children: resolveLocaleText(labels.replySubmitText, replyButtonText)
525
+ }
526
+ ) })
527
+ ] }) : null;
528
+ return /* @__PURE__ */ jsxs(
424
529
  "div",
425
530
  {
426
531
  className: classNames("tiger-comment-thread flex flex-col", className),
427
532
  role: divProps.role ?? "feed",
428
533
  "data-tiger-comment-thread": true,
429
- "aria-label": divProps["aria-label"] ?? (divProps["aria-labelledby"] ? void 0 : "Comment thread"),
534
+ "aria-label": divProps["aria-label"] ?? (divProps["aria-labelledby"] ? void 0 : labels.listAriaLabel),
430
535
  ...divProps,
431
- children: resolvedNodes.length === 0 ? /* @__PURE__ */ jsxs("div", { className: commentThreadEmptyClasses, children: [
432
- /* @__PURE__ */ jsx(
433
- "svg",
434
- {
435
- className: commentThreadEmptyIconClasses,
436
- fill: "none",
437
- viewBox: "0 0 24 24",
438
- stroke: "currentColor",
439
- strokeWidth: "1.5",
440
- children: /* @__PURE__ */ jsx(
441
- "path",
442
- {
443
- strokeLinecap: "round",
444
- strokeLinejoin: "round",
445
- d: "M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"
446
- }
447
- )
448
- }
449
- ),
450
- /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: resolveLocaleText(labels.emptyText, emptyText) })
451
- ] }) : resolvedNodes.map((node, index) => renderNode(node, 1, index === resolvedNodes.length - 1))
536
+ children: [
537
+ composer,
538
+ resolvedNodes.length === 0 ? /* @__PURE__ */ jsxs("div", { className: commentThreadEmptyClasses, children: [
539
+ /* @__PURE__ */ jsx(
540
+ "svg",
541
+ {
542
+ "aria-hidden": "true",
543
+ className: commentThreadEmptyIconClasses,
544
+ fill: "none",
545
+ viewBox: "0 0 24 24",
546
+ stroke: "currentColor",
547
+ strokeWidth: "1.5",
548
+ children: /* @__PURE__ */ jsx(
549
+ "path",
550
+ {
551
+ strokeLinecap: "round",
552
+ strokeLinejoin: "round",
553
+ d: "M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"
554
+ }
555
+ )
556
+ }
557
+ ),
558
+ /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: resolveLocaleText(labels.emptyText, emptyText) })
559
+ ] }) : resolvedNodes.map(
560
+ (node, index) => renderNode(node, 1, index === resolvedNodes.length - 1, pos)
561
+ )
562
+ ]
452
563
  }
453
564
  );
454
565
  };