@expcat/tigercat-vue 1.2.19 → 1.2.30

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 (235) hide show
  1. package/dist/{chunk-OK7MTFAX.mjs → chunk-4GYBJBFJ.mjs} +76 -19
  2. package/dist/{chunk-YCBU3C4T.mjs → chunk-4J5EK3WY.mjs} +100 -35
  3. package/dist/{chunk-2C5TOAYI.js → chunk-663C2UX7.js} +2 -2
  4. package/dist/{chunk-P453RVKY.js → chunk-6G5IMGTC.js} +85 -14
  5. package/dist/{chunk-5ZAIW5W3.mjs → chunk-AQE5RZDE.mjs} +1 -1
  6. package/dist/{chunk-DYJ4Z47L.mjs → chunk-BPRKQVIL.mjs} +143 -46
  7. package/dist/{chunk-KOLARHCT.js → chunk-DEDRUUK4.js} +1 -0
  8. package/dist/{chunk-OW5D4LU6.js → chunk-DPHLBHJY.js} +86 -19
  9. package/dist/{chunk-VPNIZPIF.js → chunk-DS7RQFEG.js} +15 -2
  10. package/dist/{chunk-BGMQIUPP.js → chunk-EU4IGIPC.js} +7 -4
  11. package/dist/{chunk-V6YR7CPK.js → chunk-F4FPIIVT.js} +56 -21
  12. package/dist/{chunk-CN7HFUFN.mjs → chunk-F5S26BR3.mjs} +7 -4
  13. package/dist/{chunk-YCBLL5K3.js → chunk-FKLK6RHZ.js} +76 -19
  14. package/dist/{chunk-U5S3ZEYZ.js → chunk-H5JDEKIV.js} +100 -35
  15. package/dist/{chunk-54G23KA7.mjs → chunk-IXJSZIAE.mjs} +21 -5
  16. package/dist/{chunk-XMGU52S5.js → chunk-L6W3XL3A.js} +143 -46
  17. package/dist/{chunk-ATRF7NPJ.mjs → chunk-LFQWJILV.mjs} +55 -20
  18. package/dist/{chunk-NMVKDWMK.mjs → chunk-MTYDCYGW.mjs} +83 -16
  19. package/dist/{chunk-F5JPUPWI.mjs → chunk-OF4MY6EC.mjs} +1 -0
  20. package/dist/{chunk-KLX7YHP2.mjs → chunk-OZLSZQXF.mjs} +83 -12
  21. package/dist/{chunk-PUSTYAMS.mjs → chunk-RE7K3KNW.mjs} +16 -3
  22. package/dist/{chunk-IIEMDA36.mjs → chunk-S45NWVQS.mjs} +14 -8
  23. package/dist/{chunk-CBZIVUCJ.js → chunk-VES3OJOP.js} +14 -8
  24. package/dist/{chunk-O5DBHXGJ.js → chunk-ZNGRSXFK.js} +21 -5
  25. package/dist/components/ActivityFeed.d.mts +6 -6
  26. package/dist/components/ActivityFeed.d.ts +6 -6
  27. package/dist/components/ActivityFeed.js +2 -2
  28. package/dist/components/ActivityFeed.mjs +1 -1
  29. package/dist/components/Affix.d.mts +4 -4
  30. package/dist/components/Affix.d.ts +4 -4
  31. package/dist/components/Alert.d.mts +3 -3
  32. package/dist/components/Alert.d.ts +3 -3
  33. package/dist/components/Anchor.d.mts +2 -2
  34. package/dist/components/Anchor.d.ts +2 -2
  35. package/dist/components/AreaChart.d.mts +2 -2
  36. package/dist/components/AreaChart.d.ts +2 -2
  37. package/dist/components/AutoComplete.d.mts +1 -1
  38. package/dist/components/AutoComplete.d.ts +1 -1
  39. package/dist/components/Avatar.d.mts +2 -2
  40. package/dist/components/Avatar.d.ts +2 -2
  41. package/dist/components/AvatarGroup.d.mts +1 -1
  42. package/dist/components/AvatarGroup.d.ts +1 -1
  43. package/dist/components/BackTop.d.mts +1 -1
  44. package/dist/components/BackTop.d.ts +1 -1
  45. package/dist/components/Badge.d.mts +4 -4
  46. package/dist/components/Badge.d.ts +4 -4
  47. package/dist/components/BarChart.d.mts +1 -1
  48. package/dist/components/BarChart.d.ts +1 -1
  49. package/dist/components/Breadcrumb.d.mts +2 -2
  50. package/dist/components/Breadcrumb.d.ts +2 -2
  51. package/dist/components/Button.d.mts +5 -5
  52. package/dist/components/Button.d.ts +5 -5
  53. package/dist/components/ButtonGroup.d.mts +1 -1
  54. package/dist/components/ButtonGroup.d.ts +1 -1
  55. package/dist/components/Calendar.d.mts +1 -1
  56. package/dist/components/Calendar.d.ts +1 -1
  57. package/dist/components/Card.d.mts +3 -3
  58. package/dist/components/Card.d.ts +3 -3
  59. package/dist/components/ChartGrid.d.mts +1 -1
  60. package/dist/components/ChartGrid.d.ts +1 -1
  61. package/dist/components/ChatWindow.d.mts +2 -2
  62. package/dist/components/ChatWindow.d.ts +2 -2
  63. package/dist/components/ChatWindow.js +3 -2
  64. package/dist/components/ChatWindow.mjs +2 -1
  65. package/dist/components/CodeEditor.d.mts +1 -1
  66. package/dist/components/CodeEditor.d.ts +1 -1
  67. package/dist/components/Collapse.d.mts +1 -1
  68. package/dist/components/Collapse.d.ts +1 -1
  69. package/dist/components/ColorSwatch.d.mts +1 -1
  70. package/dist/components/ColorSwatch.d.ts +1 -1
  71. package/dist/components/CommentThread.d.mts +3 -3
  72. package/dist/components/CommentThread.d.ts +3 -3
  73. package/dist/components/CommentThread.js +2 -2
  74. package/dist/components/CommentThread.mjs +1 -1
  75. package/dist/components/ConfigProvider.d.mts +1 -1
  76. package/dist/components/ConfigProvider.d.ts +1 -1
  77. package/dist/components/Countdown.d.mts +1 -1
  78. package/dist/components/Countdown.d.ts +1 -1
  79. package/dist/components/CropUpload.js +2 -2
  80. package/dist/components/CropUpload.mjs +1 -1
  81. package/dist/components/DataTableWithToolbar.d.mts +7 -7
  82. package/dist/components/DataTableWithToolbar.d.ts +7 -7
  83. package/dist/components/DataTableWithToolbar.js +4 -3
  84. package/dist/components/DataTableWithToolbar.mjs +3 -2
  85. package/dist/components/DatePicker.d.mts +3 -3
  86. package/dist/components/DatePicker.d.ts +3 -3
  87. package/dist/components/Descriptions.d.mts +3 -3
  88. package/dist/components/Descriptions.d.ts +3 -3
  89. package/dist/components/DonutChart.d.mts +2 -2
  90. package/dist/components/DonutChart.d.ts +2 -2
  91. package/dist/components/Drawer.d.mts +6 -6
  92. package/dist/components/Drawer.d.ts +6 -6
  93. package/dist/components/FileManager.d.mts +2 -2
  94. package/dist/components/FileManager.d.ts +2 -2
  95. package/dist/components/FloatButton.d.mts +4 -4
  96. package/dist/components/FloatButton.d.ts +4 -4
  97. package/dist/components/Form.d.mts +1 -1
  98. package/dist/components/Form.d.ts +1 -1
  99. package/dist/components/FormWizard.d.mts +11 -2
  100. package/dist/components/FormWizard.d.ts +11 -2
  101. package/dist/components/FormWizard.js +3 -3
  102. package/dist/components/FormWizard.mjs +2 -2
  103. package/dist/components/FunnelChart.d.mts +2 -2
  104. package/dist/components/FunnelChart.d.ts +2 -2
  105. package/dist/components/Gantt.d.mts +1 -1
  106. package/dist/components/Gantt.d.ts +1 -1
  107. package/dist/components/GaugeChart.d.mts +3 -3
  108. package/dist/components/GaugeChart.d.ts +3 -3
  109. package/dist/components/HeatmapChart.d.mts +2 -2
  110. package/dist/components/HeatmapChart.d.ts +2 -2
  111. package/dist/components/Image.d.mts +2 -2
  112. package/dist/components/Image.d.ts +2 -2
  113. package/dist/components/ImageAnnotation.d.mts +2 -2
  114. package/dist/components/ImageAnnotation.d.ts +2 -2
  115. package/dist/components/ImagePreview.d.mts +1 -1
  116. package/dist/components/ImagePreview.d.ts +1 -1
  117. package/dist/components/InfiniteScroll.d.mts +2 -2
  118. package/dist/components/InfiniteScroll.d.ts +2 -2
  119. package/dist/components/Input.d.mts +5 -5
  120. package/dist/components/Input.d.ts +5 -5
  121. package/dist/components/InputGroup.d.mts +2 -2
  122. package/dist/components/InputGroup.d.ts +2 -2
  123. package/dist/components/InputNumber.d.mts +3 -3
  124. package/dist/components/InputNumber.d.ts +3 -3
  125. package/dist/components/Kanban.js +3 -3
  126. package/dist/components/Kanban.mjs +2 -2
  127. package/dist/components/LineChart.d.mts +2 -2
  128. package/dist/components/LineChart.d.ts +2 -2
  129. package/dist/components/Link.d.mts +1 -1
  130. package/dist/components/Link.d.ts +1 -1
  131. package/dist/components/List.d.mts +6 -6
  132. package/dist/components/List.d.ts +6 -6
  133. package/dist/components/Loading.d.mts +6 -6
  134. package/dist/components/Loading.d.ts +6 -6
  135. package/dist/components/MarkdownEditor.d.mts +1 -1
  136. package/dist/components/MarkdownEditor.d.ts +1 -1
  137. package/dist/components/Menu.d.mts +13 -3
  138. package/dist/components/Menu.d.ts +13 -3
  139. package/dist/components/Menu.js +2 -2
  140. package/dist/components/Menu.mjs +1 -1
  141. package/dist/components/MenuItem.js +3 -3
  142. package/dist/components/MenuItem.mjs +1 -1
  143. package/dist/components/MenuItemGroup.js +3 -3
  144. package/dist/components/MenuItemGroup.mjs +1 -1
  145. package/dist/components/Modal.d.mts +6 -6
  146. package/dist/components/Modal.d.ts +6 -6
  147. package/dist/components/NotificationCenter.d.mts +7 -7
  148. package/dist/components/NotificationCenter.d.ts +7 -7
  149. package/dist/components/NotificationCenter.js +2 -2
  150. package/dist/components/NotificationCenter.mjs +1 -1
  151. package/dist/components/NumberKeyboard.d.mts +1 -1
  152. package/dist/components/NumberKeyboard.d.ts +1 -1
  153. package/dist/components/OrgChart.d.mts +2 -2
  154. package/dist/components/OrgChart.d.ts +2 -2
  155. package/dist/components/Pagination.d.mts +3 -3
  156. package/dist/components/Pagination.d.ts +3 -3
  157. package/dist/components/PieChart.d.mts +2 -2
  158. package/dist/components/PieChart.d.ts +2 -2
  159. package/dist/components/Popconfirm.d.mts +1 -1
  160. package/dist/components/Popconfirm.d.ts +1 -1
  161. package/dist/components/Popover.d.mts +4 -4
  162. package/dist/components/Popover.d.ts +4 -4
  163. package/dist/components/Progress.d.mts +7 -7
  164. package/dist/components/Progress.d.ts +7 -7
  165. package/dist/components/QRCode.d.mts +2 -2
  166. package/dist/components/QRCode.d.ts +2 -2
  167. package/dist/components/RadarChart.d.mts +2 -2
  168. package/dist/components/RadarChart.d.ts +2 -2
  169. package/dist/components/RichTextEditor.d.mts +1 -1
  170. package/dist/components/RichTextEditor.d.ts +1 -1
  171. package/dist/components/Row.d.mts +1 -1
  172. package/dist/components/Row.d.ts +1 -1
  173. package/dist/components/ScatterChart.d.mts +1 -1
  174. package/dist/components/ScatterChart.d.ts +1 -1
  175. package/dist/components/ScrollSpy.d.mts +2 -2
  176. package/dist/components/ScrollSpy.d.ts +2 -2
  177. package/dist/components/Segmented.d.mts +2 -2
  178. package/dist/components/Segmented.d.ts +2 -2
  179. package/dist/components/Signature.d.mts +4 -4
  180. package/dist/components/Signature.d.ts +4 -4
  181. package/dist/components/Skeleton.d.mts +2 -2
  182. package/dist/components/Skeleton.d.ts +2 -2
  183. package/dist/components/Slider.d.mts +1 -1
  184. package/dist/components/Slider.d.ts +1 -1
  185. package/dist/components/Space.d.mts +2 -2
  186. package/dist/components/Space.d.ts +2 -2
  187. package/dist/components/Spotlight.d.mts +6 -6
  188. package/dist/components/Spotlight.d.ts +6 -6
  189. package/dist/components/Statistic.d.mts +1 -1
  190. package/dist/components/Statistic.d.ts +1 -1
  191. package/dist/components/Steps.d.mts +2 -2
  192. package/dist/components/Steps.d.ts +2 -2
  193. package/dist/components/Steps.js +2 -2
  194. package/dist/components/Steps.mjs +1 -1
  195. package/dist/components/StepsItem.js +3 -3
  196. package/dist/components/StepsItem.mjs +1 -1
  197. package/dist/components/SubMenu.js +3 -3
  198. package/dist/components/SubMenu.mjs +1 -1
  199. package/dist/components/SunburstChart.d.mts +1 -1
  200. package/dist/components/SunburstChart.d.ts +1 -1
  201. package/dist/components/Table.d.mts +5 -5
  202. package/dist/components/Table.d.ts +5 -5
  203. package/dist/components/Table.js +3 -2
  204. package/dist/components/Table.mjs +2 -1
  205. package/dist/components/Tabs.d.mts +3 -3
  206. package/dist/components/Tabs.d.ts +3 -3
  207. package/dist/components/Tag.d.mts +2 -2
  208. package/dist/components/Tag.d.ts +2 -2
  209. package/dist/components/TaskBoard.js +2 -2
  210. package/dist/components/TaskBoard.mjs +1 -1
  211. package/dist/components/Text.d.mts +3 -3
  212. package/dist/components/Text.d.ts +3 -3
  213. package/dist/components/Textarea.d.mts +2 -2
  214. package/dist/components/Textarea.d.ts +2 -2
  215. package/dist/components/TimePicker.d.mts +3 -3
  216. package/dist/components/TimePicker.d.ts +3 -3
  217. package/dist/components/Timeline.d.mts +1 -1
  218. package/dist/components/Timeline.d.ts +1 -1
  219. package/dist/components/Tooltip.d.mts +1 -1
  220. package/dist/components/Tooltip.d.ts +1 -1
  221. package/dist/components/Tour.d.mts +1 -1
  222. package/dist/components/Tour.d.ts +1 -1
  223. package/dist/components/Tree.d.mts +4 -4
  224. package/dist/components/Tree.d.ts +4 -4
  225. package/dist/components/TreeMapChart.d.mts +1 -1
  226. package/dist/components/TreeMapChart.d.ts +1 -1
  227. package/dist/components/Upload.d.mts +3 -3
  228. package/dist/components/Upload.d.ts +3 -3
  229. package/dist/components/VirtualTable.d.mts +3 -3
  230. package/dist/components/VirtualTable.d.ts +3 -3
  231. package/dist/components/Watermark.d.mts +6 -6
  232. package/dist/components/Watermark.d.ts +6 -6
  233. package/dist/index.js +16 -16
  234. package/dist/index.mjs +15 -15
  235. package/package.json +2 -2
