@expcat/tigercat-react 1.3.3 → 1.4.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 (248) hide show
  1. package/dist/{chunk-3SV6J7I5.mjs → chunk-2L7QEOFD.mjs} +34 -25
  2. package/dist/{chunk-FNJDBFKM.mjs → chunk-2LYV6NBJ.mjs} +6 -1
  3. package/dist/{chunk-EEWHWEYO.js → chunk-2RBHQBSG.js} +2 -2
  4. package/dist/{chunk-Y5RQN5BO.mjs → chunk-376X7SDZ.mjs} +2 -2
  5. package/dist/{chunk-UXUYCWQC.js → chunk-3EDASNTG.js} +5 -5
  6. package/dist/{chunk-NPTXXUXF.mjs → chunk-3RBRWBUG.mjs} +9 -7
  7. package/dist/{chunk-PUZDW7NR.js → chunk-4AMSYFYC.js} +134 -20
  8. package/dist/{chunk-IG75YSX3.mjs → chunk-4MONGWU5.mjs} +4 -6
  9. package/dist/{chunk-3CJFNG54.mjs → chunk-56CTXEJS.mjs} +1 -1
  10. package/dist/{chunk-TMON4MPO.js → chunk-5ALMTE35.js} +9 -7
  11. package/dist/{chunk-MSHCPJIJ.mjs → chunk-6BOSSZM3.mjs} +8 -9
  12. package/dist/{chunk-SIY6FDKJ.js → chunk-7CHTTM6D.js} +339 -314
  13. package/dist/{chunk-RF2BA2N6.js → chunk-7PXALKLM.js} +4 -4
  14. package/dist/{chunk-DLKUDB2R.js → chunk-AF2AEZKM.js} +15 -3
  15. package/dist/{chunk-FB34UWF7.mjs → chunk-AVLIUHOS.mjs} +101 -40
  16. package/dist/{chunk-TSJYAEFZ.js → chunk-B63GEB2Y.js} +358 -305
  17. package/dist/{chunk-CFPKK5WW.js → chunk-BA6TJQZL.js} +12 -12
  18. package/dist/{chunk-LMTUM3J3.js → chunk-BEM7XG2L.js} +2 -4
  19. package/dist/{chunk-MB6U72CI.js → chunk-BEZO5IE4.js} +2 -2
  20. package/dist/{chunk-5OHVTGHS.mjs → chunk-BN4ZKCAI.mjs} +368 -315
  21. package/dist/{chunk-UHFHOTNI.js → chunk-BRA3PO53.js} +6 -7
  22. package/dist/{chunk-M7HBWFQO.js → chunk-BROIZ266.js} +11 -1
  23. package/dist/{chunk-SDZOVRVR.mjs → chunk-CAQPYJFA.mjs} +350 -325
  24. package/dist/{chunk-BFAZZUD6.js → chunk-CC5GFX6F.js} +5 -22
  25. package/dist/{chunk-LQT6ZGME.mjs → chunk-CME2IFUT.mjs} +15 -3
  26. package/dist/{chunk-KQ5I7PRM.js → chunk-CNNEUJR2.js} +28 -14
  27. package/dist/{chunk-EF5ZTNHX.js → chunk-D5MQBUP2.js} +16 -4
  28. package/dist/{chunk-RQXY2MGX.mjs → chunk-D7UR526A.mjs} +231 -184
  29. package/dist/{chunk-CBYJXDW4.js → chunk-DBMC6FPU.js} +16 -4
  30. package/dist/{chunk-WQ4FOHOU.mjs → chunk-DEIVWO2D.mjs} +3 -5
  31. package/dist/{chunk-7QZ4XT2P.mjs → chunk-DVEK5SO6.mjs} +3 -8
  32. package/dist/{chunk-TC6JLEGZ.js → chunk-EJKOUI26.js} +24 -7
  33. package/dist/{chunk-4GITZKAH.mjs → chunk-EPJ6W4VI.mjs} +14 -2
  34. package/dist/{chunk-KYP7U6FK.js → chunk-FZHBVHQ6.js} +34 -25
  35. package/dist/{chunk-WVVXZKNI.js → chunk-GDPU5MYA.js} +3 -8
  36. package/dist/{chunk-2GQCFTD7.mjs → chunk-H4MPPCTB.mjs} +23 -4
  37. package/dist/{chunk-YOAYDEWW.mjs → chunk-HHMYERHY.mjs} +3 -20
  38. package/dist/{chunk-LRPPXU74.mjs → chunk-I7FEGKX2.mjs} +19 -5
  39. package/dist/{chunk-F6IXIH6B.mjs → chunk-IZGXDHPB.mjs} +24 -5
  40. package/dist/{chunk-GQFVVAEF.js → chunk-J6OZWT3P.js} +5 -5
  41. package/dist/{chunk-IGAMV6ML.mjs → chunk-KDXKF6B2.mjs} +1 -1
  42. package/dist/{chunk-A42OLED6.mjs → chunk-KED5S2WG.mjs} +13 -2
  43. package/dist/{chunk-BJQIYELW.mjs → chunk-KGMVRIYC.mjs} +5 -5
  44. package/dist/{chunk-6GYT3EZD.mjs → chunk-KXT2TP6A.mjs} +3 -4
  45. package/dist/{chunk-BBLVRLXT.js → chunk-KYNWNTGO.js} +230 -146
  46. package/dist/{chunk-M73NMNZX.js → chunk-L24PPXLV.js} +17 -5
  47. package/dist/chunk-L3WPA2RP.js +25 -0
  48. package/dist/{chunk-V4JIZN3E.mjs → chunk-L6KSO66F.mjs} +4 -12
  49. package/dist/{chunk-4LX5UGPQ.js → chunk-LJRCEB7F.js} +168 -121
  50. package/dist/{chunk-F7H4ALKN.js → chunk-LZG24TDB.js} +8 -9
  51. package/dist/{chunk-ZYJTHGQW.js → chunk-M3FVPPMM.js} +9 -13
  52. package/dist/{chunk-GN3TSQWW.mjs → chunk-M6YXUNOU.mjs} +2 -2
  53. package/dist/{chunk-I373B74W.js → chunk-MC26ORSN.js} +102 -41
  54. package/dist/{chunk-5HFHHFQS.mjs → chunk-MTIGGMHG.mjs} +17 -5
  55. package/dist/{chunk-DKT2EYVM.mjs → chunk-MV2JQ6XQ.mjs} +3 -6
  56. package/dist/{chunk-HR5GBE3P.js → chunk-NDGA3N6H.js} +19 -7
  57. package/dist/{chunk-BO6QGXMN.mjs → chunk-NEZ445D4.mjs} +9 -9
  58. package/dist/{chunk-4U5HSR2H.js → chunk-NVI2P7VH.js} +3 -4
  59. package/dist/{chunk-NVEIVIAW.mjs → chunk-OFRKYQOZ.mjs} +133 -19
  60. package/dist/{chunk-AW5M3EL4.js → chunk-OS6M3IZF.js} +62 -12
  61. package/dist/{chunk-3ZNZLGQO.mjs → chunk-OXQOKKTP.mjs} +6 -7
  62. package/dist/{chunk-NMEVQPOD.js → chunk-PHAJXRGE.js} +2 -4
  63. package/dist/{chunk-WG3YS2QV.js → chunk-PT5T5F4H.js} +13 -2
  64. package/dist/{chunk-WNLUUD5N.mjs → chunk-QIL24WZD.mjs} +8 -12
  65. package/dist/{chunk-ZFMMAYSX.js → chunk-QLATA4UB.js} +4 -6
  66. package/dist/{chunk-KIYNHQGW.mjs → chunk-RVLV63SI.mjs} +41 -20
  67. package/dist/{chunk-3QPCQH62.mjs → chunk-RYNLPRUM.mjs} +1 -1
  68. package/dist/{chunk-6GIJ7NFV.mjs → chunk-SDZKL3IB.mjs} +3 -5
  69. package/dist/{chunk-G5USITWF.js → chunk-SH4BZYXO.js} +27 -8
  70. package/dist/{chunk-L5AMVEQL.mjs → chunk-SLEXEH7R.mjs} +60 -10
  71. package/dist/{chunk-JLRRXRZO.js → chunk-SQONS5PH.js} +4 -7
  72. package/dist/chunk-SQTOVSDU.mjs +692 -0
  73. package/dist/{chunk-3ZQMHXRY.js → chunk-TEYL5X56.js} +39 -18
  74. package/dist/{chunk-KGSDDVRC.mjs → chunk-TNTOSFGN.mjs} +4 -4
  75. package/dist/{chunk-CY5GRTAX.js → chunk-UAM3RQY4.js} +24 -5
  76. package/dist/{chunk-XRNKHQTL.js → chunk-UEAXYZSE.js} +3 -2
  77. package/dist/{chunk-7ISEWLA3.js → chunk-UKQMF3JV.js} +21 -6
  78. package/dist/{chunk-ITVLIR7T.mjs → chunk-ULWT6W6M.mjs} +13 -20
  79. package/dist/{chunk-M5GSLKUX.mjs → chunk-VAIWWELW.mjs} +15 -3
  80. package/dist/{chunk-4SO4LANY.js → chunk-VC26SAXB.js} +340 -274
  81. package/dist/{chunk-SKMZTW3K.js → chunk-WCTNQYXO.js} +16 -23
  82. package/dist/{chunk-KXNWY2Q7.mjs → chunk-WFWEMXO7.mjs} +241 -157
  83. package/dist/chunk-WHYHLUXG.mjs +25 -0
  84. package/dist/{chunk-ONTRGV5T.js → chunk-WZUADPYB.js} +6 -14
  85. package/dist/{chunk-N4PP3ENO.js → chunk-XTQUPDRI.js} +2 -2
  86. package/dist/{chunk-XATXFVKR.mjs → chunk-Y7K27DVV.mjs} +4 -3
  87. package/dist/{chunk-WI4N5DD3.mjs → chunk-YH57D4AV.mjs} +16 -4
  88. package/dist/{chunk-3MRP3XYI.js → chunk-YRVAF2ID.js} +7 -2
  89. package/dist/{chunk-5XE5VBDS.mjs → chunk-YSGM22AH.mjs} +11 -1
  90. package/dist/{chunk-6TR7JB6C.js → chunk-ZDNQGS4O.js} +4 -4
  91. package/dist/{chunk-CHBUNQIJ.mjs → chunk-ZQSMJS2Q.mjs} +23 -6
  92. package/dist/{chunk-QQFLRNI3.mjs → chunk-ZRZB3C5J.mjs} +18 -3
  93. package/dist/components/ActivityFeed.js +4 -3
  94. package/dist/components/ActivityFeed.mjs +3 -2
  95. package/dist/components/Cascader.d.mts +3 -1
  96. package/dist/components/Cascader.d.ts +3 -1
  97. package/dist/components/Cascader.js +3 -2
  98. package/dist/components/Cascader.mjs +2 -1
  99. package/dist/components/ChatWindow.js +5 -5
  100. package/dist/components/ChatWindow.mjs +4 -4
  101. package/dist/components/Checkbox.js +4 -4
  102. package/dist/components/Checkbox.mjs +3 -3
  103. package/dist/components/CheckboxGroup.js +3 -3
  104. package/dist/components/CheckboxGroup.mjs +2 -2
  105. package/dist/components/CommentThread.js +4 -4
  106. package/dist/components/CommentThread.mjs +3 -3
  107. package/dist/components/CropUpload.js +4 -4
  108. package/dist/components/CropUpload.mjs +3 -3
  109. package/dist/components/DataTableWithToolbar.d.mts +2 -2
  110. package/dist/components/DataTableWithToolbar.d.ts +2 -2
  111. package/dist/components/DataTableWithToolbar.js +11 -11
  112. package/dist/components/DataTableWithToolbar.mjs +10 -10
  113. package/dist/components/DatePicker.d.mts +1 -0
  114. package/dist/components/DatePicker.d.ts +1 -0
  115. package/dist/components/DatePicker.js +3 -2
  116. package/dist/components/DatePicker.mjs +2 -1
  117. package/dist/components/Drawer.js +3 -3
  118. package/dist/components/Drawer.mjs +2 -2
  119. package/dist/components/FileManager.d.mts +2 -1
  120. package/dist/components/FileManager.d.ts +2 -1
  121. package/dist/components/FileManager.js +3 -2
  122. package/dist/components/FileManager.mjs +2 -1
  123. package/dist/components/Form.js +3 -2
  124. package/dist/components/Form.mjs +2 -1
  125. package/dist/components/FormItem.js +4 -3
  126. package/dist/components/FormItem.mjs +3 -2
  127. package/dist/components/FormWizard.js +4 -4
  128. package/dist/components/FormWizard.mjs +3 -3
  129. package/dist/components/Image.js +4 -4
  130. package/dist/components/Image.mjs +3 -3
  131. package/dist/components/ImageGroup.js +3 -3
  132. package/dist/components/ImageGroup.mjs +2 -2
  133. package/dist/components/ImagePreview.js +2 -2
  134. package/dist/components/ImagePreview.mjs +1 -1
  135. package/dist/components/ImageViewer.d.mts +1 -1
  136. package/dist/components/ImageViewer.d.ts +1 -1
  137. package/dist/components/ImageViewer.js +2 -2
  138. package/dist/components/ImageViewer.mjs +1 -1
  139. package/dist/components/InfiniteScroll.d.mts +2 -0
  140. package/dist/components/InfiniteScroll.d.ts +2 -0
  141. package/dist/components/InfiniteScroll.js +3 -2
  142. package/dist/components/InfiniteScroll.mjs +2 -1
  143. package/dist/components/Input.js +3 -2
  144. package/dist/components/Input.mjs +2 -1
  145. package/dist/components/InputNumber.js +3 -2
  146. package/dist/components/InputNumber.mjs +2 -1
  147. package/dist/components/List.d.mts +6 -2
  148. package/dist/components/List.d.ts +6 -2
  149. package/dist/components/List.js +3 -2
  150. package/dist/components/List.mjs +2 -1
  151. package/dist/components/Loading.js +3 -2
  152. package/dist/components/Loading.mjs +2 -1
  153. package/dist/components/MarkdownEditor.js +3 -3
  154. package/dist/components/MarkdownEditor.mjs +2 -2
  155. package/dist/components/Mentions.js +2 -2
  156. package/dist/components/Mentions.mjs +1 -1
  157. package/dist/components/Menu.d.mts +8 -80
  158. package/dist/components/Menu.d.ts +8 -80
  159. package/dist/components/Menu.js +2 -2
  160. package/dist/components/Menu.mjs +1 -1
  161. package/dist/components/MenuItem.d.mts +6 -2
  162. package/dist/components/MenuItem.d.ts +6 -2
  163. package/dist/components/MenuItem.js +2 -2
  164. package/dist/components/MenuItem.mjs +1 -1
  165. package/dist/components/MenuItemGroup.d.mts +6 -2
  166. package/dist/components/MenuItemGroup.d.ts +6 -2
  167. package/dist/components/MenuItemGroup.js +2 -2
  168. package/dist/components/MenuItemGroup.mjs +1 -1
  169. package/dist/components/Message.js +2 -2
  170. package/dist/components/Message.mjs +1 -1
  171. package/dist/components/Modal.js +3 -3
  172. package/dist/components/Modal.mjs +2 -2
  173. package/dist/components/Notification.js +2 -2
  174. package/dist/components/Notification.mjs +1 -1
  175. package/dist/components/NotificationCenter.js +5 -4
  176. package/dist/components/NotificationCenter.mjs +4 -3
  177. package/dist/components/NumberKeyboard.js +3 -2
  178. package/dist/components/NumberKeyboard.mjs +2 -1
  179. package/dist/components/Radio.js +4 -4
  180. package/dist/components/Radio.mjs +3 -3
  181. package/dist/components/RadioGroup.js +3 -3
  182. package/dist/components/RadioGroup.mjs +2 -2
  183. package/dist/components/RichTextEditor.js +3 -3
  184. package/dist/components/RichTextEditor.mjs +2 -2
  185. package/dist/components/Select.d.mts +3 -1
  186. package/dist/components/Select.d.ts +3 -1
  187. package/dist/components/Select.js +3 -2
  188. package/dist/components/Select.mjs +2 -1
  189. package/dist/components/Signature.d.mts +1 -0
  190. package/dist/components/Signature.d.ts +1 -0
  191. package/dist/components/Signature.js +3 -2
  192. package/dist/components/Signature.mjs +2 -1
  193. package/dist/components/Spotlight.js +4 -2
  194. package/dist/components/Spotlight.mjs +3 -1
  195. package/dist/components/Steps.js +2 -2
  196. package/dist/components/Steps.mjs +1 -1
  197. package/dist/components/StepsItem.js +2 -2
  198. package/dist/components/StepsItem.mjs +1 -1
  199. package/dist/components/SubMenu.d.mts +6 -2
  200. package/dist/components/SubMenu.d.ts +6 -2
  201. package/dist/components/SubMenu.js +2 -2
  202. package/dist/components/SubMenu.mjs +1 -1
  203. package/dist/components/Table.d.mts +2 -2
  204. package/dist/components/Table.d.ts +2 -2
  205. package/dist/components/Table.js +9 -9
  206. package/dist/components/Table.mjs +8 -8
  207. package/dist/components/Textarea.js +3 -3
  208. package/dist/components/Textarea.mjs +2 -2
  209. package/dist/components/TimePicker.d.mts +1 -0
  210. package/dist/components/TimePicker.d.ts +1 -0
  211. package/dist/components/TimePicker.js +4 -2
  212. package/dist/components/TimePicker.mjs +3 -1
  213. package/dist/components/Tour.js +3 -2
  214. package/dist/components/Tour.mjs +2 -1
  215. package/dist/components/Transfer.d.mts +3 -1
  216. package/dist/components/Transfer.d.ts +3 -1
  217. package/dist/components/Transfer.js +3 -2
  218. package/dist/components/Transfer.mjs +2 -1
  219. package/dist/components/Tree.d.mts +3 -1
  220. package/dist/components/Tree.d.ts +3 -1
  221. package/dist/components/Tree.js +3 -2
  222. package/dist/components/Tree.mjs +2 -1
  223. package/dist/components/TreeSelect.d.mts +3 -1
  224. package/dist/components/TreeSelect.d.ts +3 -1
  225. package/dist/components/TreeSelect.js +3 -2
  226. package/dist/components/TreeSelect.mjs +2 -1
  227. package/dist/components/Upload.js +3 -2
  228. package/dist/components/Upload.mjs +2 -1
  229. package/dist/components/VirtualTable.d.mts +3 -2
  230. package/dist/components/VirtualTable.d.ts +3 -2
  231. package/dist/components/VirtualTable.js +3 -2
  232. package/dist/components/VirtualTable.mjs +2 -1
  233. package/dist/index.d.mts +33 -7
  234. package/dist/index.d.ts +33 -7
  235. package/dist/index.js +54 -54
  236. package/dist/index.mjs +53 -53
  237. package/dist/{types-CHmCMNEM.d.ts → types-0oVwMXtR.d.mts} +1 -1
  238. package/dist/{types-CHmCMNEM.d.mts → types-0oVwMXtR.d.ts} +1 -1
  239. package/dist/types-DaC4a0Ny.d.mts +80 -0
  240. package/dist/types-DaC4a0Ny.d.ts +80 -0
  241. package/package.json +2 -2
  242. package/dist/chunk-UKGQ7256.js +0 -12
  243. package/dist/chunk-UQMPEMY7.mjs +0 -12
  244. package/dist/chunk-VNVGSPBI.mjs +0 -626
  245. package/dist/{chunk-OZD75CLT.js → chunk-ANBNSUSR.js} +3 -3
  246. package/dist/{chunk-I2AUOICV.mjs → chunk-M3MOSUZO.mjs} +3 -3
  247. package/dist/{chunk-UMZ3PMUJ.js → chunk-SXHCMZ6U.js} +2 -2
  248. package/dist/{chunk-BWDQZSAB.mjs → chunk-WTSG7QXK.mjs} +3 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Textarea
