@expcat/tigercat-vue 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/{chunk-EIH6ABOR.js → chunk-2FYVPPTD.js} +44 -15
  2. package/dist/{chunk-KY6AJRGT.mjs → chunk-2HRJGOAV.mjs} +4 -4
  3. package/dist/{chunk-MKBIVETW.mjs → chunk-2OI6GWOT.mjs} +22 -2
  4. package/dist/{chunk-NCT5FXQB.js → chunk-2RCBEBBR.js} +6 -3
  5. package/dist/{chunk-6K4UE5MK.mjs → chunk-2YPPXZ4I.mjs} +59 -5
  6. package/dist/{chunk-HCANI7ZG.mjs → chunk-36ZFDXKU.mjs} +10 -1
  7. package/dist/{chunk-JKEF7NB3.js → chunk-37LDNXLO.js} +4 -4
  8. package/dist/{chunk-DEJKRMMU.mjs → chunk-4IZUJJUO.mjs} +32 -9
  9. package/dist/{chunk-L6ZD3ZCO.mjs → chunk-4QCJUILG.mjs} +1 -1
  10. package/dist/{chunk-NWS45JQP.mjs → chunk-4RK5BDGR.mjs} +58 -10
  11. package/dist/{chunk-RKZN3URO.js → chunk-55BSMMUN.js} +27 -6
  12. package/dist/{chunk-NHBN6VAY.mjs → chunk-57VPT3MN.mjs} +2 -2
  13. package/dist/{chunk-7VSNXYFM.mjs → chunk-5CHHWMES.mjs} +27 -9
  14. package/dist/chunk-5FTM7R3P.js +142 -0
  15. package/dist/{chunk-CGZPOI6H.js → chunk-5PVDNJA5.js} +12 -2
  16. package/dist/{chunk-UMQUWX7U.mjs → chunk-64EZRIJL.mjs} +26 -4
  17. package/dist/{chunk-FSGD24HV.mjs → chunk-6CS3EEQU.mjs} +9 -1
  18. package/dist/{chunk-BYX756N5.mjs → chunk-6FV2OMB7.mjs} +22 -7
  19. package/dist/{chunk-VN4SKDFO.mjs → chunk-6G5FEZLT.mjs} +2 -12
  20. package/dist/{chunk-PQMZ3YN3.js → chunk-75TB3YIJ.js} +16 -2
  21. package/dist/{chunk-OTNVA2UT.js → chunk-7J7JIIHX.js} +28 -10
  22. package/dist/{chunk-M2XA7VU5.js → chunk-7KYGVEHF.js} +4 -4
  23. package/dist/{chunk-BPAN6T7H.mjs → chunk-7LCUVR63.mjs} +40 -5
  24. package/dist/{chunk-Z6MMA7ZE.js → chunk-7RMBEWN2.js} +2 -2
  25. package/dist/{chunk-SYTYUC67.js → chunk-AF7JZUTA.js} +2 -2
  26. package/dist/{chunk-3UQECWNL.mjs → chunk-ALFEFDVG.mjs} +103 -12
  27. package/dist/{chunk-E6RGBYI3.mjs → chunk-ALIUAGJO.mjs} +7 -0
  28. package/dist/{chunk-WUEP3PFN.js → chunk-ANQRW442.js} +31 -8
  29. package/dist/{chunk-X5CFXNVK.js → chunk-APBWQGXW.js} +14 -10
  30. package/dist/{chunk-IZF4VHJ2.mjs → chunk-ASOJXXU6.mjs} +2 -2
  31. package/dist/{chunk-6FXYRDYH.js → chunk-AWXSJNNP.js} +22 -2
  32. package/dist/{chunk-ZOUJFFG4.js → chunk-AYQER5UD.js} +17 -14
  33. package/dist/{chunk-GRP54POG.mjs → chunk-BJV62I73.mjs} +5 -5
  34. package/dist/{chunk-PGOTPYRG.js → chunk-BNUR72YP.js} +1 -0
  35. package/dist/{chunk-W5DLRGQL.js → chunk-BPJOIFND.js} +28 -19
  36. package/dist/{chunk-OKR3GRG5.mjs → chunk-BRGQXIKA.mjs} +58 -10
  37. package/dist/{chunk-QYSFZA5V.js → chunk-BV6XWFRF.js} +14 -7
  38. package/dist/{chunk-ODQOYMUQ.js → chunk-BYNTPLGC.js} +8 -1
  39. package/dist/{chunk-SVWZOIBI.js → chunk-BZ56UKUK.js} +4 -4
  40. package/dist/{chunk-6NJXI66G.mjs → chunk-CF4GX6BD.mjs} +36 -4
  41. package/dist/{chunk-RLPSCEBP.js → chunk-CFJST2X2.js} +98 -26
  42. package/dist/{chunk-NUABW6IB.mjs → chunk-CGZFRSI5.mjs} +1 -1
  43. package/dist/{chunk-DSNPEWYP.mjs → chunk-CIDINFA2.mjs} +31 -3
  44. package/dist/{chunk-WZRC7PJH.mjs → chunk-CVFXUYH2.mjs} +38 -5
  45. package/dist/{chunk-QKP5C26H.mjs → chunk-CW5TEG7N.mjs} +2 -2
  46. package/dist/{chunk-OUBJHKWX.js → chunk-D43IFX7J.js} +1 -4
  47. package/dist/{chunk-TXQEHRQB.js → chunk-D6Y3KVJF.js} +5 -1
  48. package/dist/{chunk-MOLGN476.mjs → chunk-DMQLA35L.mjs} +11 -1
  49. package/dist/{chunk-2WJADO6O.mjs → chunk-DZFM7H3M.mjs} +21 -7
  50. package/dist/{chunk-62ZSNASF.mjs → chunk-E7NE5HEC.mjs} +140 -7
  51. package/dist/{chunk-AP42636I.js → chunk-EG7XX6U4.js} +2 -2
  52. package/dist/{chunk-RHLP2ED5.mjs → chunk-EVIZXEB2.mjs} +15 -8
  53. package/dist/{chunk-SGRUGYQ6.mjs → chunk-EYR27UIE.mjs} +13 -10
  54. package/dist/{chunk-PPEAQDD5.mjs → chunk-FAQL7HFW.mjs} +8 -0
  55. package/dist/{chunk-PTAWLJCV.mjs → chunk-FT2HWF7P.mjs} +1 -1
  56. package/dist/{chunk-OK4PVFQG.mjs → chunk-G2LB4QCL.mjs} +18 -15
  57. package/dist/{chunk-WGRNO4PB.js → chunk-GBYNY77G.js} +3 -3
  58. package/dist/{chunk-NTZ7LQTY.js → chunk-GJ5HJOQP.js} +61 -32
  59. package/dist/{chunk-QZQYKC2N.js → chunk-GV3LRZSR.js} +35 -9
  60. package/dist/{chunk-W6ZFHHD3.mjs → chunk-GZWZP5AL.mjs} +9 -2
  61. package/dist/{chunk-BYNMOQBB.js → chunk-H2XEJHGR.js} +23 -9
  62. package/dist/{chunk-FMH4CLSA.mjs → chunk-H6FZBFRT.mjs} +27 -6
  63. package/dist/{chunk-FUI6WG2F.js → chunk-H7GAWNOW.js} +35 -5
  64. package/dist/{chunk-HMYVPBWI.js → chunk-HI45DI7S.js} +2 -2
  65. package/dist/{chunk-HKRMZODL.mjs → chunk-HIXWZVE5.mjs} +14 -10
  66. package/dist/{chunk-VVS2CQS4.mjs → chunk-HLPSHCXO.mjs} +8 -3
  67. package/dist/{chunk-PENI3H3I.mjs → chunk-HS4YQGZQ.mjs} +45 -11
  68. package/dist/{chunk-6Y4NWO4I.mjs → chunk-HWL36OCD.mjs} +7 -4
  69. package/dist/{chunk-UANF7XE5.mjs → chunk-IJL7YYT7.mjs} +6 -4
  70. package/dist/{chunk-G3SWTL27.js → chunk-IUPNDTUF.js} +1 -1
  71. package/dist/{chunk-HZBE2RY4.js → chunk-J77GQQEC.js} +31 -3
  72. package/dist/{chunk-TUSWQVI2.mjs → chunk-JCGWN7WV.mjs} +1 -0
  73. package/dist/{chunk-K5ZZZ4TL.mjs → chunk-JGW7R7AZ.mjs} +2 -2
  74. package/dist/{chunk-WYVA3JBH.js → chunk-JICPYKCT.js} +103 -12
  75. package/dist/{chunk-2MLORMN2.js → chunk-JMRR4KDB.js} +2 -2
  76. package/dist/{chunk-KDA4XDXT.js → chunk-K2NJI5MW.js} +2 -2
  77. package/dist/{chunk-ACYYQJ6M.js → chunk-KLOUOXNA.js} +8 -3
  78. package/dist/{chunk-G6ULKE6H.mjs → chunk-KRWKO2JQ.mjs} +17 -3
  79. package/dist/{chunk-PJ66WE62.js → chunk-KTNT2JHB.js} +143 -10
  80. package/dist/{chunk-KH2CF6JU.mjs → chunk-LGDJDBE3.mjs} +90 -35
  81. package/dist/{chunk-IKEZDGRO.mjs → chunk-LHZ5MRFQ.mjs} +2 -2
  82. package/dist/{chunk-5F6P5Y4K.js → chunk-LKRT27JW.js} +45 -11
  83. package/dist/{chunk-FP7SBCPO.js → chunk-LODEICSN.js} +4 -4
  84. package/dist/{chunk-DOBGVCZJ.mjs → chunk-LOX2KCML.mjs} +7 -6
  85. package/dist/{chunk-XZMU7B54.js → chunk-LPHDX3UU.js} +51 -2
  86. package/dist/{chunk-PXRF4IJO.mjs → chunk-LSWTZHBV.mjs} +23 -3
  87. package/dist/{chunk-M2ECZQ2D.mjs → chunk-MF7BKYGN.mjs} +27 -18
  88. package/dist/chunk-MNVMGJUF.js +341 -0
  89. package/dist/{chunk-LYF6AAQ7.js → chunk-MPVL53GP.js} +59 -5
  90. package/dist/{chunk-BHNBLQ5S.mjs → chunk-N2QGYEOQ.mjs} +17 -19
  91. package/dist/{chunk-SGXLMKMO.js → chunk-NQYE64IF.js} +15 -8
  92. package/dist/{chunk-TAU447CL.js → chunk-OOMZBTHW.js} +25 -3
  93. package/dist/{chunk-DUMPRNDR.js → chunk-OQBWITHA.js} +17 -19
  94. package/dist/{chunk-Z6HBM73W.js → chunk-OQOJI5Q7.js} +2 -2
  95. package/dist/{chunk-RKL4Y7CW.mjs → chunk-OSPHI5TV.mjs} +110 -3
  96. package/dist/{chunk-QUIRQ7OA.js → chunk-OVXDO6KJ.js} +9 -5
  97. package/dist/{chunk-DMV26JNR.mjs → chunk-PD2PKYJE.mjs} +58 -6
  98. package/dist/{chunk-LG55VN6B.js → chunk-PFZFPN7M.js} +7 -7
  99. package/dist/{chunk-SJIW7SNA.js → chunk-PH6ERFC7.js} +22 -7
  100. package/dist/{chunk-Y3BQSELH.mjs → chunk-PJX2DHO5.mjs} +2 -2
  101. package/dist/{chunk-HVVPFQW2.mjs → chunk-PLUABMUD.mjs} +16 -2
  102. package/dist/{chunk-RFFPMC22.mjs → chunk-PMN2MQ26.mjs} +1 -1
  103. package/dist/{chunk-QAMXVTNN.mjs → chunk-QH3YF5B6.mjs} +95 -23
  104. package/dist/{chunk-FGM7KB2Q.js → chunk-QKJATAJP.js} +113 -6
  105. package/dist/{chunk-UAD2XROX.mjs → chunk-RD2NFAB6.mjs} +2 -2
  106. package/dist/{chunk-DOJPPVAN.mjs → chunk-RTZUIWCN.mjs} +5 -1
  107. package/dist/{chunk-NDS2DLUS.mjs → chunk-S4Z77VIB.mjs} +7 -3
  108. package/dist/{chunk-5VSKQLK3.js → chunk-SIVMTPDY.js} +61 -13
  109. package/dist/{chunk-YSUT2GRP.mjs → chunk-SMCOBLF6.mjs} +50 -1
  110. package/dist/{chunk-GY75BFAV.js → chunk-SOSHYDIX.js} +9 -9
  111. package/dist/{chunk-KN64NDJS.js → chunk-TCB3WFYM.js} +12 -11
  112. package/dist/{chunk-A6T2IHFC.mjs → chunk-TM73IWEY.mjs} +51 -11
  113. package/dist/{chunk-24CBIC75.js → chunk-TNKULOHK.js} +8 -0
  114. package/dist/{chunk-BZBVSB43.js → chunk-TOD67L2E.js} +40 -5
  115. package/dist/{chunk-RPWKAGN5.mjs → chunk-TRN5PL5D.mjs} +2 -2
  116. package/dist/{chunk-LG6KGO5D.js → chunk-TXMPLBWW.js} +57 -5
  117. package/dist/{chunk-NOZ65AMO.js → chunk-TYYJPEWG.js} +15 -2
  118. package/dist/{chunk-NEVDRG6C.js → chunk-U5TSCS34.js} +5 -15
  119. package/dist/{chunk-SLYUQ67P.js → chunk-UKR3IJF3.js} +3 -1
  120. package/dist/{chunk-M5PGWW25.mjs → chunk-UTGFGMZT.mjs} +33 -3
  121. package/dist/chunk-V5ANPH5R.mjs +341 -0
  122. package/dist/{chunk-AZ6SASY5.mjs → chunk-V5ZEPAWV.mjs} +44 -15
  123. package/dist/{chunk-2R5HISQA.mjs → chunk-VCCK4CDT.mjs} +4 -2
  124. package/dist/{chunk-RUXIQ5EP.js → chunk-VDKUKZS2.js} +110 -55
  125. package/dist/{chunk-ZQD2MCNX.mjs → chunk-VJJ7RAC6.mjs} +34 -8
  126. package/dist/{chunk-2S5CNU36.js → chunk-VQXDF6CB.js} +23 -3
  127. package/dist/{chunk-BPAZBRCR.js → chunk-VUGFSHU2.js} +17 -3
  128. package/dist/{chunk-NHNJUBYZ.js → chunk-VXRFE72I.js} +38 -5
  129. package/dist/{chunk-OOS3QQFK.mjs → chunk-VYBRLIKF.mjs} +64 -35
  130. package/dist/{chunk-UWZSTI3E.js → chunk-W34IV4EC.js} +9 -1
  131. package/dist/{chunk-E363N2BJ.mjs → chunk-WBT3WSRE.mjs} +1 -4
  132. package/dist/{chunk-X6FG4RPF.js → chunk-WF7KVMBY.js} +24 -11
  133. package/dist/{chunk-WFISP42H.mjs → chunk-WLHOWOAY.mjs} +15 -2
  134. package/dist/{chunk-J6YCXMVY.mjs → chunk-WSUCJHJX.mjs} +1 -1
  135. package/dist/{chunk-KY3O3FWK.mjs → chunk-WWB7VKKH.mjs} +24 -11
  136. package/dist/{chunk-GQAVLQEZ.mjs → chunk-X43QLJ5E.mjs} +1 -1
  137. package/dist/{chunk-ULUH6UNV.js → chunk-X73BZFBH.js} +4 -4
  138. package/dist/{chunk-KA7DILCI.js → chunk-X7PQRYUS.js} +61 -13
  139. package/dist/chunk-XFNHZ7SV.mjs +142 -0
  140. package/dist/{chunk-EJZBG5RT.js → chunk-XMCYKHT4.js} +10 -1
  141. package/dist/{chunk-DZXZ3YEL.js → chunk-XSJKSUED.js} +5 -3
  142. package/dist/{chunk-ZCT56WB7.mjs → chunk-XZYFVOOS.mjs} +1 -1
  143. package/dist/{chunk-T5N2UHVP.js → chunk-YI25YL5W.js} +2 -2
  144. package/dist/{chunk-TAAHD4R7.js → chunk-YLMQZR6F.js} +36 -4
  145. package/dist/{chunk-WNYWWGNM.js → chunk-YMUYN4IR.js} +51 -11
  146. package/dist/{chunk-44N7LE3Q.js → chunk-YTE45DNC.js} +13 -10
  147. package/dist/{chunk-VAXO5NEM.js → chunk-YVSINGGE.js} +2 -2
  148. package/dist/{chunk-VPHM5WEL.mjs → chunk-YZATP4VF.mjs} +1 -1
  149. package/dist/components/ActivityFeed.js +6 -6
  150. package/dist/components/ActivityFeed.mjs +5 -5
  151. package/dist/components/Anchor.js +2 -2
  152. package/dist/components/Anchor.mjs +1 -1
  153. package/dist/components/AnchorLink.js +3 -3
  154. package/dist/components/AnchorLink.mjs +1 -1
  155. package/dist/components/AreaChart.js +4 -4
  156. package/dist/components/AreaChart.mjs +3 -3
  157. package/dist/components/AutoComplete.d.mts +2 -2
  158. package/dist/components/AutoComplete.d.ts +2 -2
  159. package/dist/components/AutoComplete.js +2 -2
  160. package/dist/components/AutoComplete.mjs +1 -1
  161. package/dist/components/Avatar.js +3 -3
  162. package/dist/components/Avatar.mjs +2 -2
  163. package/dist/components/AvatarGroup.js +2 -2
  164. package/dist/components/AvatarGroup.mjs +1 -1
  165. package/dist/components/BackTop.d.mts +2 -2
  166. package/dist/components/BackTop.d.ts +2 -2
  167. package/dist/components/BackTop.js +2 -2
  168. package/dist/components/BackTop.mjs +1 -1
  169. package/dist/components/Badge.d.mts +10 -1
  170. package/dist/components/Badge.d.ts +10 -1
  171. package/dist/components/Badge.js +3 -2
  172. package/dist/components/Badge.mjs +2 -1
  173. package/dist/components/BarChart.js +4 -4
  174. package/dist/components/BarChart.mjs +3 -3
  175. package/dist/components/Breadcrumb.js +2 -2
  176. package/dist/components/Breadcrumb.mjs +1 -1
  177. package/dist/components/BreadcrumbItem.js +3 -3
  178. package/dist/components/BreadcrumbItem.mjs +1 -1
  179. package/dist/components/Calendar.d.mts +16 -6
  180. package/dist/components/Calendar.d.ts +16 -6
  181. package/dist/components/Calendar.js +3 -2
  182. package/dist/components/Calendar.mjs +2 -1
  183. package/dist/components/Cascader.js +2 -2
  184. package/dist/components/Cascader.mjs +1 -1
  185. package/dist/components/ChartLegend.js +2 -2
  186. package/dist/components/ChartLegend.mjs +1 -1
  187. package/dist/components/ChartTooltip.js +2 -2
  188. package/dist/components/ChartTooltip.mjs +1 -1
  189. package/dist/components/ChatWindow.d.mts +7 -7
  190. package/dist/components/ChatWindow.d.ts +7 -7
  191. package/dist/components/ChatWindow.js +10 -8
  192. package/dist/components/ChatWindow.mjs +9 -7
  193. package/dist/components/CodeEditor.js +2 -2
  194. package/dist/components/CodeEditor.mjs +1 -1
  195. package/dist/components/ColorSwatch.d.mts +1 -1
  196. package/dist/components/ColorSwatch.d.ts +1 -1
  197. package/dist/components/CommentThread.d.mts +5 -1
  198. package/dist/components/CommentThread.d.ts +5 -1
  199. package/dist/components/CommentThread.js +8 -6
  200. package/dist/components/CommentThread.mjs +7 -5
  201. package/dist/components/Countdown.d.mts +1 -1
  202. package/dist/components/Countdown.d.ts +1 -1
  203. package/dist/components/CronEditor.d.mts +1 -1
  204. package/dist/components/CronEditor.d.ts +1 -1
  205. package/dist/components/CropUpload.d.mts +13 -3
  206. package/dist/components/CropUpload.d.ts +13 -3
  207. package/dist/components/CropUpload.js +3 -3
  208. package/dist/components/CropUpload.mjs +2 -2
  209. package/dist/components/DataTableWithToolbar.d.mts +223 -1
  210. package/dist/components/DataTableWithToolbar.d.ts +223 -1
  211. package/dist/components/DataTableWithToolbar.js +7 -6
  212. package/dist/components/DataTableWithToolbar.mjs +6 -5
  213. package/dist/components/DatePicker.d.mts +6 -1
  214. package/dist/components/DatePicker.d.ts +6 -1
  215. package/dist/components/DatePicker.js +3 -2
  216. package/dist/components/DatePicker.mjs +2 -1
  217. package/dist/components/DonutChart.d.mts +9 -0
  218. package/dist/components/DonutChart.d.ts +9 -0
  219. package/dist/components/DonutChart.js +5 -5
  220. package/dist/components/DonutChart.mjs +4 -4
  221. package/dist/components/Dropdown.d.mts +1 -1
  222. package/dist/components/Dropdown.d.ts +1 -1
  223. package/dist/components/Dropdown.js +2 -2
  224. package/dist/components/Dropdown.mjs +1 -1
  225. package/dist/components/DropdownItem.js +3 -3
  226. package/dist/components/DropdownItem.mjs +2 -2
  227. package/dist/components/DropdownMenu.js +3 -3
  228. package/dist/components/DropdownMenu.mjs +1 -1
  229. package/dist/components/Empty.d.mts +11 -1
  230. package/dist/components/Empty.d.ts +11 -1
  231. package/dist/components/Empty.js +3 -2
  232. package/dist/components/Empty.mjs +2 -1
  233. package/dist/components/FileManager.d.mts +19 -19
  234. package/dist/components/FileManager.d.ts +19 -19
  235. package/dist/components/FileManager.js +2 -2
  236. package/dist/components/FileManager.mjs +1 -1
  237. package/dist/components/FloatButton.d.mts +3 -3
  238. package/dist/components/FloatButton.d.ts +3 -3
  239. package/dist/components/FloatButton.js +2 -2
  240. package/dist/components/FloatButton.mjs +1 -1
  241. package/dist/components/Form.js +2 -2
  242. package/dist/components/Form.mjs +1 -1
  243. package/dist/components/FormItem.js +3 -3
  244. package/dist/components/FormItem.mjs +2 -2
  245. package/dist/components/FormWizard.js +3 -3
  246. package/dist/components/FormWizard.mjs +2 -2
  247. package/dist/components/FunnelChart.js +4 -4
  248. package/dist/components/FunnelChart.mjs +3 -3
  249. package/dist/components/Gantt.d.mts +1 -1
  250. package/dist/components/Gantt.d.ts +1 -1
  251. package/dist/components/GaugeChart.d.mts +15 -0
  252. package/dist/components/GaugeChart.d.ts +15 -0
  253. package/dist/components/GaugeChart.js +3 -2
  254. package/dist/components/GaugeChart.mjs +2 -1
  255. package/dist/components/HeatmapChart.js +3 -3
  256. package/dist/components/HeatmapChart.mjs +2 -2
  257. package/dist/components/Icon.d.mts +1 -1
  258. package/dist/components/Icon.d.ts +1 -1
  259. package/dist/components/Image.js +4 -3
  260. package/dist/components/Image.mjs +3 -2
  261. package/dist/components/ImageAnnotation.d.mts +11 -1
  262. package/dist/components/ImageAnnotation.d.ts +11 -1
  263. package/dist/components/ImageAnnotation.js +3 -2
  264. package/dist/components/ImageAnnotation.mjs +2 -1
  265. package/dist/components/ImageCropper.d.mts +11 -0
  266. package/dist/components/ImageCropper.d.ts +11 -0
  267. package/dist/components/ImageCropper.js +3 -2
  268. package/dist/components/ImageCropper.mjs +2 -1
  269. package/dist/components/ImageGroup.js +4 -3
  270. package/dist/components/ImageGroup.mjs +3 -2
  271. package/dist/components/ImagePreview.d.mts +11 -0
  272. package/dist/components/ImagePreview.d.ts +11 -0
  273. package/dist/components/ImagePreview.js +3 -2
  274. package/dist/components/ImagePreview.mjs +2 -1
  275. package/dist/components/ImageViewer.d.mts +1 -0
  276. package/dist/components/ImageViewer.d.ts +1 -0
  277. package/dist/components/ImageViewer.js +2 -2
  278. package/dist/components/ImageViewer.mjs +1 -1
  279. package/dist/components/InfiniteScroll.js +2 -2
  280. package/dist/components/InfiniteScroll.mjs +1 -1
  281. package/dist/components/Input.d.mts +1 -1
  282. package/dist/components/Input.d.ts +1 -1
  283. package/dist/components/Input.js +3 -2
  284. package/dist/components/Input.mjs +2 -1
  285. package/dist/components/InputNumber.d.mts +21 -1
  286. package/dist/components/InputNumber.d.ts +21 -1
  287. package/dist/components/InputNumber.js +3 -2
  288. package/dist/components/InputNumber.mjs +2 -1
  289. package/dist/components/Kanban.d.mts +21 -1
  290. package/dist/components/Kanban.d.ts +21 -1
  291. package/dist/components/Kanban.js +3 -3
  292. package/dist/components/Kanban.mjs +2 -2
  293. package/dist/components/LineChart.js +4 -4
  294. package/dist/components/LineChart.mjs +3 -3
  295. package/dist/components/List.js +3 -3
  296. package/dist/components/List.mjs +2 -2
  297. package/dist/components/MarkdownEditor.js +2 -2
  298. package/dist/components/MarkdownEditor.mjs +1 -1
  299. package/dist/components/Message.d.mts +11 -1
  300. package/dist/components/Message.d.ts +11 -1
  301. package/dist/components/Message.js +2 -2
  302. package/dist/components/Message.mjs +1 -1
  303. package/dist/components/NotificationCenter.js +5 -5
  304. package/dist/components/NotificationCenter.mjs +4 -4
  305. package/dist/components/NumberKeyboard.d.mts +2 -2
  306. package/dist/components/NumberKeyboard.d.ts +2 -2
  307. package/dist/components/OrgChart.d.mts +1 -1
  308. package/dist/components/OrgChart.d.ts +1 -1
  309. package/dist/components/PieChart.d.mts +9 -0
  310. package/dist/components/PieChart.d.ts +9 -0
  311. package/dist/components/PieChart.js +4 -4
  312. package/dist/components/PieChart.mjs +3 -3
  313. package/dist/components/Progress.d.mts +1 -1
  314. package/dist/components/Progress.d.ts +1 -1
  315. package/dist/components/QRCode.d.mts +1 -1
  316. package/dist/components/QRCode.d.ts +1 -1
  317. package/dist/components/QRCode.js +2 -2
  318. package/dist/components/QRCode.mjs +1 -1
  319. package/dist/components/RadarChart.js +4 -4
  320. package/dist/components/RadarChart.mjs +3 -3
  321. package/dist/components/Rate.js +2 -2
  322. package/dist/components/Rate.mjs +1 -1
  323. package/dist/components/Resizable.js +2 -2
  324. package/dist/components/Resizable.mjs +1 -1
  325. package/dist/components/Result.d.mts +1 -1
  326. package/dist/components/Result.d.ts +1 -1
  327. package/dist/components/Result.js +2 -2
  328. package/dist/components/Result.mjs +1 -1
  329. package/dist/components/RichTextEditor.js +2 -2
  330. package/dist/components/RichTextEditor.mjs +1 -1
  331. package/dist/components/ScatterChart.js +4 -4
  332. package/dist/components/ScatterChart.mjs +3 -3
  333. package/dist/components/ScrollSpy.d.mts +1 -1
  334. package/dist/components/ScrollSpy.d.ts +1 -1
  335. package/dist/components/Segmented.js +2 -2
  336. package/dist/components/Segmented.mjs +1 -1
  337. package/dist/components/Select.js +2 -2
  338. package/dist/components/Select.mjs +1 -1
  339. package/dist/components/Signature.d.mts +1 -1
  340. package/dist/components/Signature.d.ts +1 -1
  341. package/dist/components/Slider.js +2 -2
  342. package/dist/components/Slider.mjs +1 -1
  343. package/dist/components/Steps.d.mts +2 -2
  344. package/dist/components/Steps.d.ts +2 -2
  345. package/dist/components/Steps.js +2 -2
  346. package/dist/components/Steps.mjs +1 -1
  347. package/dist/components/StepsItem.js +3 -3
  348. package/dist/components/StepsItem.mjs +1 -1
  349. package/dist/components/SunburstChart.js +4 -4
  350. package/dist/components/SunburstChart.mjs +3 -3
  351. package/dist/components/TabPane.js +3 -3
  352. package/dist/components/TabPane.mjs +1 -1
  353. package/dist/components/Table.js +4 -4
  354. package/dist/components/Table.mjs +3 -3
  355. package/dist/components/Tabs.d.mts +2 -0
  356. package/dist/components/Tabs.d.ts +2 -0
  357. package/dist/components/Tabs.js +2 -2
  358. package/dist/components/Tabs.mjs +1 -1
  359. package/dist/components/Tag.d.mts +13 -3
  360. package/dist/components/Tag.d.ts +13 -3
  361. package/dist/components/Tag.js +3 -2
  362. package/dist/components/Tag.mjs +2 -1
  363. package/dist/components/TaskBoard.d.mts +21 -1
  364. package/dist/components/TaskBoard.d.ts +21 -1
  365. package/dist/components/TaskBoard.js +2 -2
  366. package/dist/components/TaskBoard.mjs +1 -1
  367. package/dist/components/Textarea.js +3 -2
  368. package/dist/components/Textarea.mjs +2 -1
  369. package/dist/components/TimePicker.js +2 -2
  370. package/dist/components/TimePicker.mjs +1 -1
  371. package/dist/components/Timeline.js +2 -2
  372. package/dist/components/Timeline.mjs +1 -1
  373. package/dist/components/Tour.d.mts +1 -3
  374. package/dist/components/Tour.d.ts +1 -3
  375. package/dist/components/Tour.js +3 -2
  376. package/dist/components/Tour.mjs +2 -1
  377. package/dist/components/Transfer.d.mts +19 -2
  378. package/dist/components/Transfer.d.ts +19 -2
  379. package/dist/components/Transfer.js +2 -2
  380. package/dist/components/Transfer.mjs +1 -1
  381. package/dist/components/Tree.d.mts +2 -2
  382. package/dist/components/Tree.d.ts +2 -2
  383. package/dist/components/Tree.js +3 -3
  384. package/dist/components/Tree.mjs +2 -2
  385. package/dist/components/TreeMapChart.js +4 -4
  386. package/dist/components/TreeMapChart.mjs +3 -3
  387. package/dist/components/Upload.d.mts +1 -1
  388. package/dist/components/Upload.d.ts +1 -1
  389. package/dist/components/Upload.js +2 -2
  390. package/dist/components/Upload.mjs +1 -1
  391. package/dist/components/VirtualList.d.mts +11 -0
  392. package/dist/components/VirtualList.d.ts +11 -0
  393. package/dist/components/VirtualList.js +2 -2
  394. package/dist/components/VirtualList.mjs +1 -1
  395. package/dist/components/VirtualTable.d.mts +30 -0
  396. package/dist/components/VirtualTable.d.ts +30 -0
  397. package/dist/components/VirtualTable.js +2 -2
  398. package/dist/components/VirtualTable.mjs +1 -1
  399. package/dist/index.d.mts +134 -134
  400. package/dist/index.d.ts +134 -134
  401. package/dist/index.js +80 -80
  402. package/dist/index.mjs +79 -79
  403. package/package.json +6 -6
  404. package/dist/chunk-DJCTERZH.js +0 -92
  405. package/dist/chunk-LD7ZJCTO.mjs +0 -167
  406. package/dist/chunk-XAQID5IO.js +0 -167
  407. package/dist/chunk-ZYCOHZCM.mjs +0 -92