@@ -163,23 +163,9 @@ var CommentThread = defineComponent({
163
163
  updateExpandedKeys(next);
164
164
  }
165
165
  };
166
- const BTN_BASE = "px-1.5 py-0.5 h-auto min-h-0 text-xs rounded";
167
- const ACTION_BTN = `${BTN_BASE} text-gray-400 hover:text-gray-600 font-normal hover:bg-gray-50`;
168
- const PRIMARY_BTN = `${BTN_BASE} text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary-hover,#1d4ed8)] font-medium hover:bg-[var(--tiger-primary,#2563eb)]/5`;
169
- const renderActionButton = (label, key, onClick, active) => h(
170
- Button,
171
- {
172
- key,
173
- size: "sm",
174
- variant: "ghost",
175
- className: classNames(
176
- ACTION_BTN,
177
- active && "text-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] font-medium"
178
- ),
179
- onClick
180
- },
181
- { default: () => label }
182
- );
166
+ const BTN_BASE = "px-2 py-0.5 h-auto min-h-0 text-xs rounded-md transition-all duration-200 ease-out";
167
+ const ACTION_BTN = `${BTN_BASE} text-gray-500 dark:text-gray-400 font-medium flex items-center gap-1.5`;
168
+ 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`;
183
169
  const renderNode = (node, depth, isLast) => {
184
170
  const hasChildren = !!node.children && node.children.length > 0;
185
171
  const isExpanded = expandedSet.value.has(node.id);
@@ -193,24 +179,110 @@ var CommentThread = defineComponent({
193
179
  const likeLabel = node.liked ? props.likedText : props.likeText;
194
180
  const likeCount = node.likes ? ` ${node.likes}` : "";
195
181
  actions.push(
196
- renderActionButton(
197
- `${likeLabel}${likeCount}`,
198
- "like",
199
- () => emit("like", node, !node.liked),
200
- node.liked
182
+ h(
183
+ Button,
184
+ {
185
+ key: "like",
186
+ size: "sm",
187
+ variant: "ghost",
188
+ className: classNames(
189
+ ACTION_BTN,
190
+ "hover:text-blue-600 hover:bg-blue-50/50 dark:hover:text-blue-400 dark:hover:bg-blue-950/20",
191
+ node.liked && "text-blue-600 dark:text-blue-400 bg-blue-50/30 dark:bg-blue-950/10 font-semibold border-blue-200/40 dark:border-blue-800/30"
192
+ ),
193
+ onClick: () => emit("like", node, !node.liked)
194
+ },
195
+ {
196
+ default: () => h("span", { class: "flex items-center gap-1.5" }, [
197
+ h("svg", {
198
+ class: classNames("w-3.5 h-3.5 transition-transform duration-200 active:scale-125", node.liked ? "fill-current" : "stroke-current fill-none"),
199
+ viewBox: "0 0 24 24",
200
+ strokeWidth: "2"
201
+ }, [
202
+ h("path", {
203
+ strokeLinecap: "round",
204
+ strokeLinejoin: "round",
205
+ 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"
206
+ })
207
+ ]),
208
+ h("span", `${likeLabel}${likeCount}`)
209
+ ])
210
+ }
201
211
  )
202
212
  );
203
213
  }
204
214
  if (props.showReply) {
205
215
  actions.push(
206
- renderActionButton(props.replyText, "reply", () => {
207
- replyingTo.value = replyingTo.value === node.id ? null : node.id;
208
- replyValue.value = "";
209
- })
216
+ h(
217
+ Button,
218
+ {
219
+ key: "reply",
220
+ size: "sm",
221
+ variant: "ghost",
222
+ className: classNames(
223
+ ACTION_BTN,
224
+ "hover:text-emerald-600 hover:bg-emerald-50/50 dark:hover:text-emerald-400 dark:hover:bg-emerald-950/20"
225
+ ),
226
+ onClick: () => {
227
+ replyingTo.value = replyingTo.value === node.id ? null : node.id;
228
+ replyValue.value = "";
229
+ }
230
+ },
231
+ {
232
+ default: () => h("span", { class: "flex items-center gap-1.5" }, [
233
+ h("svg", {
234
+ class: "w-3.5 h-3.5",
235
+ viewBox: "0 0 24 24",
236
+ fill: "none",
237
+ stroke: "currentColor",
238
+ strokeWidth: "2"
239
+ }, [
240
+ h("path", {
241
+ strokeLinecap: "round",
242
+ strokeLinejoin: "round",
243
+ 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"
244
+ })
245
+ ]),
246
+ h("span", props.replyText)
247
+ ])
248
+ }
249
+ )
210
250
  );
211
251
  }
212
252
  if (props.showMore) {
213
- actions.push(renderActionButton(props.moreText, "more", () => emit("more", node)));
253
+ actions.push(
254
+ h(
255
+ Button,
256
+ {
257
+ key: "more",
258
+ size: "sm",
259
+ variant: "ghost",
260
+ className: classNames(
261
+ ACTION_BTN,
262
+ "hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"
263
+ ),
264
+ onClick: () => emit("more", node)
265
+ },
266
+ {
267
+ default: () => h("span", { class: "flex items-center gap-1.5" }, [
268
+ h("svg", {
269
+ class: "w-3.5 h-3.5",
270
+ viewBox: "0 0 24 24",
271
+ fill: "none",
272
+ stroke: "currentColor",
273
+ strokeWidth: "2"
274
+ }, [
275
+ h("path", {
276
+ strokeLinecap: "round",
277
+ strokeLinejoin: "round",
278
+ 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"
279
+ })
280
+ ]),
281
+ h("span", props.moreText)
282
+ ])
283
+ }
284
+ )
285
+ );
214
286
  }
215
287
  if (node.actions && node.actions.length > 0) {
216
288
  node.actions.forEach((action, index) => {
@@ -222,7 +294,10 @@ var CommentThread = defineComponent({
222
294
  key: actionKey,
223
295
  size: "sm",
224
296
  variant: action.variant ?? "ghost",
225
- className: ACTION_BTN,
297
+ className: classNames(
298
+ ACTION_BTN,
299
+ "hover:bg-gray-100 dark:hover:bg-gray-800"
300
+ ),
226
301
  disabled: action.disabled,
227
302
  onClick: () => {
228
303
  action.onClick?.(node, action);
@@ -239,8 +314,8 @@ var CommentThread = defineComponent({
239
314
  {
240
315
  class: classNames(
241
316
  "tiger-comment-thread-item",
242
- depth === 1 && "py-4",
243
- depth === 1 && !isLast && props.showDivider && "border-b border-[var(--tiger-border,#e5e7eb)]"
317
+ depth === 1 && "py-5",
318
+ depth === 1 && !isLast && props.showDivider && "border-b border-gray-100 dark:border-gray-800/80"
244
319
  ),
245
320
  key: node.id
246
321
  },
@@ -250,23 +325,23 @@ var CommentThread = defineComponent({
250
325
  size: depth === 1 ? "md" : "sm",
251
326
  src: node.user.avatar,
252
327
  text: node.user.name,
253
- className: "shrink-0 mt-0.5"
328
+ className: "shrink-0 mt-0.5 ring-1 ring-black/5 dark:ring-white/10 shadow-sm transition-transform hover:scale-105 duration-200"
254
329
  }) : null,
255
330
  h("div", { class: "flex-1 min-w-0" }, [
256
331
  h("div", { class: "flex items-center gap-2 flex-wrap" }, [
257
332
  node.user?.name ? h(
258
333
  Text,
259
- { tag: "span", size: "sm", weight: "bold" },
334
+ { tag: "span", size: "sm", weight: "bold", class: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer" },
260
335
  { default: () => node.user?.name }
261
336
  ) : null,
262
337
  node.user?.title ? h(
263
338
  Text,
264
- { tag: "span", size: "xs", color: "muted" },
339
+ { tag: "span", size: "xs", color: "muted", class: "bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded text-gray-500 dark:text-gray-400 font-medium" },
265
340
  { default: () => node.user?.title }
266
341
  ) : null,
267
342
  node.tag ? h(
268
343
  Tag,
269
- { size: "sm", variant: node.tag.variant ?? "default" },
344
+ { 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" },
270
345
  { default: () => node.tag?.label }
271
346
  ) : null,
272
347
  ...(node.tags ?? []).map(
@@ -275,36 +350,37 @@ var CommentThread = defineComponent({
275
350
  {
276
351
  key: `${node.id}-tag-${index}`,
277
352
  size: "sm",
278
- variant: tag.variant ?? "default"
353
+ variant: tag.variant ?? "default",
354
+ className: "rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10"
279
355
  },
280
356
  { default: () => tag.label }
281
357
  )
282
358
  ),
283
359
  node.time ? h(
284
360
  Text,
285
- { tag: "span", size: "xs", color: "muted", class: "ml-auto" },
361
+ { tag: "span", size: "xs", color: "muted", class: "ml-auto text-gray-400 dark:text-gray-500 font-normal" },
286
362
  { default: () => formatCommentTime(node.time) }
287
363
  ) : null
288
364
  ]),
289
365
  h(
290
366
  "div",
291
367
  {
292
- class: "text-sm text-[var(--tiger-text-secondary,#4b5563)] leading-relaxed break-words mt-1.5 mb-2"
368
+ class: "text-sm text-gray-600 dark:text-gray-300 leading-relaxed break-words mt-2 mb-3 pr-2"
293
369
  },
294
370
  String(node.content)
295
371
  ),
296
- actions.length > 0 ? h("div", { class: "flex flex-wrap items-center gap-1" }, actions) : null,
372
+ actions.length > 0 ? h("div", { class: "flex flex-wrap items-center gap-1.5" }, actions) : null,
297
373
  replyingTo.value === node.id ? h(
298
374
  "div",
299
375
  {
300
- class: "mt-3 space-y-2 bg-[var(--tiger-surface-muted,#f9fafb)] p-3 rounded-[var(--tiger-radius-md,0.5rem)]"
376
+ class: "mt-3 space-y-3 bg-gray-50/50 dark:bg-gray-900/30 border border-gray-100 dark:border-gray-800/80 p-4 rounded-xl shadow-sm backdrop-blur-sm transition-all duration-300"
301
377
  },
302
378
  [
303
379
  h(Textarea, {
304
- rows: 2,
380
+ rows: 3,
305
381
  modelValue: replyValue.value,
306
382
  placeholder: props.replyPlaceholder,
307
- className: "bg-[var(--tiger-surface,#ffffff)]",
383
+ className: "bg-white dark:bg-gray-950 border-gray-200 dark:border-gray-800 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:focus:border-blue-400 rounded-lg shadow-inner transition-all duration-200",
308
384
  "onUpdate:modelValue": (value) => {
309
385
  replyValue.value = value;
310
386
  }
@@ -315,6 +391,7 @@ var CommentThread = defineComponent({
315
391
  {
316
392
  size: "sm",
317
393
  variant: "ghost",
394
+ className: "px-3 py-1.5 text-xs text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 rounded-lg transition-colors",
318
395
  onClick: () => {
319
396
  replyingTo.value = null;
320
397
  replyValue.value = "";
@@ -327,6 +404,7 @@ var CommentThread = defineComponent({
327
404
  {
328
405
  size: "sm",
329
406
  variant: "primary",
407
+ className: "px-3 py-1.5 text-xs font-semibold shadow-sm hover:shadow transition-all duration-200 rounded-lg",
330
408
  onClick: () => handleReplySubmit(node)
331
409
  },
332
410
  { default: () => props.replyButtonText }
@@ -339,7 +417,7 @@ var CommentThread = defineComponent({
339
417
  {
340
418
  size: "sm",
341
419
  variant: "ghost",
342
- className: classNames("mt-2", PRIMARY_BTN),
420
+ className: classNames("mt-2 font-semibold hover:bg-[var(--tiger-primary,#2563eb)]/10 dark:hover:bg-blue-400/10 transition-colors", PRIMARY_BTN),
343
421
  "aria-expanded": isExpanded,
344
422
  "aria-controls": repliesId,
345
423
  onClick: () => toggleExpanded(node.id)
@@ -352,7 +430,7 @@ var CommentThread = defineComponent({
352
430
  "div",
353
431
  {
354
432
  id: repliesId,
355
- class: "mt-3 ml-1 pl-4 border-l-2 border-[var(--tiger-border,#e5e7eb)] space-y-3"
433
+ class: "mt-4 ml-1 pl-4 border-l-2 border-gray-100 dark:border-gray-800 hover:border-blue-500/40 dark:hover:border-blue-400/40 space-y-4 transition-colors duration-300"
356
434
  },
357
435
  [
358
436
  ...visibleChildren.map(
@@ -379,9 +457,28 @@ var CommentThread = defineComponent({
379
457
  const ariaLabel = attrs["aria-label"] ?? (attrs["aria-labelledby"] ? void 0 : "\u8BC4\u8BBA\u7EBF\u7A0B");
380
458
  const children = resolvedNodes.value.length === 0 ? [
381
459
  h(
382
- Text,
383
- { tag: "div", size: "sm", color: "muted", class: "text-center py-8" },
384
- { default: () => props.emptyText }
460
+ "div",
461
+ { class: "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" },
462
+ [
463
+ h("svg", {
464
+ class: "w-10 h-10 text-gray-300 dark:text-gray-600 mb-3",
465
+ fill: "none",
466
+ viewBox: "0 0 24 24",
467
+ stroke: "currentColor",
468
+ strokeWidth: "1.5"
469
+ }, [
470
+ h("path", {
471
+ strokeLinecap: "round",
472
+ strokeLinejoin: "round",
473
+ 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"
474
+ })
475
+ ]),
476
+ h(
477
+ Text,
478
+ { tag: "div", size: "sm", color: "muted", class: "font-medium" },
479
+ { default: () => props.emptyText }
480
+ )
481
+ ]
385
482
  )
386
483
  ] : resolvedNodes.value.map(
387
484
  (node, index) => renderNode(node, 1, index === resolvedNodes.value.length - 1)
@@ -179,6 +179,7 @@ var CropUpload = _vue.defineComponent.call(void 0, {
179
179
  closable: true,
180
180
  maskClosable: false,
181
181
  showDefaultFooter: false,
182
+ className: "tiger-crop-upload-modal",
182
183
  "onUpdate:open": (val) => {
183
184
  if (!val) handleCancel();
184
185
  }
@@ -1,4 +1,16 @@
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; }// src/components/Table.ts
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
+
3
+ var _chunk25EYT2CBjs = require('./chunk-25EYT2CB.js');
4
+
5
+ // src/components/Table.ts
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
2
14
  var _vue = require('vue');
3
15
 
4
16
 
@@ -13,6 +25,10 @@ var _vue = require('vue');
13
25
 
14
26
 
15
27
 
28
+
29
+
30
+
31
+
16
32
  var _tigercatcore = require('@expcat/tigercat-core');
17
33
 
18
34
 
@@ -1076,19 +1092,34 @@ function renderSummaryRow(ctx, props) {
1076
1092
 
1077
1093
 
1078
1094
 
1079
- function renderPagination(ctx, props) {
1095
+
1096
+
1097
+
1098
+
1099
+ var DEFAULT_PREV_TEXT = "Previous";
1100
+ var DEFAULT_NEXT_TEXT = "Next";
1101
+ function formatDefaultTotalText(total, range) {
1102
+ return `Showing ${range[0]} to ${range[1]} of ${total} results`;
1103
+ }
1104
+ function formatDefaultPageIndicatorText(current, total) {
1105
+ return `Page ${current} of ${total}`;
1106
+ }
1107
+ function renderPagination(ctx, props, options = {}) {
1080
1108
  if (props.pagination === false || !ctx.paginationInfo.value) {
1081
1109
  return null;
1082
1110
  }
1083
1111
  const { totalPages, startIndex, endIndex, hasNext, hasPrev } = ctx.paginationInfo.value;
1084
1112
  const paginationConfig = props.pagination;
1085
1113
  const total = paginationConfig.total !== void 0 && paginationConfig.total > 0 ? paginationConfig.total : ctx.processedData.value.length;
1114
+ const locale = options.disableI18n ? void 0 : options.locale;
1115
+ const labels = locale ? _tigercatcore.getPaginationLabels.call(void 0, locale) : void 0;
1116
+ const localeCode = _optionalChain([locale, 'optionalAccess', _81 => _81.locale]);
1117
+ const finalTotalText = paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : labels ? _tigercatcore.formatPaginationTotal.call(void 0, labels.totalText, total, [startIndex, endIndex], localeCode) : formatDefaultTotalText(total, [startIndex, endIndex]);
1118
+ const finalPrevText = paginationConfig.prevText || _optionalChain([labels, 'optionalAccess', _82 => _82.prevPageAriaLabel]) || DEFAULT_PREV_TEXT;
1119
+ const finalNextText = paginationConfig.nextText || _optionalChain([labels, 'optionalAccess', _83 => _83.nextPageAriaLabel]) || DEFAULT_NEXT_TEXT;
1120
+ const finalPageIndicatorText = paginationConfig.pageIndicatorText ? paginationConfig.pageIndicatorText(ctx.currentPage.value, totalPages) : labels ? `${_tigercatcore.formatPageAriaLabel.call(void 0, labels.pageAriaLabel, ctx.currentPage.value, localeCode)} / ${_tigercatcore.formatIntlNumber.call(void 0, totalPages, localeCode)} ${labels.pageText}` : formatDefaultPageIndicatorText(ctx.currentPage.value, totalPages);
1086
1121
  return _vue.h.call(void 0, "div", { class: _tigercatcore.getSimplePaginationContainerClasses.call(void 0, ) }, [
1087
- paginationConfig.showTotal !== false && _vue.h.call(void 0,
1088
- "div",
1089
- { class: _tigercatcore.getSimplePaginationTotalClasses.call(void 0, ) },
1090
- paginationConfig.totalText ? paginationConfig.totalText(total, [startIndex, endIndex]) : `Showing ${startIndex} to ${endIndex} of ${total} results`
1091
- ),
1122
+ paginationConfig.showTotal !== false && _vue.h.call(void 0, "div", { class: _tigercatcore.getSimplePaginationTotalClasses.call(void 0, ) }, finalTotalText),
1092
1123
  _vue.h.call(void 0, "div", { class: _tigercatcore.getSimplePaginationControlsClasses.call(void 0, ) }, [
1093
1124
  paginationConfig.showSizeChanger !== false && _vue.h.call(void 0,
1094
1125
  "select",
@@ -1098,7 +1129,11 @@ function renderPagination(ctx, props) {
1098
1129
  onChange: (e) => ctx.handlePageSizeChange(Number(e.target.value))
1099
1130
  },
1100
1131
  (paginationConfig.pageSizeOptions || [10, 20, 50, 100]).map(
1101
- (size) => _vue.h.call(void 0, "option", { value: size }, `${size} / page`)
1132
+ (size) => _vue.h.call(void 0,
1133
+ "option",
1134
+ { value: size },
1135
+ paginationConfig.pageSizeText ? paginationConfig.pageSizeText(size) : labels ? `${_tigercatcore.formatIntlNumber.call(void 0, size, localeCode)} ${labels.itemsPerPageText}` : `${size} / page`
1136
+ )
1102
1137
  )
1103
1138
  ),
1104
1139
  _vue.h.call(void 0, "div", { class: _tigercatcore.getSimplePaginationButtonsWrapperClasses.call(void 0, ) }, [
@@ -1109,13 +1144,9 @@ function renderPagination(ctx, props) {
1109
1144
  disabled: !hasPrev,
1110
1145
  onClick: () => ctx.handlePageChange(ctx.currentPage.value - 1)
1111
1146
  },
1112
- "Previous"
1113
- ),
1114
- _vue.h.call(void 0,
1115
- "span",
1116
- { class: _tigercatcore.getSimplePaginationPageIndicatorClasses.call(void 0, ) },
1117
- `Page ${ctx.currentPage.value} of ${totalPages}`
1147
+ finalPrevText
1118
1148
  ),
1149
+ _vue.h.call(void 0, "span", { class: _tigercatcore.getSimplePaginationPageIndicatorClasses.call(void 0, ) }, finalPageIndicatorText),
1119
1150
  _vue.h.call(void 0,
1120
1151
  "button",
1121
1152
  {
@@ -1123,7 +1154,7 @@ function renderPagination(ctx, props) {
1123
1154
  disabled: !hasNext,
1124
1155
  onClick: () => ctx.handlePageChange(ctx.currentPage.value + 1)
1125
1156
  },
1126
- "Next"
1157
+ finalNextText
1127
1158
  )
1128
1159
  ])
1129
1160
  ])
@@ -1136,11 +1167,44 @@ var Table = _vue.defineComponent.call(void 0, {
1136
1167
  props: tableProps,
1137
1168
  emits: tableEmits,
1138
1169
  setup(props, { emit, slots }) {
1170
+ const config = _chunk25EYT2CBjs.useTigerConfig.call(void 0, );
1139
1171
  const wrapperRef = _vue.ref.call(void 0, null);
1140
1172
  const tableRef = _vue.ref.call(void 0, null);
1141
1173
  const measuredColumnWidths = _vue.ref.call(void 0, {});
1142
1174
  const measuredRowHeights = _vue.ref.call(void 0, []);
1143
1175
  const ctx = useTableState(props, emit, measuredColumnWidths);
1176
+ const resolvedPaginationLocale = _vue.ref.call(void 0, );
1177
+ let paginationLocaleResolveId = 0;
1178
+ const paginationLocaleInput = _vue.computed.call(void 0,
1179
+ () => props.pagination !== false && typeof props.pagination === "object" ? props.pagination.locale : void 0
1180
+ );
1181
+ const isPaginationI18nDisabled = _vue.computed.call(void 0, () => paginationLocaleInput.value === false);
1182
+ _vue.watch.call(void 0,
1183
+ paginationLocaleInput,
1184
+ (locale) => {
1185
+ const resolveId = ++paginationLocaleResolveId;
1186
+ if (!locale) {
1187
+ resolvedPaginationLocale.value = void 0;
1188
+ return;
1189
+ }
1190
+ const immediateLocale = _tigercatcore.getImmediateTigerLocale.call(void 0, locale);
1191
+ resolvedPaginationLocale.value = immediateLocale;
1192
+ if (!_tigercatcore.isLazyTigerLocale.call(void 0, locale)) return;
1193
+ _tigercatcore.resolveTigerLocale.call(void 0, locale).then((nextLocale) => {
1194
+ if (resolveId === paginationLocaleResolveId) {
1195
+ resolvedPaginationLocale.value = nextLocale;
1196
+ }
1197
+ }).catch(() => {
1198
+ if (resolveId === paginationLocaleResolveId) {
1199
+ resolvedPaginationLocale.value = immediateLocale;
1200
+ }
1201
+ });
1202
+ },
1203
+ { immediate: true }
1204
+ );
1205
+ const paginationLocale = _vue.computed.call(void 0,
1206
+ () => isPaginationI18nDisabled.value ? void 0 : _tigercatcore.mergeTigerLocale.call(void 0, config.value.locale, resolvedPaginationLocale.value)
1207
+ );
1144
1208
  const resizeController = _tigercatcore.createTableResizeObserverController.call(void 0, {
1145
1209
  onResize: (snapshot) => {
1146
1210
  if (!areNumberRecordsEqual(measuredColumnWidths.value, snapshot.columnWidths)) {
@@ -1208,7 +1272,7 @@ var Table = _vue.defineComponent.call(void 0, {
1208
1272
  const rows = ctx.displayColumns.value.map((column) => {
1209
1273
  const dataKey = column.dataKey || column.key;
1210
1274
  const cellValue = record[dataKey];
1211
- const cellContent = _nullishCoalesce(_optionalChain([slots, 'access', _81 => _81[`cell-${column.key}`], 'optionalCall', _82 => _82({ record, index })]), () => ( (column.render ? column.render(record, index) : cellValue)));
1275
+ const cellContent = _nullishCoalesce(_optionalChain([slots, 'access', _84 => _84[`cell-${column.key}`], 'optionalCall', _85 => _85({ record, index })]), () => ( (column.render ? column.render(record, index) : cellValue)));
1212
1276
  return _vue.h.call(void 0, "div", { key: column.key, class: _tigercatcore.tableResponsiveCardRowClasses }, [
1213
1277
  _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardLabelClasses }, column.title),
1214
1278
  _vue.h.call(void 0, "div", { class: _tigercatcore.tableResponsiveCardValueClasses }, [cellContent])
@@ -1216,7 +1280,7 @@ var Table = _vue.defineComponent.call(void 0, {
1216
1280
  });
1217
1281
  const controls = [];
1218
1282
  if (resolvedProps.rowSelection && resolvedProps.rowSelection.showCheckbox !== false) {
1219
- const checkboxProps = _optionalChain([resolvedProps, 'access', _83 => _83.rowSelection, 'access', _84 => _84.getCheckboxProps, 'optionalCall', _85 => _85(record)]) || {};
1283
+ const checkboxProps = _optionalChain([resolvedProps, 'access', _86 => _86.rowSelection, 'access', _87 => _87.getCheckboxProps, 'optionalCall', _88 => _88(record)]) || {};
1220
1284
  controls.push(
1221
1285
  _vue.h.call(void 0, "input", {
1222
1286
  type: resolvedProps.rowSelection.type === "radio" ? "radio" : "checkbox",
@@ -1244,7 +1308,7 @@ var Table = _vue.defineComponent.call(void 0, {
1244
1308
  )
1245
1309
  );
1246
1310
  }
1247
- const expandedContent = resolvedProps.expandable && isExpanded && isRowExpandable ? _nullishCoalesce(_optionalChain([slots, 'access', _86 => _86["expanded-row"], 'optionalCall', _87 => _87({ record, index })]), () => ( _optionalChain([resolvedProps, 'access', _88 => _88.expandable, 'access', _89 => _89.expandedRowRender, 'optionalCall', _90 => _90(record, index)]))) : null;
1311
+ const expandedContent = resolvedProps.expandable && isExpanded && isRowExpandable ? _nullishCoalesce(_optionalChain([slots, 'access', _89 => _89["expanded-row"], 'optionalCall', _90 => _90({ record, index })]), () => ( _optionalChain([resolvedProps, 'access', _91 => _91.expandable, 'access', _92 => _92.expandedRowRender, 'optionalCall', _93 => _93(record, index)]))) : null;
1248
1312
  return _vue.h.call(void 0,
1249
1313
  "div",
1250
1314
  {
@@ -1302,7 +1366,10 @@ var Table = _vue.defineComponent.call(void 0, {
1302
1366
  },
1303
1367
  [LoadingSpinner(), _vue.h.call(void 0, "span", { class: "sr-only" }, "Loading")]
1304
1368
  ),
1305
- renderPagination(ctx, resolvedProps)
1369
+ renderPagination(ctx, resolvedProps, {
1370
+ locale: paginationLocale.value,
1371
+ disableI18n: isPaginationI18nDisabled.value
1372
+ })
1306
1373
  ]
1307
1374
  );
1308
1375
  };
@@ -19,7 +19,6 @@ var _vue = require('vue');
19
19
 
20
20
 
21
21
 
22
-
23
22
  var _tigercatcore = require('@expcat/tigercat-core');
24
23
  var StepsContextKey = /* @__PURE__ */ Symbol("StepsContext");
25
24
  var StepsItem = _vue.defineComponent.call(void 0, {
@@ -153,7 +152,21 @@ var StepsItem = _vue.defineComponent.call(void 0, {
153
152
  return _vue.h.call(void 0, "div", { class: iconClasses.value }, props.icon);
154
153
  }
155
154
  if (stepStatus.value === "finish") {
156
- return _vue.h.call(void 0, "div", { class: iconClasses.value, "aria-hidden": "true" }, _tigercatcore.stepFinishChar);
155
+ return _vue.h.call(void 0, "div", { class: iconClasses.value, "aria-hidden": "true" }, [
156
+ _vue.h.call(void 0, "svg", {
157
+ class: "w-4 h-4 shrink-0 transition-transform duration-300 animate-fade-in",
158
+ fill: "none",
159
+ stroke: "currentColor",
160
+ "stroke-width": "3",
161
+ viewBox: "0 0 24 24"
162
+ }, [
163
+ _vue.h.call(void 0, "path", {
164
+ "stroke-linecap": "round",
165
+ "stroke-linejoin": "round",
166
+ d: "M4.5 12.75l6 6 9-13.5"
167
+ })
168
+ ])
169
+ ]);
157
170
  }
158
171
  return _vue.h.call(void 0, "div", { class: iconClasses.value }, String(props.stepIndex + 1));
159
172
  };
@@ -188,7 +188,7 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
188
188
  const cardClasses = _tigercatcore.classNames.call(void 0,
189
189
  _tigercatcore.taskBoardCardClasses,
190
190
  isDragging && _tigercatcore.taskBoardCardDraggingClasses,
191
- isKbGrabbed && "ring-2 ring-[var(--tiger-primary,#2563eb)]"
191
+ isKbGrabbed && "ring-2 ring-[var(--tiger-primary,#2563eb)] ring-offset-2 shadow-[0_0_12px_rgba(37,99,235,0.25)]"
192
192
  );
193
193
  const cardAttrs = {
194
194
  key: String(card.id),
@@ -240,7 +240,10 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
240
240
  props.showCardCount && cardCount ? null : column.wipLimit != null ? _vue.h.call(void 0,
241
241
  "span",
242
242
  {
243
- class: "ml-2 text-xs font-normal opacity-70",
243
+ class: _tigercatcore.classNames.call(void 0,
244
+ "ml-2 text-xs font-normal transition-all duration-200 px-1.5 py-0.5 rounded",
245
+ wipOver ? "bg-red-50 dark:bg-red-950/30 text-[var(--tiger-error,#ef4444)] font-semibold border border-red-200/30 dark:border-red-900/30 shadow-xs" : "opacity-70 bg-[var(--tiger-border,#e5e7eb)]/20 text-[var(--tiger-text-secondary,#6b7280)]"
246
+ ),
244
247
  title: _tigercatcore.resolveLocaleText.call(void 0,
245
248
  labels.value.wipLimitText.replace("{limit}", String(column.wipLimit))
246
249
  )
@@ -248,7 +251,7 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
248
251
  `(${column.cards.length}/${column.wipLimit})`
249
252
  ) : _vue.h.call(void 0,
250
253
  "span",
251
- { class: "ml-2 text-xs font-normal opacity-50" },
254
+ { class: "ml-2 text-xs font-normal px-1.5 py-0.5 rounded bg-[var(--tiger-border,#e5e7eb)]/20 text-[var(--tiger-text-secondary,#6b7280)] opacity-70" },
252
255
  String(column.cards.length)
253
256
  )
254
257
  ]),
@@ -258,7 +261,7 @@ var TaskBoard = _vue.defineComponent.call(void 0, {
258
261
  {
259
262
  class: _tigercatcore.classNames.call(void 0,
260
263
  _tigercatcore.kanbanCardCountClasses,
261
- wipOver && _tigercatcore.taskBoardWipExceededClasses
264
+ wipOver && `${_tigercatcore.taskBoardWipExceededClasses} bg-red-50 dark:bg-red-950/30 border border-red-200/50 dark:border-red-900/30 font-semibold shadow-xs`
262
265
  )
263
266
  },
264
267
  cardCount.limit ? `${cardCount.count}/${cardCount.limit}` : `${cardCount.count}`