3
- } from "./chunk-7QZ4XT2P.mjs";
3
+ } from "./chunk-DVEK5SO6.mjs";
4
4
  import {
5
5
  Button
6
6
  } from "./chunk-5TE7KLE5.mjs";
@@ -99,13 +99,14 @@ var CommentThread = ({
99
99
  const ACTION_BTN = `${BTN_BASE} text-gray-500 dark:text-gray-400 font-medium flex items-center gap-1.5`;
100
100
  const PRIMARY_BTN = `${BTN_BASE} text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary-hover,#1d4ed8)] dark:text-blue-400 dark:hover:text-blue-300 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10`;
101
101
  const renderNode = (node, depth, isLast) => {
102
- const hasChildren = !!node.children && node.children.length > 0;
102
+ const children = node.children ?? [];
103
+ const hasChildren = children.length > 0;
103
104
  const isExpanded = expandedSet.has(node.id);
104
105
  const showReplies = hasChildren && isExpanded;
105
106
  const showAllReplies = expandedAllKeys.has(node.id);
106
107
  const repliesId = `tiger-comment-replies-${node.id}`;
107
- const visibleChildren = showReplies ? maxReplies > 0 && !showAllReplies ? node.children.slice(0, maxReplies) : node.children : [];
108
- const showLoadMoreBtn = showReplies && maxReplies > 0 && node.children.length > maxReplies && !showAllReplies;
108
+ const visibleChildren = showReplies ? maxReplies > 0 && !showAllReplies ? children.slice(0, maxReplies) : children : [];
109
+ const showLoadMoreBtn = showReplies && maxReplies > 0 && children.length > maxReplies && !showAllReplies;
109
110
  const actions = [];
110
111
  if (showLike) {
111
112
  const likeLabel = node.liked ? likedText : likeText;
@@ -123,7 +124,25 @@ var CommentThread = ({
123
124
  ),
124
125
  onClick: () => onLike?.(node, !node.liked),
125
126
  children: [
126
- /* @__PURE__ */ jsx("svg", { className: classNames("w-3.5 h-3.5 transition-transform duration-200 active:scale-125", node.liked ? "fill-current" : "stroke-current fill-none"), viewBox: "0 0 24 24", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6.633 10.5c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75A2.25 2.25 0 0116.5 4.5c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.421.068.848.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 00-1.423-.23H5.904M14.25 9h2.25M5.904 18.75c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 010-7.764c.26-.85.1083-1.368 1.972-1.368h.908c.445 0 .72.498.523.898a8.963 8.963 0 00-.27.602" }) }),
127
+ /* @__PURE__ */ jsx(
128
+ "svg",
129
+ {
130
+ className: classNames(
131
+ "w-3.5 h-3.5 transition-transform duration-200 active:scale-125",
132
+ node.liked ? "fill-current" : "stroke-current fill-none"
133
+ ),
134
+ viewBox: "0 0 24 24",
135
+ strokeWidth: "2",
136
+ children: /* @__PURE__ */ jsx(
137
+ "path",
138
+ {
139
+ strokeLinecap: "round",
140
+ strokeLinejoin: "round",
141
+ d: "M6.633 10.5c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75A2.25 2.25 0 0116.5 4.5c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.421.068.848.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 00-1.423-.23H5.904M14.25 9h2.25M5.904 18.75c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 010-7.764c.26-.85.1083-1.368 1.972-1.368h.908c.445 0 .72.498.523.898a8.963 8.963 0 00-.27.602"
142
+ }
143
+ )
144
+ }
145
+ ),
127
146
  /* @__PURE__ */ jsx("span", { children: `${likeLabel}${likeCount}` })
128
147
  ]
129
148
  },
@@ -147,7 +166,24 @@ var CommentThread = ({
147
166
  setReplyValue("");
148
167
  },
149
168
  children: [
150
- /* @__PURE__ */ jsx("svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", 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" }) }),
169
+ /* @__PURE__ */ jsx(
170
+ "svg",
171
+ {
172
+ className: "w-3.5 h-3.5",
173
+ viewBox: "0 0 24 24",
174
+ fill: "none",
175
+ stroke: "currentColor",
176
+ strokeWidth: "2",
177
+ children: /* @__PURE__ */ jsx(
178
+ "path",
179
+ {
180
+ strokeLinecap: "round",
181
+ strokeLinejoin: "round",
182
+ 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"
183
+ }
184
+ )
185
+ }
186
+ ),
151
187
  /* @__PURE__ */ jsx("span", { children: replyText })
152
188
  ]
153
189
  },
@@ -168,7 +204,24 @@ var CommentThread = ({
168
204
  ),
169
205
  onClick: () => onMore?.(node),
170
206
  children: [
171
- /* @__PURE__ */ jsx("svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z" }) }),
207
+ /* @__PURE__ */ jsx(
208
+ "svg",
209
+ {
210
+ className: "w-3.5 h-3.5",
211
+ viewBox: "0 0 24 24",
212
+ fill: "none",
213
+ stroke: "currentColor",
214
+ strokeWidth: "2",
215
+ children: /* @__PURE__ */ jsx(
216
+ "path",
217
+ {
218
+ strokeLinecap: "round",
219
+ strokeLinejoin: "round",
220
+ d: "M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z"
221
+ }
222
+ )
223
+ }
224
+ ),
172
225
  /* @__PURE__ */ jsx("span", { children: moreText })
173
226
  ]
174
227
  },
@@ -185,10 +238,7 @@ var CommentThread = ({
185
238
  {
186
239
  size: "sm",
187
240
  variant: action.variant ?? "ghost",
188
- className: classNames(
189
- ACTION_BTN,
190
- "hover:bg-gray-100 dark:hover:bg-gray-800"
191
- ),
241
+ className: classNames(ACTION_BTN, "hover:bg-gray-100 dark:hover:bg-gray-800"),
192
242
  disabled: action.disabled,
193
243
  onClick: () => {
194
244
  action.onClick?.(node, action);
@@ -221,11 +271,55 @@ var CommentThread = ({
221
271
  ) : null,
222
272
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
223
273
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
224
- node.user?.name ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "sm", weight: "bold", className: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer", children: node.user.name }) : null,
225
- node.user?.title ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "xs", color: "muted", className: "bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-gray-500 dark:text-gray-400 font-medium", children: node.user.title }) : null,
226
- node.tag ? /* @__PURE__ */ jsx(Tag, { size: "sm", variant: node.tag.variant ?? "default", className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10", children: node.tag.label }) : null,
227
- node.tags?.map((tag, index) => /* @__PURE__ */ jsx(Tag, { size: "sm", variant: tag.variant ?? "default", className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10", children: tag.label }, `${node.id}-tag-${index}`)),
228
- node.time ? /* @__PURE__ */ jsx(Text, { tag: "span", size: "xs", color: "muted", className: "ml-auto text-gray-400 dark:text-gray-500 font-normal", children: formatCommentTime(node.time) }) : null
274
+ node.user?.name ? /* @__PURE__ */ jsx(
275
+ Text,
276
+ {
277
+ tag: "span",
278
+ size: "sm",
279
+ weight: "bold",
280
+ className: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer",
281
+ children: node.user.name
282
+ }
283
+ ) : null,
284
+ node.user?.title ? /* @__PURE__ */ jsx(
285
+ Text,
286
+ {
287
+ tag: "span",
288
+ size: "xs",
289
+ color: "muted",
290
+ className: "bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-gray-500 dark:text-gray-400 font-medium",
291
+ children: node.user.title
292
+ }
293
+ ) : null,
294
+ node.tag ? /* @__PURE__ */ jsx(
295
+ Tag,
296
+ {
297
+ size: "sm",
298
+ variant: node.tag.variant ?? "default",
299
+ className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10",
300
+ children: node.tag.label
301
+ }
302
+ ) : null,
303
+ node.tags?.map((tag, index) => /* @__PURE__ */ jsx(
304
+ Tag,
305
+ {
306
+ size: "sm",
307
+ variant: tag.variant ?? "default",
308
+ className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10",
309
+ children: tag.label
310
+ },
311
+ `${node.id}-tag-${index}`
312
+ )),
313
+ node.time ? /* @__PURE__ */ jsx(
314
+ Text,
315
+ {
316
+ tag: "span",
317
+ size: "xs",
318
+ color: "muted",
319
+ className: "ml-auto text-gray-400 dark:text-gray-500 font-normal",
320
+ children: formatCommentTime(node.time)
321
+ }
322
+ ) : null
229
323
  ] }),
230
324
  /* @__PURE__ */ jsx("div", { className: "text-sm text-gray-600 dark:text-gray-300 leading-relaxed break-words mt-2 mb-3 pr-2", children: node.content }),
231
325
  actions.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-1.5", children: actions }) : null,
@@ -271,11 +365,14 @@ var CommentThread = ({
271
365
  {
272
366
  size: "sm",
273
367
  variant: "ghost",
274
- className: classNames("mt-2 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10 transition-colors", PRIMARY_BTN),
368
+ className: classNames(
369
+ "mt-2 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10 transition-colors",
370
+ PRIMARY_BTN
371
+ ),
275
372
  "aria-expanded": isExpanded,
276
373
  "aria-controls": repliesId,
277
374
  onClick: () => toggleExpanded(node.id),
278
- children: isExpanded ? "\u25BE \u6536\u8D77\u56DE\u590D" : `\u25B8 \u5C55\u5F00 ${node.children.length} \u6761\u56DE\u590D`
375
+ children: isExpanded ? "\u25BE \u6536\u8D77\u56DE\u590D" : `\u25B8 \u5C55\u5F00 ${children.length} \u6761\u56DE\u590D`
279
376
  }
280
377
  ) : null,
281
378
  showReplies ? /* @__PURE__ */ jsxs(
@@ -315,7 +412,24 @@ var CommentThread = ({
315
412
  "aria-label": divProps["aria-label"] ?? (divProps["aria-labelledby"] ? void 0 : "\u8BC4\u8BBA\u7EBF\u7A0B"),
316
413
  ...divProps,
317
414
  children: resolvedNodes.length === 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center border border-dashed border-gray-200 dark:border-gray-800/80 rounded-xl py-12 px-4 bg-gray-50/20 dark:bg-gray-900/5 transition-colors", children: [
318
- /* @__PURE__ */ jsx("svg", { className: "w-10 h-10 text-gray-300 dark:text-gray-600 mb-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", 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" }) }),
415
+ /* @__PURE__ */ jsx(
416
+ "svg",
417
+ {
418
+ className: "w-10 h-10 text-gray-300 dark:text-gray-600 mb-3",
419
+ fill: "none",
420
+ viewBox: "0 0 24 24",
421
+ stroke: "currentColor",
422
+ strokeWidth: "1.5",
423
+ children: /* @__PURE__ */ jsx(
424
+ "path",
425
+ {
426
+ strokeLinecap: "round",
427
+ strokeLinejoin: "round",
428
+ 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"
429
+ }
430
+ )
431
+ }
432
+ ),
319
433
  /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "font-medium", children: emptyText })
320
434
  ] }) : resolvedNodes.map((node, index) => renderNode(node, 1, index === resolvedNodes.length - 1))
321
435
  }
@@ -4,13 +4,13 @@
4
4
  var _chunkRFHPG4KNjs = require('./chunk-RFHPG4KN.js');
5
5
 
6
6
 
7
- var _chunkWG3YS2QVjs = require('./chunk-WG3YS2QV.js');
7
+ var _chunkPT5T5F4Hjs = require('./chunk-PT5T5F4H.js');
8
8
 
9
9
 
10
10
  var _chunkZLNBE4ISjs = require('./chunk-ZLNBE4IS.js');
11
11
 
12
12
 
13
- var _chunk3MRP3XYIjs = require('./chunk-3MRP3XYI.js');
13
+ var _chunkYRVAF2IDjs = require('./chunk-YRVAF2ID.js');
14
14
 
15
15
 
16
16
  var _chunkUF3DXKCIjs = require('./chunk-UF3DXKCI.js');
@@ -208,15 +208,30 @@ var NotificationCenter = ({
208
208
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0", children: [
209
209
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-baseline justify-between gap-2", children: [
210
210
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5", children: [
211
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "span", size: "sm", weight: isRead ? "normal" : "semibold", className: isRead ? "text-gray-600 dark:text-gray-400" : "text-gray-900 dark:text-gray-100", children: item.title }),
211
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
212
+ _chunkUF3DXKCIjs.Text,
213
+ {
214
+ tag: "span",
215
+ size: "sm",
216
+ weight: isRead ? "normal" : "semibold",
217
+ className: isRead ? "text-gray-600 dark:text-gray-400" : "text-gray-900 dark:text-gray-100",
218
+ children: item.title
219
+ }
220
+ ),
212
221
  !isRead && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-1.5 h-1.5 rounded-full bg-blue-500 dark:bg-blue-400 shrink-0 shadow-sm shadow-blue-500/40 animate-pulse" })
213
222
  ] }),
214
223
  timeText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[11px] text-gray-400 dark:text-gray-500 font-medium whitespace-nowrap flex-shrink-0 self-center", children: timeText }) : null
215
224
  ] }),
216
- item.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0,
217
- "mt-1 text-xs leading-relaxed line-clamp-2",
218
- isRead ? "text-gray-500 dark:text-gray-400" : "text-gray-600 dark:text-gray-300"
219
- ), children: item.description }) : null
225
+ item.description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
226
+ "div",
227
+ {
228
+ className: _tigercatcore.classNames.call(void 0,
229
+ "mt-1 text-xs leading-relaxed line-clamp-2",
230
+ isRead ? "text-gray-500 dark:text-gray-400" : "text-gray-600 dark:text-gray-300"
231
+ ),
232
+ children: item.description
233
+ }
234
+ ) : null
220
235
  ] }),