@@ -1,3 +1,9 @@
1
+ import {
2
+ renderVueBodyTeleport,
3
+ useVueBodyScrollLock,
4
+ useVueEscapeKey,
5
+ useVueFocusTrap
6
+ } from "./chunk-BDTPFPSB.mjs";
1
7
  import {
2
8
  createStatusIcon
3
9
  } from "./chunk-2TNZ4JNT.mjs";
@@ -12,9 +18,9 @@ import {
12
18
  h,
13
19
  ref,
14
20
  watch,
21
+ nextTick,
15
22
  onMounted,
16
- onBeforeUnmount,
17
- Teleport
23
+ onBeforeUnmount
18
24
  } from "vue";
19
25
  import {
20
26
  classNames,
@@ -30,9 +36,12 @@ import {
30
36
  getActiveTourSteps,
31
37
  getCurrentActiveTourStep,
32
38
  getActiveTourStepPosition,
39
+ getTourLabels,
33
40
  closeIconPathD,
34
41
  mergeTigerLocale,
35
- resolveLocaleText
42
+ captureActiveElement,
43
+ focusFirst,
44
+ restoreFocus
36
45
  } from "@expcat/tigercat-core";
37
46
  var Tour = defineComponent({
38
47
  name: "TigerTour",
@@ -66,14 +75,12 @@ var Tour = defineComponent({
66
75
  setup(props, { emit }) {
67
76
  const config = useTigerConfig();
68
77
  const mergedLocale = computed(() => mergeTigerLocale(config.value.locale, props.locale));
69
- const nextLabel = computed(
70
- () => resolveLocaleText("Next", props.nextText, mergedLocale.value?.formWizard?.nextText)
71
- );
72
- const prevLabel = computed(
73
- () => resolveLocaleText("Previous", props.prevText, mergedLocale.value?.formWizard?.prevText)
74
- );
75
- const finishLabel = computed(
76
- () => resolveLocaleText("Finish", props.finishText, mergedLocale.value?.formWizard?.finishText)
78
+ const labels = computed(
79
+ () => getTourLabels(mergedLocale.value, {
80
+ nextText: props.nextText,
81
+ prevText: props.prevText,
82
+ finishText: props.finishText
83
+ })
77
84
  );
78
85
  const internalStep = ref(0);
79
86
  const resolvedSteps = ref(props.steps);
@@ -88,6 +95,9 @@ var Tour = defineComponent({
88
95
  const step = computed(() => activeStepInfo.value?.step);
89
96
  const targetRect = ref();
90
97
  const popoverRef = ref(null);
98
+ const closeButtonRef = ref(null);
99
+ const openRef = computed(() => props.open);
100
+ let previousActiveElement = null;
91
101
  const updateRect = () => {
92
102
  if (step.value?.target) {
93
103
  targetRect.value = getTourTargetRect(step.value.target);
@@ -164,6 +174,24 @@ var Tour = defineComponent({
164
174
  emit("close");
165
175
  emit("update:open", false);
166
176
  };
177
+ const detachEscape = useVueEscapeKey({ enabled: openRef, onEscape: close });
178
+ onBeforeUnmount(detachEscape);
179
+ useVueBodyScrollLock(openRef);
180
+ useVueFocusTrap({ enabled: openRef, containerRef: popoverRef });
181
+ watch(
182
+ openRef,
183
+ (open) => {
184
+ if (open) {
185
+ previousActiveElement = captureActiveElement();
186
+ nextTick(() => {
187
+ focusFirst([closeButtonRef.value, popoverRef.value]);
188
+ });
189
+ } else {
190
+ restoreFocus(previousActiveElement);
191
+ }
192
+ },
193
+ { immediate: true }
194
+ );
167
195
  return () => {
168
196
  if (!props.open || !step.value) return null;
169
197
  const placement = step.value.placement ?? "bottom";
@@ -209,9 +237,10 @@ var Tour = defineComponent({
209
237
  h(
210
238
  "button",
211
239
  {
240
+ ref: closeButtonRef,
212
241
  class: tourCloseButtonClasses,
213
242
  type: "button",
214
- "aria-label": "Close tour",
243
+ "aria-label": labels.value.closeAriaLabel,
215
244
  onClick: close
216
245
  },
217
246
  createStatusIcon(closeIconPathD, "h-4 w-4")
@@ -244,7 +273,7 @@ var Tour = defineComponent({
244
273
  class: "px-3 py-1.5 text-sm rounded-md border border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text,#111827)] hover:bg-[var(--tiger-surface-muted,#f9fafb)] transition-colors mr-2",
245
274
  onClick: prev
246
275
  },
247
- prevLabel.value
276
+ labels.value.prevText
248
277
  )
249
278
  );
250
279
  }
@@ -256,7 +285,7 @@ var Tour = defineComponent({
256
285
  class: "px-3 py-1.5 text-sm rounded-md bg-[var(--tiger-primary,#2563eb)] text-white hover:bg-[var(--tiger-primary-hover,#1d4ed8)] transition-colors",
257
286
  onClick: next
258
287
  },
259
- isLast ? finishLabel.value : nextLabel.value
288
+ isLast ? labels.value.finishText : labels.value.nextText
260
289
  )
261
290
  );
262
291
  footerChildren.push(h("div", { class: "flex items-center" }, buttons));
@@ -274,7 +303,7 @@ var Tour = defineComponent({
274
303
  popoverChildren
275
304
  )
276
305
  );
277
- return h(Teleport, { to: "body" }, children);
306
+ return renderVueBodyTeleport(children);
278
307
  };
279
308
  }
280
309
  });
@@ -9,7 +9,8 @@ import {
9
9
  getSliderTooltipClasses,
10
10
  sliderGetPercentage,
11
11
  sliderGetValueFromPosition,
12
- sliderGetKeyboardValue
12
+ sliderGetKeyboardValue,
13
+ sliderResolveMarks
13
14
  } from "@expcat/tigercat-core";
14
15
  var Slider = defineComponent({
15
16
  name: "TigerSlider",
@@ -290,7 +291,8 @@ var Slider = defineComponent({
290
291
  };
291
292
  const createMarks = () => {
292
293
  if (!props.marks) return null;
293
- const marks = typeof props.marks === "boolean" ? {} : props.marks;
294
+ const marks = sliderResolveMarks(props.marks, props.min, props.max);
295
+ if (Object.keys(marks).length === 0) return null;
294
296
  return h(
295
297
  "div",
296
298
  { class: "absolute w-full top-full mt-2" },
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkRLPSCEBPjs = require('./chunk-RLPSCEBP.js');
3
+ var _chunkCFJST2X2js = require('./chunk-CFJST2X2.js');
4
4
 
5
5
 
6
6
  var _chunk3QV2D54Hjs = require('./chunk-3QV2D54H.js');
7
7
 
8
8
 
9
- var _chunkNOZ65AMOjs = require('./chunk-NOZ65AMO.js');
9
+ var _chunkTYYJPEWGjs = require('./chunk-TYYJPEWG.js');
10
10
 
11
11
 
12
12
  var _chunkPFWRFHSBjs = require('./chunk-PFWRFHSB.js');
@@ -23,6 +23,7 @@ var _chunkIXTYS3EKjs = require('./chunk-IXTYS3EK.js');
23
23
 
24
24
 
25
25
 
26
+
26
27
  var _vue = require('vue');
27
28
 
28
29
 
@@ -46,6 +47,7 @@ var _vue = require('vue');
46
47
 
47
48
 
48
49
 
50
+
49
51
 
50
52
 
51
53
  var _tigercatcore = require('@expcat/tigercat-core');
@@ -236,6 +238,9 @@ var tableEmits = [
236
238
 
237
239
 
238
240
 
241
+
242
+
243
+
239
244
  function useTableState(props, emit, measuredColumnWidths) {
240
245
  const paginationConfig = _vue.computed.call(void 0, () => {
241
246
  return props.pagination !== false && typeof props.pagination === "object" ? props.pagination : null;
@@ -387,7 +392,7 @@ function useTableState(props, emit, measuredColumnWidths) {
387
392
  if (props.filterMode === "advanced" && (_nullishCoalesce(_optionalChain([props, 'access', _41 => _41.advancedFilterRules, 'optionalAccess', _42 => _42.length]), () => ( 0))) > 0) {
388
393
  data = _tigercatcore.filterDataAdvanced.call(void 0, data, _nullishCoalesce(props.advancedFilterRules, () => ( [])));
389
394
  } else {
390
- data = _tigercatcore.filterData.call(void 0, data, filterState.value);
395
+ data = _tigercatcore.filterTableData.call(void 0, data, props.columns, filterState.value);
391
396
  }
392
397
  if (sortState.value.key && sortState.value.direction) {
393
398
  const column = columnByKey.value[sortState.value.key];
@@ -414,7 +419,7 @@ function useTableState(props, emit, measuredColumnWidths) {
414
419
  });
415
420
  const totalColumnCount = _vue.computed.call(void 0, () => {
416
421
  let count = displayColumns.value.length;
417
- if (props.rowSelection) count += 1;
422
+ if (_tigercatcore.hasTableSelectionColumn.call(void 0, props.rowSelection)) count += 1;
418
423
  if (props.expandable) count += 1;
419
424
  return count;
420
425
  });
@@ -534,35 +539,33 @@ function useTableState(props, emit, measuredColumnWidths) {
534
539
  }
535
540
  emit("selection-change", newKeys);
536
541
  }
542
+ const selectionState = _vue.computed.call(void 0,
543
+ () => _tigercatcore.getTableSelectionState.call(void 0, {
544
+ records: paginatedData.value,
545
+ rowKeys: paginatedRowKeys.value,
546
+ selectedRowKeys: selectedRowKeys.value,
547
+ getCheckboxProps: _optionalChain([props, 'access', _52 => _52.rowSelection, 'optionalAccess', _53 => _53.getCheckboxProps])
548
+ })
549
+ );
537
550
  function handleSelectAll(checked) {
538
- if (checked) {
539
- const nextKeys = paginatedRowKeys.value;
540
- if (!isSelectionControlled.value) {
541
- uncontrolledSelectedRowKeys.value = nextKeys;
542
- }
543
- emit("selection-change", nextKeys);
544
- } else {
545
- if (!isSelectionControlled.value) {
546
- uncontrolledSelectedRowKeys.value = [];
547
- }
548
- emit("selection-change", []);
551
+ const nextKeys = _tigercatcore.getNextTableSelectAllKeys.call(void 0,
552
+ selectedRowKeys.value,
553
+ selectionState.value.selectableRowKeys,
554
+ checked
555
+ );
556
+ if (!isSelectionControlled.value) {
557
+ uncontrolledSelectedRowKeys.value = nextKeys;
549
558
  }
559
+ emit("selection-change", nextKeys);
550
560
  }
551
- const allSelected = _vue.computed.call(void 0, () => {
552
- if (paginatedRowKeys.value.length === 0) {
553
- return false;
554
- }
555
- return paginatedRowKeys.value.every((key) => selectedRowKeySet.value.has(key));
556
- });
557
- const someSelected = _vue.computed.call(void 0, () => {
558
- return selectedRowKeys.value.length > 0 && !allSelected.value;
559
- });
561
+ const allSelected = _vue.computed.call(void 0, () => selectionState.value.allSelected);
562
+ const someSelected = _vue.computed.call(void 0, () => selectionState.value.someSelected);
560
563
  const editingCell = _vue.ref.call(void 0, null);
561
564
  const editingValue = _vue.ref.call(void 0, "");
562
565
  function isCellEditable(columnKey, rowIndex) {
563
566
  if (!props.editable) return false;
564
567
  if (!props.editableCells) return true;
565
- return !!_optionalChain([props, 'access', _52 => _52.editableCells, 'access', _53 => _53.get, 'call', _54 => _54(columnKey), 'optionalAccess', _55 => _55.has, 'call', _56 => _56(rowIndex)]);
568
+ return !!_optionalChain([props, 'access', _54 => _54.editableCells, 'access', _55 => _55.get, 'call', _56 => _56(columnKey), 'optionalAccess', _57 => _57.has, 'call', _58 => _58(rowIndex)]);
566
569
  }
567
570
  function startEditing(rowIndex, columnKey, currentValue) {
568
571
  editingCell.value = { rowIndex, columnKey };
@@ -764,7 +767,7 @@ function renderTableHeader(ctx, props, slots, labels) {
764
767
  const expandAtEnd = props.expandable && props.expandable.expandIconPosition === "end";
765
768
  const expandHeaderTh = props.expandable ? _vue.h.call(void 0, "th", {
766
769
  class: _tigercatcore.getExpandIconCellClasses.call(void 0, props.size),
767
- "aria-label": "Expand"
770
+ "aria-label": labels.expandText
768
771
  }) : null;
769
772
  if (expandAtStart && expandHeaderTh) {
770
773
  headerCells.push(expandHeaderTh);
@@ -798,7 +801,7 @@ function renderTableHeader(ctx, props, slots, labels) {
798
801
  } : void 0;
799
802
  const style = fixedStyle ? { ...widthStyle, ...fixedStyle } : widthStyle;
800
803
  const headerContent = [];
801
- const slotContent = _optionalChain([slots, 'access', _57 => _57[`header-${column.key}`], 'optionalCall', _58 => _58()]);
804
+ const slotContent = _optionalChain([slots, 'access', _59 => _59[`header-${column.key}`], 'optionalCall', _60 => _60()]);
802
805
  if (slotContent && slotContent.length > 0) {
803
806
  headerContent.push(...slotContent);
804
807
  } else if (column.renderHeader) {
@@ -872,7 +875,7 @@ function renderTableHeader(ctx, props, slots, labels) {
872
875
  onClick: (e) => e.stopPropagation()
873
876
  },
874
877
  [
875
- _vue.h.call(void 0, "option", { value: "" }, "All"),
878
+ _vue.h.call(void 0, "option", { value: "" }, labels.allText),
876
879
  ...column.filter.options.map(
877
880
  (opt) => _vue.h.call(void 0, "option", { value: opt.value }, opt.label)
878
881
  )
@@ -880,7 +883,7 @@ function renderTableHeader(ctx, props, slots, labels) {
880
883
  ) : _vue.h.call(void 0, "input", {
881
884
  type: "text",
882
885
  class: "w-full px-2 py-1 text-sm border border-gray-300 rounded",
883
- placeholder: column.filter.placeholder || "Filter...",
886
+ placeholder: column.filter.placeholder || labels.filterPlaceholder,
884
887
  onInput: (e) => ctx.handleFilter(column.key, e.target.value),
885
888
  onClick: (e) => e.stopPropagation()
886
889
  })
@@ -914,7 +917,8 @@ function renderTableHeader(ctx, props, slots, labels) {
914
917
 
915
918
 
916
919
 
917
- function renderTableBody(ctx, props, slots) {
920
+
921
+ function renderTableBody(ctx, props, slots, labels) {
918
922
  if (props.loading) {
919
923
  return null;
920
924
  }
@@ -942,7 +946,7 @@ function renderTableBody(ctx, props, slots) {
942
946
  ]);
943
947
  }
944
948
  function getDelegatedRow(event) {
945
- const row = _optionalChain([event, 'access', _59 => _59.target, 'optionalAccess', _60 => _60.closest, 'call', _61 => _61(
949
+ const row = _optionalChain([event, 'access', _61 => _61.target, 'optionalAccess', _62 => _62.closest, 'call', _63 => _63(
946
950
  "tr[data-tiger-table-row-index]"
947
951
  )]);
948
952
  if (!row) return null;
@@ -999,7 +1003,7 @@ function renderTableBody(ctx, props, slots) {
999
1003
  {
1000
1004
  type: "button",
1001
1005
  class: "inline-flex items-center justify-center",
1002
- "aria-label": isExpanded ? "Collapse row" : "Expand row",
1006
+ "aria-label": isExpanded ? labels.collapseRowAriaLabel : labels.expandRowAriaLabel,
1003
1007
  "aria-expanded": isExpanded,
1004
1008
  onClick: (e) => {
1005
1009
  e.stopPropagation();
@@ -1014,7 +1018,7 @@ function renderTableBody(ctx, props, slots) {
1014
1018
  cells.push(expandToggleCell);
1015
1019
  }
1016
1020
  if (props.rowSelection && props.rowSelection.showCheckbox !== false) {
1017
- const checkboxProps = _optionalChain([props, 'access', _62 => _62.rowSelection, 'optionalAccess', _63 => _63.getCheckboxProps, 'optionalCall', _64 => _64(record)]) || {};
1021
+ const checkboxProps = _optionalChain([props, 'access', _64 => _64.rowSelection, 'optionalAccess', _65 => _65.getCheckboxProps, 'optionalCall', _66 => _66(record)]) || {};
1018
1022
  cells.push(
1019
1023
  _vue.h.call(void 0,
1020
1024
  "td",
@@ -1023,8 +1027,8 @@ function renderTableBody(ctx, props, slots) {
1023
1027
  },
1024
1028
  [
1025
1029
  _vue.h.call(void 0, "input", {
1026
- type: _optionalChain([props, 'access', _65 => _65.rowSelection, 'optionalAccess', _66 => _66.type]) === "radio" ? "radio" : "checkbox",
1027
- class: _optionalChain([props, 'access', _67 => _67.rowSelection, 'optionalAccess', _68 => _68.type]) === "radio" ? "border-gray-300 text-[var(--tiger-primary,#2563eb)] focus:ring-[var(--tiger-primary,#2563eb)]" : "rounded border-gray-300 text-[var(--tiger-primary,#2563eb)] focus:ring-[var(--tiger-primary,#2563eb)]",
1030
+ type: _optionalChain([props, 'access', _67 => _67.rowSelection, 'optionalAccess', _68 => _68.type]) === "radio" ? "radio" : "checkbox",
1031
+ class: _optionalChain([props, 'access', _69 => _69.rowSelection, 'optionalAccess', _70 => _70.type]) === "radio" ? "border-gray-300 text-[var(--tiger-primary,#2563eb)] focus:ring-[var(--tiger-primary,#2563eb)]" : "rounded border-gray-300 text-[var(--tiger-primary,#2563eb)] focus:ring-[var(--tiger-primary,#2563eb)]",
1028
1032
  checked: isSelected,
1029
1033
  disabled: checkboxProps.disabled,
1030
1034
  onClick: (e) => e.stopPropagation(),
@@ -1053,7 +1057,7 @@ function renderTableBody(ctx, props, slots) {
1053
1057
  hoverable: props.hoverable,
1054
1058
  fixedInfo: ctx.fixedColumnsInfo.value
1055
1059
  });
1056
- const isEditing = _optionalChain([ctx, 'access', _69 => _69.editingCell, 'access', _70 => _70.value, 'optionalAccess', _71 => _71.rowIndex]) === index && _optionalChain([ctx, 'access', _72 => _72.editingCell, 'access', _73 => _73.value, 'optionalAccess', _74 => _74.columnKey]) === column.key;
1060
+ const isEditing = _optionalChain([ctx, 'access', _71 => _71.editingCell, 'access', _72 => _72.value, 'optionalAccess', _73 => _73.rowIndex]) === index && _optionalChain([ctx, 'access', _74 => _74.editingCell, 'access', _75 => _75.value, 'optionalAccess', _76 => _76.columnKey]) === column.key;
1057
1061
  const isEditableCell = ctx.isCellEditable(column.key, index);
1058
1062
  const cellContent = isEditing ? _vue.h.call(void 0, "input", {
1059
1063
  type: "text",
@@ -1068,7 +1072,7 @@ function renderTableBody(ctx, props, slots) {
1068
1072
  if (e.key === "Enter") ctx.commitEdit();
1069
1073
  if (e.key === "Escape") ctx.cancelEdit();
1070
1074
  }
1071
- }) : _nullishCoalesce(_optionalChain([slots, 'access', _75 => _75[`cell-${column.key}`], 'optionalCall', _76 => _76({ record, index })]), () => ( (column.render ? column.render(record, index) : cellValue)));
1075
+ }) : _nullishCoalesce(_optionalChain([slots, 'access', _77 => _77[`cell-${column.key}`], 'optionalCall', _78 => _78({ record, index })]), () => ( (column.render ? column.render(record, index) : cellValue)));
1072
1076
  cells.push(
1073
1077
  _vue.h.call(void 0,
1074
1078
  "td",
@@ -1098,12 +1102,22 @@ function renderTableBody(ctx, props, slots) {
1098
1102
  _tigercatcore.getTableRowClasses.call(void 0, props.hoverable, props.striped, index % 2 === 0, rowClass),
1099
1103
  ctx.fixedColumnsInfo.value.hasFixedColumns && "group"
1100
1104
  ),
1105
+ "aria-selected": props.rowSelection ? isSelected : void 0,
1106
+ tabindex: props.interactiveRows ? 0 : void 0,
1107
+ // Delegated mouse click stays on tbody; add per-row keyboard activation.
1108
+ onKeydown: props.interactiveRows ? (e) => {
1109
+ if (e.target !== e.currentTarget) return;
1110
+ if (_tigercatcore.isActivationKey.call(void 0, e)) {
1111
+ e.preventDefault();
1112
+ ctx.handleRowClick(record, index, key);
1113
+ }
1114
+ } : void 0,
1101
1115
  draggable: props.rowDraggable ? "true" : void 0
1102
1116
  },
1103
1117
  cells
1104
1118
  );
1105
1119
  if (props.expandable && isExpanded && isRowExpandable) {
1106
- const expandedContent = _optionalChain([slots, 'access', _77 => _77["expanded-row"], 'optionalCall', _78 => _78({ record, index })]) || (props.expandable.expandedRowRender ? props.expandable.expandedRowRender(record, index) : null);
1120
+ const expandedContent = _optionalChain([slots, 'access', _79 => _79["expanded-row"], 'optionalCall', _80 => _80({ record, index })]) || (props.expandable.expandedRowRender ? props.expandable.expandedRowRender(record, index) : null);
1107
1121
  const expandedRow = _vue.h.call(void 0,
1108
1122
  "tr",
1109
1123
  {
@@ -1152,6 +1166,36 @@ function renderTableBody(ctx, props, slots) {
1152
1166
  }
1153
1167
  return _vue.h.call(void 0, "tbody", delegatedBodyHandlers, groupRows);
1154
1168
  }
1169
+ const vw = props.virtualWindow;
1170
+ if (vw && vw.endIndex >= vw.startIndex) {
1171
+ const windowed = [];
1172
+ if (vw.topPad > 0) {
1173
+ windowed.push(
1174
+ _vue.h.call(void 0, "tr", { key: "virtual-top", "aria-hidden": "true" }, [
1175
+ _vue.h.call(void 0, "td", {
1176
+ colspan: ctx.totalColumnCount.value,
1177
+ style: { height: `${vw.topPad}px`, padding: 0 }
1178
+ })
1179
+ ])
1180
+ );
1181
+ }
1182
+ for (let index = vw.startIndex; index <= vw.endIndex; index++) {
1183
+ const result = renderDataRow(ctx.paginatedData.value[index], index);
1184
+ if (Array.isArray(result)) windowed.push(...result);
1185
+ else windowed.push(result);
1186
+ }
1187
+ if (vw.bottomPad > 0) {
1188
+ windowed.push(
1189
+ _vue.h.call(void 0, "tr", { key: "virtual-bottom", "aria-hidden": "true" }, [
1190
+ _vue.h.call(void 0, "td", {
1191
+ colspan: ctx.totalColumnCount.value,
1192
+ style: { height: `${vw.bottomPad}px`, padding: 0 }
1193
+ })
1194
+ ])
1195
+ );
1196
+ }
1197
+ return _vue.h.call(void 0, "tbody", delegatedBodyHandlers, windowed);
1198
+ }
1155
1199
  const rows = ctx.paginatedData.value.flatMap((record, index) => renderDataRow(record, index));
1156
1200
  return _vue.h.call(void 0, "tbody", delegatedBodyHandlers, rows);
1157
1201
  }
@@ -1160,7 +1204,7 @@ function renderTableBody(ctx, props, slots) {
1160
1204
 
1161
1205
 
1162
1206
  function renderSummaryRow(ctx, props) {
1163
- if (!_optionalChain([props, 'access', _79 => _79.summaryRow, 'optionalAccess', _80 => _80.show])) return null;
1207
+ if (!_optionalChain([props, 'access', _81 => _81.summaryRow, 'optionalAccess', _82 => _82.show])) return null;
1164
1208
  const emptyCells = [];
1165
1209
  if (props.rowSelection) {
1166
1210
  emptyCells.push(_vue.h.call(void 0, "td", { class: _tigercatcore.getTableCellClasses.call(void 0, props.size, "left") }));
@@ -1205,9 +1249,9 @@ function renderPagination(ctx, props, view) {
1205
1249
  const { totalPages, startIndex, endIndex, hasNext, hasPrev } = ctx.paginationInfo.value;
1206
1250
  const paginationConfig = props.pagination;
1207
1251
  const total = paginationConfig.total !== void 0 && paginationConfig.total > 0 ? paginationConfig.total : ctx.processedData.value.length;
1208
- const locale = _optionalChain([view, 'optionalAccess', _81 => _81.disableI18n]) ? void 0 : _optionalChain([view, 'optionalAccess', _82 => _82.locale]);
1252
+ const locale = _optionalChain([view, 'optionalAccess', _83 => _83.disableI18n]) ? void 0 : _optionalChain([view, 'optionalAccess', _84 => _84.locale]);
1209
1253
  const labels = _tigercatcore.getPaginationLabels.call(void 0, locale);
1210
- const localeCode = _optionalChain([locale, 'optionalAccess', _83 => _83.locale]);
1254
+ const localeCode = _optionalChain([locale, 'optionalAccess', _85 => _85.locale]);
1211
1255
  const finalTotalText = paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : _tigercatcore.formatPaginationTotal.call(void 0, labels.totalText, total, [startIndex, endIndex], localeCode);
1212
1256
  const finalPrevText = paginationConfig.prevText || labels.prevPageAriaLabel;
1213
1257
  const finalNextText = paginationConfig.nextText || labels.nextPageAriaLabel;
@@ -1217,8 +1261,8 @@ function renderPagination(ctx, props, view) {
1217
1261
  totalPages,
1218
1262
  localeCode
1219
1263
  );
1220
- const finalPrevAriaLabel = _optionalChain([view, 'optionalAccess', _84 => _84.disableI18n]) ? finalPrevText : labels.prevPageAriaLabel;
1221
- const finalNextAriaLabel = _optionalChain([view, 'optionalAccess', _85 => _85.disableI18n]) ? finalNextText : labels.nextPageAriaLabel;
1264
+ const finalPrevAriaLabel = _optionalChain([view, 'optionalAccess', _86 => _86.disableI18n]) ? finalPrevText : labels.prevPageAriaLabel;
1265
+ const finalNextAriaLabel = _optionalChain([view, 'optionalAccess', _87 => _87.disableI18n]) ? finalNextText : labels.nextPageAriaLabel;
1222
1266
  const normalizedPageSizeOptions = paginationConfig.pageSizeOptions || [
1223
1267
  10,
1224
1268
  20,
@@ -1287,6 +1331,7 @@ var Table = _vue.defineComponent.call(void 0, {
1287
1331
  emits: tableEmits,
1288
1332
  setup(props, { emit, slots }) {
1289
1333
  const config = _chunkIXTYS3EKjs.useTigerConfig.call(void 0, );
1334
+ const instance = _vue.getCurrentInstance.call(void 0, );
1290
1335
  const wrapperRef = _vue.ref.call(void 0, null);
1291
1336
  const tableRef = _vue.ref.call(void 0, null);
1292
1337
  const measuredColumnWidths = _vue.ref.call(void 0, {});
@@ -1398,9 +1443,19 @@ var Table = _vue.defineComponent.call(void 0, {
1398
1443
  const wrapperStyle = resolvedProps.maxHeight ? {
1399
1444
  maxHeight: typeof resolvedProps.maxHeight === "number" ? `${resolvedProps.maxHeight}px` : resolvedProps.maxHeight
1400
1445
  } : void 0;
1446
+ const virtualWindow = effectiveVirtual ? _tigercatcore.getTableVirtualWindow.call(void 0,
1447
+ ctx.virtualScrollTop.value,
1448
+ typeof resolvedProps.virtualHeight === "number" ? resolvedProps.virtualHeight : 400,
1449
+ resolvedProps.virtualItemHeight,
1450
+ ctx.paginatedData.value.length
1451
+ ) : void 0;
1401
1452
  const renderProps = {
1402
1453
  ...resolvedProps,
1403
- emptyText: tableLabels.value.emptyText
1454
+ emptyText: tableLabels.value.emptyText,
1455
+ // Rows become keyboard-activable when a row-click listener is bound or
1456
+ // row selection is enabled (mirrors React's onRowClick/rowSelection).
1457
+ interactiveRows: !!resolvedProps.rowSelection || typeof _optionalChain([instance, 'optionalAccess', _88 => _88.vnode, 'access', _89 => _89.props, 'optionalAccess', _90 => _90.onRowClick]) === "function",
1458
+ virtualWindow
1404
1459
  };
1405
1460
  const shouldPinColumns = resolvedProps.columnLockable || ctx.fixedColumnsInfo.value.hasFixedColumns;
1406
1461
  const colgroup = shouldPinColumns ? _vue.h.call(void 0,
@@ -1421,7 +1476,7 @@ var Table = _vue.defineComponent.call(void 0, {
1421
1476
  const tableChildren = [
1422
1477
  colgroup,
1423
1478
  renderTableHeader(ctx, renderProps, slots, tableLabels.value),
1424
- renderTableBody(ctx, renderProps, slots),
1479
+ renderTableBody(ctx, renderProps, slots, tableLabels.value),
1425
1480
  renderSummaryRow(ctx, renderProps)
1426
1481
  ];
1427
1482
  const tableInner = _vue.h.call(void 0,
@@ -1484,7 +1539,7 @@ var Table = _vue.defineComponent.call(void 0, {
1484
1539
  class: "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] px-3 py-2"
1485
1540
  },
1486
1541
  [
1487
- _vue.h.call(void 0, _chunkRLPSCEBPjs.Select, {
1542
+ _vue.h.call(void 0, _chunkCFJST2X2js.Select, {
1488
1543
  size: "sm",
1489
1544
  modelValue: ctx.sortState.value.key && ctx.sortState.value.direction ? `${ctx.sortState.value.key}:${ctx.sortState.value.direction}` : "",
1490
1545
  options: [
@@ -1520,7 +1575,7 @@ var Table = _vue.defineComponent.call(void 0, {
1520
1575
  if (ctx.paginatedData.value.length === 0) {
1521
1576
  cardChildren.push(
1522
1577
  _vue.h.call(void 0, "div", { class: _tigercatcore.getTableResponsiveCardClasses.call(void 0, resolvedProps.cardPadding) }, [
1523
- _vue.h.call(void 0, _chunkNOZ65AMOjs.Empty, { showImage: false, description: tableLabels.value.emptyText })
1578
+ _vue.h.call(void 0, _chunkTYYJPEWGjs.Empty, { showImage: false, description: tableLabels.value.emptyText })
1524
1579
  ])
1525
1580
  );
1526
1581
  } else {
@@ -1533,7 +1588,7 @@ var Table = _vue.defineComponent.call(void 0, {
1533
1588
  const { titleColumn, bodyColumns } = _tigercatcore.getCardColumns.call(void 0, ctx.displayColumns.value);
1534
1589
  const renderCardCellContent = (column) => {
1535
1590
  const dataKey = column.dataKey || column.key;
1536
- return _nullishCoalesce(_optionalChain([slots, 'access', _86 => _86[`cell-${column.key}`], 'optionalCall', _87 => _87({ record, index })]), () => ( (column.render ? column.render(record, index) : record[dataKey])));
1591
+ return _nullishCoalesce(_optionalChain([slots, 'access', _91 => _91[`cell-${column.key}`], 'optionalCall', _92 => _92({ record, index })]), () => ( (column.render ? column.render(record, index) : record[dataKey])));
1537
1592
  };
1538
1593
  const titleNode = titleColumn ? _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardTitleClasses }, [
1539
1594
  renderCardCellContent(titleColumn)
@@ -1642,7 +1697,7 @@ var Table = _vue.defineComponent.call(void 0, {
1642
1697
  );
1643
1698
  const controls = [];
1644
1699
  if (resolvedProps.rowSelection && resolvedProps.rowSelection.showCheckbox !== false) {
1645
- const checkboxProps = _optionalChain([resolvedProps, 'access', _88 => _88.rowSelection, 'access', _89 => _89.getCheckboxProps, 'optionalCall', _90 => _90(record)]) || {};
1700
+ const checkboxProps = _optionalChain([resolvedProps, 'access', _93 => _93.rowSelection, 'access', _94 => _94.getCheckboxProps, 'optionalCall', _95 => _95(record)]) || {};
1646
1701
  controls.push(
1647
1702
  _vue.h.call(void 0, "span", { onClick: (event) => event.stopPropagation() }, [
1648
1703
  resolvedProps.rowSelection.type === "radio" ? _vue.h.call(void 0, _chunk3QV2D54Hjs.Radio, {
@@ -1652,7 +1707,7 @@ var Table = _vue.defineComponent.call(void 0, {
1652
1707
  "aria-label": _tigercatcore.formatTableSelectRowAriaLabel.call(void 0,
1653
1708
  tableLabels.value.selectRowAriaLabel,
1654
1709
  index + 1,
1655
- _optionalChain([tableLocale, 'access', _91 => _91.value, 'optionalAccess', _92 => _92.locale])
1710
+ _optionalChain([tableLocale, 'access', _96 => _96.value, 'optionalAccess', _97 => _97.locale])
1656
1711
  ),
1657
1712
  onChange: () => ctx.handleSelectRow(key, true)
1658
1713
  }) : _vue.h.call(void 0, _chunkPFWRFHSBjs.Checkbox, {
@@ -1662,7 +1717,7 @@ var Table = _vue.defineComponent.call(void 0, {
1662
1717
  "aria-label": _tigercatcore.formatTableSelectRowAriaLabel.call(void 0,
1663
1718
  tableLabels.value.selectRowAriaLabel,
1664
1719
  index + 1,
1665
- _optionalChain([tableLocale, 'access', _93 => _93.value, 'optionalAccess', _94 => _94.locale])
1720
+ _optionalChain([tableLocale, 'access', _98 => _98.value, 'optionalAccess', _99 => _99.locale])
1666
1721
  ),
1667
1722
  onChange: (checked) => ctx.handleSelectRow(key, checked)
1668
1723
  })
@@ -1701,7 +1756,7 @@ var Table = _vue.defineComponent.call(void 0, {
1701
1756
  ])
1702
1757
  ]
1703
1758
  ) : titleNode;
1704
- const expandedContent = resolvedProps.expandable && isExpanded && isRowExpandable ? _nullishCoalesce(_optionalChain([slots, 'access', _95 => _95["expanded-row"], 'optionalCall', _96 => _96({ record, index })]), () => ( _optionalChain([resolvedProps, 'access', _97 => _97.expandable, 'access', _98 => _98.expandedRowRender, 'optionalCall', _99 => _99(record, index)]))) : null;
1759
+ const expandedContent = resolvedProps.expandable && isExpanded && isRowExpandable ? _nullishCoalesce(_optionalChain([slots, 'access', _100 => _100["expanded-row"], 'optionalCall', _101 => _101({ record, index })]), () => ( _optionalChain([resolvedProps, 'access', _102 => _102.expandable, 'access', _103 => _103.expandedRowRender, 'optionalCall', _104 => _104(record, index)]))) : null;
1705
1760
  const cardContext = {
1706
1761
  record,
1707
1762
  index,
@@ -1711,7 +1766,7 @@ var Table = _vue.defineComponent.call(void 0, {
1711
1766
  toggleExpand: () => ctx.handleToggleExpand(key, record),
1712
1767
  selectRow: (checked) => ctx.handleSelectRow(key, checked)
1713
1768
  };
1714
- const customCard = _nullishCoalesce(_optionalChain([slots, 'access', _100 => _100.card, 'optionalCall', _101 => _101(cardContext)]), () => ( _optionalChain([resolvedProps, 'access', _102 => _102.renderCard, 'optionalCall', _103 => _103(cardContext)])));
1769
+ const customCard = _nullishCoalesce(_optionalChain([slots, 'access', _105 => _105.card, 'optionalCall', _106 => _106(cardContext)]), () => ( _optionalChain([resolvedProps, 'access', _107 => _107.renderCard, 'optionalCall', _108 => _108(cardContext)])));
1715
1770
  const resolvedCardClassName = typeof resolvedProps.cardClassName === "function" ? resolvedProps.cardClassName(record, index) : resolvedProps.cardClassName;
1716
1771
  return _vue.h.call(void 0,
1717
1772
  "div",
@@ -1769,9 +1824,9 @@ var Table = _vue.defineComponent.call(void 0, {
1769
1824
  type: "button",
1770
1825
  class: _tigercatcore.tableExportButtonClasses,
1771
1826
  onClick: ctx.handleExport,
1772
- "aria-label": resolvedProps.exportFormat === "excel" ? "Export to Excel" : "Export to CSV"
1827
+ "aria-label": resolvedProps.exportFormat === "excel" ? tableLabels.value.exportExcelAriaLabel : tableLabels.value.exportCsvAriaLabel
1773
1828
  },
1774
- resolvedProps.exportFormat === "excel" ? "Export Excel" : "Export CSV"
1829
+ resolvedProps.exportFormat === "excel" ? tableLabels.value.exportExcelText : tableLabels.value.exportCsvText
1775
1830
  )
1776
1831
  ]),
1777
1832
  tableContent,
@@ -33,6 +33,14 @@ import {
33
33
  var MESSAGE_CONTAINER_ID = "tiger-message-container";
34
34
  var MESSAGE_CLOSE_ARIA_LABEL = "Close message";
35
35
  var MESSAGE_CONTAINER_ROOT_ID = `${MESSAGE_CONTAINER_ID}-root`;
36
+ var MESSAGE_POSITIONS = [
37
+ "top",
38
+ "top-left",
39
+ "top-right",
40
+ "bottom",
41
+ "bottom-left",
42
+ "bottom-right"
43
+ ];
36
44
  var messageInstances = ref([]);
37
45
  var IS_TEST_ENV = (() => {
38
46
  const proc = globalThis.process;
@@ -46,6 +54,10 @@ var MessageContainer = defineComponent({
46
54
  position: {
47
55
  type: String,
48
56
  default: "top"
57
+ },
58
+ messages: {
59
+ type: Array,
60
+ default: () => []
49
61
  }
50
62
  },
51
63
  setup(props) {
@@ -111,20 +123,33 @@ var MessageContainer = defineComponent({
111
123
  "div",
112
124
  {
113
125
  class: containerClasses.value,
114
- id: MESSAGE_CONTAINER_ID,
126
+ id: props.position === "top" ? MESSAGE_CONTAINER_ID : `${MESSAGE_CONTAINER_ID}-${props.position}`,
115
127
  "aria-live": "polite",
116
128
  "aria-relevant": "additions",
129
+ "data-tiger-message-position": props.position,
117
130
  "data-tiger-message-container": ""
118
131
  },
119
- IS_TEST_ENV ? messageInstances.value.map(renderMessageItem) : h(
120
- TransitionGroup,
121
- { name: "message" },
122
- () => messageInstances.value.map(renderMessageItem)
123
- )
132
+ IS_TEST_ENV ? props.messages.map(renderMessageItem) : h(TransitionGroup, { name: "message" }, () => props.messages.map(renderMessageItem))
124
133
  )
125
134
  );
126
135
  }
127
136
  });
137
+ var MessageHost = defineComponent({
138
+ name: "TigerMessageHost",
139
+ setup() {
140
+ return () => MESSAGE_POSITIONS.map((position) => {
141
+ const positionedMessages = messageInstances.value.filter(
142
+ (message) => message.position === position
143
+ );
144
+ if (positionedMessages.length === 0) return null;
145
+ return h(MessageContainer, {
146
+ key: position,
147
+ position,
148
+ messages: positionedMessages
149
+ });
150
+ });
151
+ }
152
+ });
128
153
  function ensureContainer() {
129
154
  if (!isBrowser()) {
130
155
  return;
@@ -142,7 +167,7 @@ function ensureContainer() {
142
167
  rootEl.id = MESSAGE_CONTAINER_ROOT_ID;
143
168
  document.body.appendChild(rootEl);
144
169
  }
145
- containerApp = createApp(MessageContainer);
170
+ containerApp = createApp(MessageHost);
146
171
  containerApp.mount(rootEl);
147
172
  }
148
173
  function addMessage(config) {
@@ -155,7 +180,8 @@ function addMessage(config) {
155
180
  closable: config.closable || false,
156
181
  onClose: config.onClose,
157
182
  icon: config.icon,
158
- className: config.className
183
+ className: config.className,
184
+ position: config.position ?? "top"
159
185
  };
160
186
  messageInstances.value.push(instance);
161
187
  ensureContainer();