221
236
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
222
237
  _chunkZLNBE4ISjs.Button,
@@ -245,12 +260,38 @@ var NotificationCenter = ({
245
260
  const renderList = (listItems) => {
246
261
  if (listItems.length === 0) {
247
262
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center py-14 px-4 text-center", children: [
248
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-3.5 bg-gray-50 dark:bg-gray-900 rounded-full mb-3 shadow-inner", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { className: "w-8 h-8 text-gray-400 dark:text-gray-600 animate-pulse", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0" }) }) }),
249
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "sm", color: "muted", className: "font-semibold text-gray-400 dark:text-gray-500", children: emptyText })
263
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "p-3.5 bg-gray-50 dark:bg-gray-900 rounded-full mb-3 shadow-inner", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
264
+ "svg",
265
+ {
266
+ className: "w-8 h-8 text-gray-400 dark:text-gray-600 animate-pulse",
267
+ fill: "none",
268
+ viewBox: "0 0 24 24",
269
+ stroke: "currentColor",
270
+ strokeWidth: "1.5",
271
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
272
+ "path",
273
+ {
274
+ strokeLinecap: "round",
275
+ strokeLinejoin: "round",
276
+ d: "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0"
277
+ }
278
+ )
279
+ }
280
+ ) }),
281
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
282
+ _chunkUF3DXKCIjs.Text,
283
+ {
284
+ tag: "div",
285
+ size: "sm",
286
+ color: "muted",
287
+ className: "font-semibold text-gray-400 dark:text-gray-500",
288
+ children: emptyText
289
+ }
290
+ )
250
291
  ] });
251
292
  }
252
293
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
253
- _chunkWG3YS2QVjs.List,
294
+ _chunkPT5T5F4Hjs.List,
254
295
  {
255
296
  dataSource: listItems,
256
297
  split: true,
@@ -262,7 +303,7 @@ var NotificationCenter = ({
262
303
  }
263
304
  );
264
305
  };
265
- const content = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3MRP3XYIjs.Loading, { text: loadingText, className: "text-blue-500 dark:text-blue-400 font-medium" }) }) : resolvedGroups.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "-mx-4 -mb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFHPG4KNjs.Tabs, { type: "line", size: "small", activeKey: currentGroupKey, onChange: handleGroupChange, children: groupTabData.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFHPG4KNjs.TabPane, { tabKey: tab.key, label: tab.label, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-[380px] overflow-y-auto", children: renderList(tab.filteredItems) }) }, String(tab.key))) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto", children: renderList(filteredFlatItems) });
306
+ const content = loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYRVAF2IDjs.Loading, { text: loadingText, className: "text-blue-500 dark:text-blue-400 font-medium" }) }) : resolvedGroups.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "-mx-4 -mb-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFHPG4KNjs.Tabs, { type: "line", size: "small", activeKey: currentGroupKey, onChange: handleGroupChange, children: groupTabData.map((tab) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRFHPG4KNjs.TabPane, { tabKey: tab.key, label: tab.label, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-[380px] overflow-y-auto", children: renderList(tab.filteredItems) }) }, String(tab.key))) }) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto", children: renderList(filteredFlatItems) });
266
307
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
267
308
  "div",
268
309
  {
@@ -279,7 +320,16 @@ var NotificationCenter = ({
279
320
  header: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-3", children: [
280
321
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between", children: [
281
322
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2.5", children: [
282
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUF3DXKCIjs.Text, { tag: "div", size: "base", weight: "bold", className: "text-gray-900 dark:text-gray-100", children: title }),
323
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
324
+ _chunkUF3DXKCIjs.Text,
325
+ {
326
+ tag: "div",
327
+ size: "base",
328
+ weight: "bold",
329
+ className: "text-gray-900 dark:text-gray-100",
330
+ children: title
331
+ }
332
+ ),
283
333
  totalUnread > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 text-[11px] font-bold rounded-full bg-gradient-to-r from-blue-500 to-indigo-600 text-white shadow-sm shadow-blue-500/20 animate-pulse", children: totalUnread }) : null
284
334
  ] }),
285
335
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1,3 +1,6 @@
1
+ import {
2
+ useControlledState
3
+ } from "./chunk-WHYHLUXG.mjs";
1
4
  import {
2
5
  useTigerConfig
3
6
  } from "./chunk-QAIBQHIO.mjs";
@@ -76,16 +79,12 @@ var Upload = ({
76
79
  );
77
80
  const inputRef = useRef(null);
78
81
  const [isDragging, setIsDragging] = useState(false);
79
- const [internalFileList, setInternalFileList] = useState([]);
80
- const isControlled = controlledFileList !== void 0;
81
- const fileList = isControlled ? controlledFileList : internalFileList;
82
+ const [fileList, setFileList] = useControlledState(controlledFileList, []);
82
83
  const updateFileList = useCallback(
83
84
  (newFileList) => {
84
- if (!isControlled) {
85
- setInternalFileList(newFileList);
86
- }
85
+ setFileList(newFileList);
87
86
  },
88
- [isControlled]
87
+ [setFileList]
89
88
  );
90
89
  const handleClick = () => {
91
90
  if (disabled) return;
@@ -23,6 +23,7 @@ var _client = require('react-dom/client');
23
23
 
24
24
 
25
25
 
26
+
26
27
  var _tigercatcore = require('@expcat/tigercat-core');
27
28
  var _jsxruntime = require('react/jsx-runtime');
28
29
  var NOTIFICATION_CONTAINER_ID_PREFIX = "tiger-notification-container";
@@ -32,7 +33,6 @@ var notificationInstancesByPosition = {
32
33
  "bottom-left": [],
33
34
  "bottom-right": []
34
35
  };
35
- var instanceIdCounter = 0;
36
36
  var containerRoots = {
37
37
  "top-left": null,
38
38
  "top-right": null,
@@ -51,9 +51,7 @@ function scheduleNotificationStackUpdate(position) {
51
51
  if (!callback) return;
52
52
  stackUpdateScheduler.schedule(position, callback);
53
53
  }
54
- function getNextInstanceId() {
55
- return ++instanceIdCounter;
56
- }
54
+ var getNextInstanceId = _tigercatcore.createInstanceCounter.call(void 0, );
57
55
  var NotificationItem = ({ notification: notification2, onClose }) => {
58
56
  const [isVisible, setIsVisible] = _react.useState.call(void 0, false);
59
57
  _react.useEffect.call(void 0, () => {
@@ -2,6 +2,9 @@
2
2
 
3
3
  var _chunkP36GX65Njs = require('./chunk-P36GX65N.js');
4
4
 
5
+
6
+ var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
7
+
5
8
  // src/components/List.tsx
6
9
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
7
10
 
@@ -29,6 +32,8 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
29
32
 
30
33
 
31
34
 
35
+
36
+
32
37
 
33
38
 
34
39
 
@@ -54,7 +59,8 @@ var List = ({
54
59
  size = "md",
55
60
  bordered = "divided",
56
61
  loading = false,
57
- emptyText = "No data",
62
+ emptyText,
63
+ locale,
58
64
  split = true,
59
65
  itemLayout = "horizontal",
60
66
  header,
@@ -75,6 +81,11 @@ var List = ({
75
81
  onReorder,
76
82
  ...divProps
77
83
  }) => {
84
+ const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
85
+ const mergedLocale = _react.useMemo.call(void 0,
86
+ () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
87
+ [config.locale, locale]
88
+ );
78
89
  const [currentPage, setCurrentPage] = _react.useState.call(void 0,
79
90
  pagination && typeof pagination === "object" ? pagination.current || 1 : 1
80
91
  );
@@ -232,7 +243,7 @@ var List = ({
232
243
  return null;
233
244
  }
234
245
  if (paginatedData.length === 0) {
235
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.listEmptyStateClasses, role: "status", "aria-live": "polite", children: emptyText });
246
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.listEmptyStateClasses, role: "status", "aria-live": "polite", children: _tigercatcore.resolveLocaleText.call(void 0, "No data", emptyText, _optionalChain([mergedLocale, 'optionalAccess', _5 => _5.common, 'optionalAccess', _6 => _6.emptyText])) });
236
247
  }
237
248
  const items = paginatedData.map((item, index) => renderListItem(item, index));
238
249
  if (grid) {
@@ -1,3 +1,7 @@
1
+ import {
2
+ useControlledState
3
+ } from "./chunk-WHYHLUXG.mjs";
4
+
1
5
  // src/components/Input.tsx
2
6
  import { useState, useEffect, useRef, useCallback, useId } from "react";
3
7
  import {
@@ -51,7 +55,7 @@ var Input = ({
51
55
  const inputRef = useRef(null);
52
56
  const reactId = useId();
53
57
  const errorMsgId = `tiger-input-error-${reactId}`;
54
- const [internalValue, setInternalValue] = useState(defaultValue ?? "");
58
+ const [inputValue, setInputValue] = useControlledState(value, defaultValue ?? "");
55
59
  const [passwordVisible, setPasswordVisible] = useState(false);
56
60
  useEffect(() => {
57
61
  if (status === "error" && wrapperRef.current) {
@@ -64,25 +68,17 @@ var Input = ({
64
68
  const handleAnimationEnd = useCallback(() => {
65
69
  wrapperRef.current?.classList.remove(SHAKE_CLASS);
66
70
  }, []);
67
- const isControlled = value !== void 0;
68
- const inputValue = isControlled ? value : internalValue;
69
71
  const currentValStr = String(inputValue);
70
72
  const handleInput = (event) => {
71
- if (!isControlled) {
72
- setInternalValue(parseInputValue(event.currentTarget, type));
73
- }
73
+ setInputValue(parseInputValue(event.currentTarget, type));
74
74
  onInput?.(event);
75
75
  };
76
76
  const handleChange = (event) => {
77
- if (!isControlled) {
78
- setInternalValue(parseInputValue(event.currentTarget, type));
79
- }
77
+ setInputValue(parseInputValue(event.currentTarget, type));
80
78
  onChange?.(event);
81
79
  };
82
80
  const handleClear = () => {
83
- if (!isControlled) {
84
- setInternalValue("");
85
- }
81
+ setInputValue("");
86
82
  onClear?.();
87
83
  inputRef.current?.focus();
88
84
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkUKGQ7256js = require('./chunk-UKGQ7256.js');
3
+ var _chunkL3WPA2RPjs = require('./chunk-L3WPA2RP.js');
4
4
 
5
5
  // src/components/RadioGroup.tsx
6
6
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
@@ -18,7 +18,7 @@ var RadioGroup = ({
18
18
  className,
19
19
  ...props
20
20
  }) => {
21
- const [currentValue, setInternalValue, isControlled] = _chunkUKGQ7256js.useControlledState.call(void 0, value, defaultValue);
21
+ const [currentValue, setValue] = _chunkL3WPA2RPjs.useControlledState.call(void 0, value, defaultValue);
22
22
  const generatedNameRef = _react.useRef.call(void 0,
23
23
  `tiger-radio-group-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`
24
24
  );
@@ -26,12 +26,10 @@ var RadioGroup = ({
26
26
  const handleChange = _react.useCallback.call(void 0,
27
27
  (newValue) => {
28
28
  if (disabled) return;
29
- if (!isControlled) {
30
- setInternalValue(newValue);
31
- }
29
+ setValue(newValue);
32
30
  _optionalChain([onChange, 'optionalCall', _ => _(newValue)]);
33
31
  },
34
- [disabled, isControlled, setInternalValue, onChange]
32
+ [disabled, setValue, onChange]
35
33
  );
36
34
  const handleKeyDown = (event) => {
37
35
  if (disabled) return;