@expcat/tigercat-vue 1.2.23 → 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 (221) 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-XMGU52S5.js → chunk-L6W3XL3A.js} +143 -46
  16. package/dist/{chunk-ATRF7NPJ.mjs → chunk-LFQWJILV.mjs} +55 -20
  17. package/dist/{chunk-NMVKDWMK.mjs → chunk-MTYDCYGW.mjs} +83 -16
  18. package/dist/{chunk-F5JPUPWI.mjs → chunk-OF4MY6EC.mjs} +1 -0
  19. package/dist/{chunk-KLX7YHP2.mjs → chunk-OZLSZQXF.mjs} +83 -12
  20. package/dist/{chunk-PUSTYAMS.mjs → chunk-RE7K3KNW.mjs} +16 -3
  21. package/dist/{chunk-IIEMDA36.mjs → chunk-S45NWVQS.mjs} +14 -8
  22. package/dist/{chunk-CBZIVUCJ.js → chunk-VES3OJOP.js} +14 -8
  23. package/dist/components/ActivityFeed.d.mts +6 -6
  24. package/dist/components/ActivityFeed.d.ts +6 -6
  25. package/dist/components/ActivityFeed.js +2 -2
  26. package/dist/components/ActivityFeed.mjs +1 -1
  27. package/dist/components/Alert.d.mts +2 -2
  28. package/dist/components/Alert.d.ts +2 -2
  29. package/dist/components/Anchor.d.mts +1 -1
  30. package/dist/components/Anchor.d.ts +1 -1
  31. package/dist/components/AreaChart.d.mts +2 -2
  32. package/dist/components/AreaChart.d.ts +2 -2
  33. package/dist/components/AutoComplete.d.mts +2 -2
  34. package/dist/components/AutoComplete.d.ts +2 -2
  35. package/dist/components/Avatar.d.mts +1 -1
  36. package/dist/components/Avatar.d.ts +1 -1
  37. package/dist/components/Badge.d.mts +3 -3
  38. package/dist/components/Badge.d.ts +3 -3
  39. package/dist/components/BarChart.d.mts +1 -1
  40. package/dist/components/BarChart.d.ts +1 -1
  41. package/dist/components/Breadcrumb.d.mts +2 -2
  42. package/dist/components/Breadcrumb.d.ts +2 -2
  43. package/dist/components/Button.d.mts +3 -3
  44. package/dist/components/Button.d.ts +3 -3
  45. package/dist/components/ButtonGroup.d.mts +1 -1
  46. package/dist/components/ButtonGroup.d.ts +1 -1
  47. package/dist/components/Calendar.d.mts +1 -1
  48. package/dist/components/Calendar.d.ts +1 -1
  49. package/dist/components/Card.d.mts +2 -2
  50. package/dist/components/Card.d.ts +2 -2
  51. package/dist/components/ChartGrid.d.mts +1 -1
  52. package/dist/components/ChartGrid.d.ts +1 -1
  53. package/dist/components/ChatWindow.d.mts +3 -3
  54. package/dist/components/ChatWindow.d.ts +3 -3
  55. package/dist/components/ChatWindow.js +3 -2
  56. package/dist/components/ChatWindow.mjs +2 -1
  57. package/dist/components/CodeEditor.d.mts +2 -2
  58. package/dist/components/CodeEditor.d.ts +2 -2
  59. package/dist/components/Collapse.d.mts +1 -1
  60. package/dist/components/Collapse.d.ts +1 -1
  61. package/dist/components/CollapsePanel.d.mts +1 -1
  62. package/dist/components/CollapsePanel.d.ts +1 -1
  63. package/dist/components/ColorSwatch.d.mts +1 -1
  64. package/dist/components/ColorSwatch.d.ts +1 -1
  65. package/dist/components/CommentThread.d.mts +2 -2
  66. package/dist/components/CommentThread.d.ts +2 -2
  67. package/dist/components/CommentThread.js +2 -2
  68. package/dist/components/CommentThread.mjs +1 -1
  69. package/dist/components/ConfigProvider.d.mts +1 -1
  70. package/dist/components/ConfigProvider.d.ts +1 -1
  71. package/dist/components/CropUpload.js +2 -2
  72. package/dist/components/CropUpload.mjs +1 -1
  73. package/dist/components/DataTableWithToolbar.d.mts +8 -8
  74. package/dist/components/DataTableWithToolbar.d.ts +8 -8
  75. package/dist/components/DataTableWithToolbar.js +4 -3
  76. package/dist/components/DataTableWithToolbar.mjs +3 -2
  77. package/dist/components/DatePicker.d.mts +2 -2
  78. package/dist/components/DatePicker.d.ts +2 -2
  79. package/dist/components/Descriptions.d.mts +2 -2
  80. package/dist/components/Descriptions.d.ts +2 -2
  81. package/dist/components/DonutChart.d.mts +2 -2
  82. package/dist/components/DonutChart.d.ts +2 -2
  83. package/dist/components/Drawer.d.mts +4 -4
  84. package/dist/components/Drawer.d.ts +4 -4
  85. package/dist/components/FileManager.d.mts +1 -1
  86. package/dist/components/FileManager.d.ts +1 -1
  87. package/dist/components/FloatButton.d.mts +3 -3
  88. package/dist/components/FloatButton.d.ts +3 -3
  89. package/dist/components/Form.d.mts +1 -1
  90. package/dist/components/Form.d.ts +1 -1
  91. package/dist/components/FormWizard.d.mts +13 -4
  92. package/dist/components/FormWizard.d.ts +13 -4
  93. package/dist/components/FormWizard.js +3 -3
  94. package/dist/components/FormWizard.mjs +2 -2
  95. package/dist/components/FunnelChart.d.mts +1 -1
  96. package/dist/components/FunnelChart.d.ts +1 -1
  97. package/dist/components/Gantt.d.mts +1 -1
  98. package/dist/components/Gantt.d.ts +1 -1
  99. package/dist/components/GaugeChart.d.mts +1 -1
  100. package/dist/components/GaugeChart.d.ts +1 -1
  101. package/dist/components/HeatmapChart.d.mts +2 -2
  102. package/dist/components/HeatmapChart.d.ts +2 -2
  103. package/dist/components/Image.d.mts +2 -2
  104. package/dist/components/Image.d.ts +2 -2
  105. package/dist/components/ImageAnnotation.d.mts +4 -4
  106. package/dist/components/ImageAnnotation.d.ts +4 -4
  107. package/dist/components/InfiniteScroll.d.mts +2 -2
  108. package/dist/components/InfiniteScroll.d.ts +2 -2
  109. package/dist/components/Input.d.mts +4 -4
  110. package/dist/components/Input.d.ts +4 -4
  111. package/dist/components/InputGroup.d.mts +1 -1
  112. package/dist/components/InputGroup.d.ts +1 -1
  113. package/dist/components/InputNumber.d.mts +1 -1
  114. package/dist/components/InputNumber.d.ts +1 -1
  115. package/dist/components/Kanban.d.mts +1 -1
  116. package/dist/components/Kanban.d.ts +1 -1
  117. package/dist/components/Kanban.js +3 -3
  118. package/dist/components/Kanban.mjs +2 -2
  119. package/dist/components/LineChart.d.mts +2 -2
  120. package/dist/components/LineChart.d.ts +2 -2
  121. package/dist/components/Link.d.mts +1 -1
  122. package/dist/components/Link.d.ts +1 -1
  123. package/dist/components/List.d.mts +6 -6
  124. package/dist/components/List.d.ts +6 -6
  125. package/dist/components/Loading.d.mts +5 -5
  126. package/dist/components/Loading.d.ts +5 -5
  127. package/dist/components/MarkdownEditor.d.mts +2 -2
  128. package/dist/components/MarkdownEditor.d.ts +2 -2
  129. package/dist/components/Mentions.d.mts +2 -2
  130. package/dist/components/Mentions.d.ts +2 -2
  131. package/dist/components/Menu.d.mts +4 -4
  132. package/dist/components/Menu.d.ts +4 -4
  133. package/dist/components/Modal.d.mts +7 -7
  134. package/dist/components/Modal.d.ts +7 -7
  135. package/dist/components/NotificationCenter.d.mts +5 -5
  136. package/dist/components/NotificationCenter.d.ts +5 -5
  137. package/dist/components/NotificationCenter.js +2 -2
  138. package/dist/components/NotificationCenter.mjs +1 -1
  139. package/dist/components/NumberKeyboard.d.mts +2 -2
  140. package/dist/components/NumberKeyboard.d.ts +2 -2
  141. package/dist/components/OrgChart.d.mts +1 -1
  142. package/dist/components/OrgChart.d.ts +1 -1
  143. package/dist/components/Pagination.d.mts +3 -3
  144. package/dist/components/Pagination.d.ts +3 -3
  145. package/dist/components/PieChart.d.mts +2 -2
  146. package/dist/components/PieChart.d.ts +2 -2
  147. package/dist/components/Popconfirm.d.mts +2 -2
  148. package/dist/components/Popconfirm.d.ts +2 -2
  149. package/dist/components/Popover.d.mts +1 -1
  150. package/dist/components/Popover.d.ts +1 -1
  151. package/dist/components/Progress.d.mts +3 -3
  152. package/dist/components/Progress.d.ts +3 -3
  153. package/dist/components/QRCode.d.mts +1 -1
  154. package/dist/components/QRCode.d.ts +1 -1
  155. package/dist/components/RadarChart.d.mts +2 -2
  156. package/dist/components/RadarChart.d.ts +2 -2
  157. package/dist/components/RichTextEditor.d.mts +1 -1
  158. package/dist/components/RichTextEditor.d.ts +1 -1
  159. package/dist/components/Row.d.mts +1 -1
  160. package/dist/components/Row.d.ts +1 -1
  161. package/dist/components/ScatterChart.d.mts +1 -1
  162. package/dist/components/ScatterChart.d.ts +1 -1
  163. package/dist/components/ScrollSpy.d.mts +2 -2
  164. package/dist/components/ScrollSpy.d.ts +2 -2
  165. package/dist/components/Select.d.mts +1 -1
  166. package/dist/components/Select.d.ts +1 -1
  167. package/dist/components/Signature.d.mts +2 -2
  168. package/dist/components/Signature.d.ts +2 -2
  169. package/dist/components/Skeleton.d.mts +1 -1
  170. package/dist/components/Skeleton.d.ts +1 -1
  171. package/dist/components/Space.d.mts +2 -2
  172. package/dist/components/Space.d.ts +2 -2
  173. package/dist/components/Splitter.d.mts +1 -1
  174. package/dist/components/Splitter.d.ts +1 -1
  175. package/dist/components/Spotlight.d.mts +4 -4
  176. package/dist/components/Spotlight.d.ts +4 -4
  177. package/dist/components/Steps.d.mts +2 -2
  178. package/dist/components/Steps.d.ts +2 -2
  179. package/dist/components/Steps.js +2 -2
  180. package/dist/components/Steps.mjs +1 -1
  181. package/dist/components/StepsItem.js +3 -3
  182. package/dist/components/StepsItem.mjs +1 -1
  183. package/dist/components/SunburstChart.d.mts +1 -1
  184. package/dist/components/SunburstChart.d.ts +1 -1
  185. package/dist/components/Table.d.mts +5 -5
  186. package/dist/components/Table.d.ts +5 -5
  187. package/dist/components/Table.js +3 -2
  188. package/dist/components/Table.mjs +2 -1
  189. package/dist/components/Tabs.d.mts +2 -2
  190. package/dist/components/Tabs.d.ts +2 -2
  191. package/dist/components/Tag.d.mts +1 -1
  192. package/dist/components/Tag.d.ts +1 -1
  193. package/dist/components/TaskBoard.d.mts +1 -1
  194. package/dist/components/TaskBoard.d.ts +1 -1
  195. package/dist/components/TaskBoard.js +2 -2
  196. package/dist/components/TaskBoard.mjs +1 -1
  197. package/dist/components/Text.d.mts +3 -3
  198. package/dist/components/Text.d.ts +3 -3
  199. package/dist/components/Textarea.d.mts +1 -1
  200. package/dist/components/Textarea.d.ts +1 -1
  201. package/dist/components/TimePicker.d.mts +3 -3
  202. package/dist/components/TimePicker.d.ts +3 -3
  203. package/dist/components/Timeline.d.mts +3 -3
  204. package/dist/components/Timeline.d.ts +3 -3
  205. package/dist/components/Tooltip.d.mts +1 -1
  206. package/dist/components/Tooltip.d.ts +1 -1
  207. package/dist/components/Tour.d.mts +2 -2
  208. package/dist/components/Tour.d.ts +2 -2
  209. package/dist/components/Tree.d.mts +2 -2
  210. package/dist/components/Tree.d.ts +2 -2
  211. package/dist/components/TreeMapChart.d.mts +1 -1
  212. package/dist/components/TreeMapChart.d.ts +1 -1
  213. package/dist/components/Upload.d.mts +4 -4
  214. package/dist/components/Upload.d.ts +4 -4
  215. package/dist/components/VirtualTable.d.mts +2 -2
  216. package/dist/components/VirtualTable.d.ts +2 -2
  217. package/dist/components/Watermark.d.mts +1 -1
  218. package/dist/components/Watermark.d.ts +1 -1
  219. package/dist/index.js +15 -15
  220. package/dist/index.mjs +14 -14
  221. package/package.json +2 -2
@@ -1,6 +1,6 @@
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 _chunkOW5D4LU6js = require('./chunk-OW5D4LU6.js');
3
+ var _chunkDPHLBHJYjs = require('./chunk-DPHLBHJY.js');
4
4
 
5
5
 
6
6
  var _chunkBGMAWKWVjs = require('./chunk-BGMAWKWV.js');
@@ -197,7 +197,8 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
197
197
  const bulkLabel = _vue.computed.call(void 0, () => _nullishCoalesce(_optionalChain([props, 'access', _27 => _27.toolbar, 'optionalAccess', _28 => _28.bulkActionsLabel]), () => ( "\u5DF2\u9009\u62E9")));
198
198
  const wrapperClasses = _vue.computed.call(void 0,
199
199
  () => _tigercatcore.classNames.call(void 0,
200
- "tiger-data-table-with-toolbar flex flex-col gap-3",
200
+ "tiger-data-table-with-toolbar flex flex-col",
201
+ props.bordered ? "border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-surface,#ffffff)] shadow-sm" : "gap-3.5",
201
202
  props.className,
202
203
  _tigercatcore.coerceClassValue.call(void 0, attrs.class)
203
204
  )
@@ -248,26 +249,49 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
248
249
  leftNodes.push(
249
250
  _vue.h.call(void 0,
250
251
  "div",
251
- { class: "flex items-center gap-2 w-full sm:w-auto sm:min-w-[200px] sm:max-w-[320px]" },
252
+ { class: "flex items-center gap-2 w-full sm:w-auto sm:min-w-[220px] sm:max-w-[320px]" },
252
253
  [
253
- _vue.h.call(void 0, _chunkBYNMOQBBjs.Input, {
254
- type: "search",
255
- size: "sm",
256
- modelValue: searchValue.value,
257
- placeholder: _nullishCoalesce(_optionalChain([props, 'access', _35 => _35.toolbar, 'optionalAccess', _36 => _36.searchPlaceholder]), () => ( "\u641C\u7D22")),
258
- "onUpdate:modelValue": (value) => handleSearchChange(String(_nullishCoalesce(value, () => ( "")))),
259
- onKeydown: (event) => {
260
- if (event.key === "Enter") {
261
- handleSearchSubmit();
254
+ _vue.h.call(void 0,
255
+ _chunkBYNMOQBBjs.Input,
256
+ {
257
+ type: "search",
258
+ size: "sm",
259
+ modelValue: searchValue.value,
260
+ placeholder: _nullishCoalesce(_optionalChain([props, 'access', _35 => _35.toolbar, 'optionalAccess', _36 => _36.searchPlaceholder]), () => ( "\u641C\u7D22")),
261
+ "onUpdate:modelValue": (value) => handleSearchChange(String(_nullishCoalesce(value, () => ( "")))),
262
+ onKeydown: (event) => {
263
+ if (event.key === "Enter") {
264
+ handleSearchSubmit();
265
+ }
262
266
  }
267
+ },
268
+ {
269
+ prefix: () => _vue.h.call(void 0,
270
+ "svg",
271
+ {
272
+ class: "w-3.5 h-3.5 text-[var(--tiger-text-secondary,#6b7280)] shrink-0",
273
+ fill: "none",
274
+ stroke: "currentColor",
275
+ "stroke-width": "2",
276
+ viewBox: "0 0 24 24",
277
+ "aria-hidden": "true"
278
+ },
279
+ [
280
+ _vue.h.call(void 0, "path", {
281
+ "stroke-linecap": "round",
282
+ "stroke-linejoin": "round",
283
+ d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
284
+ })
285
+ ]
286
+ )
263
287
  }
264
- }),
288
+ ),
265
289
  showButton ? _vue.h.call(void 0,
266
290
  _chunk4VLNT2EDjs.Button,
267
291
  {
268
292
  size: "sm",
269
293
  variant: "primary",
270
- class: "whitespace-nowrap shrink-0",
294
+ class: "whitespace-nowrap shrink-0 rounded-[var(--tiger-radius-md,0.5rem)] px-3",
271
295
  onClick: handleSearchSubmit,
272
296
  disabled: !canSearch.value
273
297
  },
@@ -305,9 +329,16 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
305
329
  if (selectedCount.value > 0) {
306
330
  bulkChildren.push(
307
331
  _vue.h.call(void 0,
308
- "span",
309
- { class: "text-sm text-[var(--tiger-text-muted,#6b7280)]" },
310
- `${bulkLabel.value} ${selectedCount.value} \u9879`
332
+ "div",
333
+ {
334
+ class: "flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)] text-xs font-medium border border-[var(--tiger-primary,#2563eb)]/15 shrink-0 transition-all duration-300"
335
+ },
336
+ [
337
+ _vue.h.call(void 0, "span", {
338
+ class: "w-1.5 h-1.5 rounded-full bg-[var(--tiger-primary,#2563eb)] animate-pulse"
339
+ }),
340
+ _vue.h.call(void 0, "span", null, `${bulkLabel.value} ${selectedCount.value} \u9879`)
341
+ ]
311
342
  )
312
343
  );
313
344
  }
@@ -331,15 +362,18 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
331
362
  return _vue.h.call(void 0,
332
363
  "div",
333
364
  {
334
- class: "tiger-data-table-toolbar flex flex-wrap items-center gap-2 pb-3",
365
+ class: _tigercatcore.classNames.call(void 0,
366
+ "tiger-data-table-toolbar flex flex-wrap items-center gap-3",
367
+ props.bordered ? "bg-[var(--tiger-surface-muted,#f9fafb)] dark:bg-gray-800/10 px-4 py-3.5 border-b border-[var(--tiger-border,#e5e7eb)]" : "bg-[var(--tiger-surface-muted,#f9fafb)]/80 dark:bg-gray-800/30 px-4 py-3.5 border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] shadow-sm"
368
+ ),
335
369
  role: "toolbar",
336
370
  "aria-label": "\u6570\u636E\u8868\u683C\u5DE5\u5177\u680F"
337
371
  },
338
372
  [
339
- _vue.h.call(void 0, "div", { class: "flex items-center gap-2 flex-wrap flex-1 min-w-0" }, leftNodes),
373
+ _vue.h.call(void 0, "div", { class: "flex items-center gap-3 flex-wrap flex-1 min-w-0" }, leftNodes),
340
374
  hasBulkActions.value ? _vue.h.call(void 0,
341
375
  "div",
342
- { class: "flex items-center gap-2 flex-wrap ml-auto shrink-0" },
376
+ { class: "flex items-center gap-2.5 flex-wrap ml-auto shrink-0" },
343
377
  bulkChildren
344
378
  ) : null
345
379
  ]
@@ -369,6 +403,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
369
403
  stickyHeader: props.stickyHeader,
370
404
  maxHeight: props.maxHeight,
371
405
  tableLayout: props.tableLayout,
406
+ class: props.bordered ? "border-none rounded-none shadow-none" : void 0,
372
407
  onSelectionChange: (keys) => emit("selection-change", keys),
373
408
  onPageChange: handleTablePageChange
374
409
  };
@@ -379,7 +414,7 @@ var DataTableWithToolbar = _vue.defineComponent.call(void 0, {
379
414
  style: wrapperStyle.value,
380
415
  "data-tiger-data-table-with-toolbar": ""
381
416
  },
382
- [renderToolbar(), _vue.h.call(void 0, _chunkOW5D4LU6js.Table, tableProps)]
417
+ [renderToolbar(), _vue.h.call(void 0, _chunkDPHLBHJYjs.Table, tableProps)]
383
418
  );
384
419
  };
385
420
  }
@@ -188,7 +188,7 @@ var TaskBoard = defineComponent({
188
188
  const cardClasses = classNames(
189
189
  taskBoardCardClasses,
190
190
  isDragging && 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 = defineComponent({
240
240
  props.showCardCount && cardCount ? null : column.wipLimit != null ? h(
241
241
  "span",
242
242
  {
243
- class: "ml-2 text-xs font-normal opacity-70",
243
+ class: classNames(
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: resolveLocaleText(
245
248
  labels.value.wipLimitText.replace("{limit}", String(column.wipLimit))
246
249
  )
@@ -248,7 +251,7 @@ var TaskBoard = defineComponent({
248
251
  `(${column.cards.length}/${column.wipLimit})`
249
252
  ) : h(
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 = defineComponent({
258
261
  {
259
262
  class: classNames(
260
263
  kanbanCardCountClasses,
261
- wipOver && taskBoardWipExceededClasses
264
+ wipOver && `${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}`
@@ -45,9 +45,11 @@ var renderAction = (item, action, index) => {
45
45
  key,
46
46
  size: "sm",
47
47
  variant: "primary",
48
+ underline: false,
48
49
  href: action.href,
49
50
  target: action.target,
50
51
  disabled: action.disabled,
52
+ className: "inline-flex items-center px-2.5 py-1 rounded-lg hover:bg-blue-50/50 dark:hover:bg-blue-950/20 text-xs font-semibold transition-all duration-200",
51
53
  onClick: () => _optionalChain([action, 'access', _ => _.onClick, 'optionalCall', _2 => _2(item, action)])
52
54
  },
53
55
  {
@@ -138,7 +140,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
138
140
  return _vue.h.call(void 0,
139
141
  "div",
140
142
  {
141
- class: _tigercatcore.activityItemClasses
143
+ class: _tigercatcore.classNames.call(void 0, _tigercatcore.activityItemClasses, "p-4 rounded-2xl border border-gray-100/70 dark:border-gray-800/40 bg-white/40 dark:bg-gray-900/15 backdrop-blur-sm shadow-sm transition-all duration-300 hover:shadow-md hover:shadow-gray-100/30 dark:hover:shadow-none hover:bg-white dark:hover:bg-gray-900/30 hover:-translate-y-0.5 w-full")
142
144
  },
143
145
  [
144
146
  _vue.h.call(void 0, "div", { class: _tigercatcore.activityItemLayoutClasses }, [
@@ -146,14 +148,14 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
146
148
  size: "sm",
147
149
  src: item.user.avatar,
148
150
  text: item.user.name,
149
- className: "shrink-0"
151
+ className: "shrink-0 ring-2 ring-white dark:ring-gray-900 shadow-sm transition-transform hover:scale-105 duration-200"
150
152
  }) : null,
151
153
  _vue.h.call(void 0, "div", { class: _tigercatcore.activityItemBodyClasses }, [
152
154
  _vue.h.call(void 0, "div", { class: _tigercatcore.activityItemHeaderClasses }, [
153
155
  _vue.h.call(void 0, "div", { class: _tigercatcore.activityItemTitleGroupClasses }, [
154
156
  titleText ? _vue.h.call(void 0,
155
157
  _chunkTGHB5XSTjs.Text,
156
- { tag: "div", size: "sm", weight: "medium", class: "truncate" },
158
+ { tag: "div", size: "sm", weight: "semibold", class: "text-gray-900 dark:text-gray-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors cursor-pointer truncate" },
157
159
  { default: () => titleText }
158
160
  ) : null,
159
161
  item.status ? _vue.h.call(void 0,
@@ -161,7 +163,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
161
163
  {
162
164
  variant: _nullishCoalesce(item.status.variant, () => ( "default")),
163
165
  size: "sm",
164
- className: "shrink-0"
166
+ className: "shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold tracking-wide uppercase border border-current bg-opacity-10 shadow-sm"
165
167
  },
166
168
  { default: () => _optionalChain([item, 'access', _6 => _6.status, 'optionalAccess', _7 => _7.label]) }
167
169
  ) : null
@@ -172,7 +174,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
172
174
  tag: "div",
173
175
  size: "xs",
174
176
  color: "muted",
175
- class: "shrink-0 whitespace-nowrap"
177
+ class: "shrink-0 whitespace-nowrap font-medium text-gray-400 dark:text-gray-500"
176
178
  },
177
179
  { default: () => timeText }
178
180
  ) : null
@@ -183,11 +185,11 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
183
185
  tag: "div",
184
186
  size: "sm",
185
187
  color: "muted",
186
- class: _tigercatcore.activityItemDescriptionClasses
188
+ class: _tigercatcore.classNames.call(void 0, _tigercatcore.activityItemDescriptionClasses, "text-gray-600 dark:text-gray-300 leading-relaxed pl-0.5 mt-1")
187
189
  },
188
190
  { default: () => descriptionText }
189
191
  ) : null,
190
- _optionalChain([actionNodes, 'optionalAccess', _8 => _8.length]) ? _vue.h.call(void 0, "div", { class: _tigercatcore.activityItemActionsClasses }, actionNodes) : null
192
+ _optionalChain([actionNodes, 'optionalAccess', _8 => _8.length]) ? _vue.h.call(void 0, "div", { class: _tigercatcore.classNames.call(void 0, _tigercatcore.activityItemActionsClasses, "mt-2.5") }, actionNodes) : null
191
193
  ])
192
194
  ])
193
195
  ]
@@ -200,7 +202,7 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
200
202
  const feedAriaBusy = _vue.computed.call(void 0, () => _nullishCoalesce(attrs["aria-busy"], () => ( (props.loading ? "true" : void 0))));
201
203
  return () => {
202
204
  if (props.loading) {
203
- const loadingNode = slots.loading ? slots.loading() : _vue.h.call(void 0, _chunk2LNNB55Ejs.Loading, { text: props.loadingText });
205
+ const loadingNode = slots.loading ? slots.loading() : _vue.h.call(void 0, _chunk2LNNB55Ejs.Loading, { text: props.loadingText, class: "text-blue-500 dark:text-blue-400 font-medium" });
204
206
  return _vue.h.call(void 0,
205
207
  "div",
206
208
  {
@@ -215,16 +217,35 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
215
217
  [
216
218
  _vue.h.call(void 0,
217
219
  _chunkXGXGAK27js.Card,
218
- { variant: "bordered", size: "sm", className: "tiger-activity-feed-loading" },
219
220
  {
220
- default: () => _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-4" }, loadingNode)
221
+ variant: "bordered",
222
+ size: "sm",
223
+ className: "tiger-activity-feed-loading bg-white/40 dark:bg-gray-900/20 border-gray-100 dark:border-gray-800/80 backdrop-blur-sm rounded-2xl shadow-sm overflow-hidden"
224
+ },
225
+ {
226
+ default: () => _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-8" }, loadingNode)
221
227
  }
222
228
  )
223
229
  ]
224
230
  );
225
231
  }
226
232
  if (resolvedGroups.value.length === 0) {
227
- const emptyNode = slots.empty ? slots.empty() : _vue.h.call(void 0, _chunkTGHB5XSTjs.Text, { tag: "div", size: "sm", color: "muted" }, { default: () => props.emptyText });
233
+ const emptyNode = slots.empty ? slots.empty() : _vue.h.call(void 0, "div", { class: "flex flex-col items-center justify-center py-12 px-4" }, [
234
+ _vue.h.call(void 0, "svg", {
235
+ class: "w-12 h-12 text-gray-300 dark:text-gray-600 mb-3 animate-pulse",
236
+ fill: "none",
237
+ viewBox: "0 0 24 24",
238
+ stroke: "currentColor",
239
+ strokeWidth: "1.5"
240
+ }, [
241
+ _vue.h.call(void 0, "path", {
242
+ strokeLinecap: "round",
243
+ strokeLinejoin: "round",
244
+ d: "M12 7.5h1.5m-1.5 3h1.5m-7.5 3h10.5m-10.5 3h10.5m-13.5-9h16.5M3 5.25h18M3 18.75h18"
245
+ })
246
+ ]),
247
+ _vue.h.call(void 0, _chunkTGHB5XSTjs.Text, { tag: "div", size: "sm", color: "muted", class: "font-medium" }, { default: () => props.emptyText })
248
+ ]);
228
249
  return _vue.h.call(void 0,
229
250
  "div",
230
251
  {
@@ -238,9 +259,13 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
238
259
  [
239
260
  _vue.h.call(void 0,
240
261
  _chunkXGXGAK27js.Card,
241
- { variant: "bordered", size: "sm", className: "tiger-activity-feed-empty" },
242
262
  {
243
- default: () => _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-6" }, emptyNode)
263
+ variant: "bordered",
264
+ size: "sm",
265
+ className: "tiger-activity-feed-empty bg-white/40 dark:bg-gray-900/20 border-gray-100 dark:border-gray-800/80 backdrop-blur-sm rounded-2xl shadow-sm overflow-hidden"
266
+ },
267
+ {
268
+ default: () => emptyNode
244
269
  }
245
270
  )
246
271
  ]
@@ -261,14 +286,46 @@ var ActivityFeed = _vue.defineComponent.call(void 0, {
261
286
  const groupTitle = group.title;
262
287
  const timelineItems = _tigercatcore.toActivityTimelineItems.call(void 0, group.items);
263
288
  return _vue.h.call(void 0, "div", { key: _nullishCoalesce(group.key, () => ( groupIndex)), class: "space-y-3" }, [
264
- props.showGroupTitle && groupTitle ? _nullishCoalesce(headerNode, () => ( _vue.h.call(void 0,
265
- _chunkTGHB5XSTjs.Text,
266
- { tag: "div", size: "sm", weight: "medium", color: "muted" },
267
- { default: () => groupTitle }
268
- ))) : null,
289
+ props.showGroupTitle && groupTitle ? _nullishCoalesce(headerNode, () => ( _vue.h.call(void 0, "div", { class: "flex items-center gap-2 mb-2" }, [
290
+ _vue.h.call(void 0, "span", { class: "w-1.5 h-3.5 bg-blue-500 rounded-full dark:bg-blue-400 shadow-sm shadow-blue-500/20" }),
291
+ _vue.h.call(void 0,
292
+ _chunkTGHB5XSTjs.Text,
293
+ { tag: "span", size: "sm", weight: "bold", class: "text-gray-900 dark:text-gray-100 uppercase tracking-wider" },
294
+ { default: () => groupTitle }
295
+ )
296
+ ]))) : null,
269
297
  _vue.h.call(void 0,
270
298
  _chunk27T3QDSFjs.Timeline,
271
- { items: timelineItems },
299
+ {
300
+ items: timelineItems,
301
+ style: {
302
+ "--tiger-border": "rgba(156, 163, 175, 0.18)"
303
+ },
304
+ renderDot: (timelineItem) => {
305
+ const activity = timelineItem.activity;
306
+ const statusVariant = _nullishCoalesce(_optionalChain([activity, 'optionalAccess', _9 => _9.status, 'optionalAccess', _10 => _10.variant]), () => ( "default"));
307
+ const baseDotClass = "w-3 h-3 rounded-full border-2 border-white dark:border-gray-950 shadow-sm";
308
+ let colorClass = "bg-gray-300 dark:bg-gray-700";
309
+ let pulseClass = "";
310
+ if (statusVariant === "success") {
311
+ colorClass = "bg-emerald-500";
312
+ pulseClass = "bg-emerald-500/30";
313
+ } else if (statusVariant === "warning") {
314
+ colorClass = "bg-amber-500";
315
+ pulseClass = "bg-amber-500/30";
316
+ } else if (statusVariant === "error" || statusVariant === "danger") {
317
+ colorClass = "bg-rose-500";
318
+ pulseClass = "bg-rose-500/30";
319
+ } else if (statusVariant === "primary" || statusVariant === "info") {
320
+ colorClass = "bg-blue-500";
321
+ pulseClass = "bg-blue-500/30";
322
+ }
323
+ return _vue.h.call(void 0, "div", { class: "relative flex items-center justify-center w-4 h-4" }, [
324
+ pulseClass ? _vue.h.call(void 0, "span", { class: `absolute inline-flex h-full w-full rounded-full animate-ping opacity-75 ${pulseClass}` }) : null,
325
+ _vue.h.call(void 0, "span", { class: `${baseDotClass} ${colorClass} relative z-10` })
326
+ ]);
327
+ }
328
+ },
272
329
  {
273
330
  item: ({ item, index }) => {
274
331
  const activity = item.activity;
@@ -285,7 +285,7 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
285
285
  return _vue.h.call(void 0,
286
286
  "div",
287
287
  {
288
- class: "inline-flex self-start rounded-[var(--tiger-radius-sm,0.375rem)] border border-[var(--tiger-border,#e5e7eb)] overflow-hidden"
288
+ class: "inline-flex items-center gap-0.5 p-0.5 rounded-lg bg-gray-100/80 dark:bg-gray-800/60 self-start"
289
289
  },
290
290
  options.map(
291
291
  (option) => _vue.h.call(void 0,
@@ -293,9 +293,8 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
293
293
  {
294
294
  key: option.key,
295
295
  class: _tigercatcore.classNames.call(void 0,
296
- "px-3 py-1 text-xs font-medium transition-colors",
297
- "border-r border-[var(--tiger-border,#e5e7eb)] last:border-r-0",
298
- currentReadFilter.value === option.key ? "bg-[var(--tiger-primary,#2563eb)] text-white" : "bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text-muted,#6b7280)] hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
296
+ "px-3.5 py-1 text-xs font-semibold rounded-md transition-all duration-200",
297
+ currentReadFilter.value === option.key ? "bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm scale-102" : "text-gray-500 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"
299
298
  ),
300
299
  onClick: () => handleReadFilterChange(option.key)
301
300
  },
@@ -311,26 +310,32 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
311
310
  "div",
312
311
  {
313
312
  class: _tigercatcore.classNames.call(void 0,
314
- "flex items-start gap-3 w-full py-0.5 transition-colors",
315
- !isRead && "border-l-2 border-l-[var(--tiger-primary,#2563eb)] -ml-[2px] pl-[calc(0.75rem-2px)]"
313
+ "group relative flex items-start gap-3.5 w-full p-3.5 rounded-xl transition-all duration-300 hover:bg-gray-50/60 dark:hover:bg-gray-800/30",
314
+ !isRead ? "bg-blue-50/20 dark:bg-blue-950/5 hover:bg-blue-50/40 dark:hover:bg-blue-950/10 border-l-[3px] border-l-blue-500/80 -ml-[3px] pl-[calc(0.875rem-3px)]" : "border-l-[3px] border-l-transparent -ml-[3px] pl-[calc(0.875rem-3px)]"
316
315
  )
317
316
  },
318
317
  [
319
318
  _vue.h.call(void 0, "div", { class: "flex-1 min-w-0" }, [
320
319
  _vue.h.call(void 0, "div", { class: "flex items-baseline justify-between gap-2" }, [
321
- _vue.h.call(void 0,
322
- _chunkTGHB5XSTjs.Text,
323
- {
324
- tag: "span",
325
- size: "sm",
326
- weight: isRead ? "normal" : "semibold"
327
- },
328
- { default: () => item.title }
329
- ),
320
+ _vue.h.call(void 0, "div", { class: "flex items-center gap-1.5" }, [
321
+ _vue.h.call(void 0,
322
+ _chunkTGHB5XSTjs.Text,
323
+ {
324
+ tag: "span",
325
+ size: "sm",
326
+ weight: isRead ? "normal" : "semibold",
327
+ class: isRead ? "text-gray-600 dark:text-gray-400" : "text-gray-900 dark:text-gray-100"
328
+ },
329
+ { default: () => item.title }
330
+ ),
331
+ !isRead ? _vue.h.call(void 0, "span", {
332
+ class: "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"
333
+ }) : null
334
+ ]),
330
335
  timeText ? _vue.h.call(void 0,
331
336
  "span",
332
337
  {
333
- class: "text-xs text-[var(--tiger-text-muted,#6b7280)] whitespace-nowrap flex-shrink-0"
338
+ class: "text-[11px] text-gray-400 dark:text-gray-500 font-medium whitespace-nowrap flex-shrink-0 self-center"
334
339
  },
335
340
  timeText
336
341
  ) : null
@@ -338,7 +343,10 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
338
343
  item.description ? _vue.h.call(void 0,
339
344
  "div",
340
345
  {
341
- class: "mt-0.5 text-xs text-[var(--tiger-text-muted,#6b7280)] line-clamp-2 leading-relaxed"
346
+ class: _tigercatcore.classNames.call(void 0,
347
+ "mt-1 text-xs leading-relaxed line-clamp-2",
348
+ isRead ? "text-gray-500 dark:text-gray-400" : "text-gray-600 dark:text-gray-300"
349
+ )
342
350
  },
343
351
  item.description
344
352
  ) : null
@@ -348,6 +356,7 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
348
356
  {
349
357
  size: "sm",
350
358
  variant: "ghost",
359
+ class: "opacity-0 group-hover:opacity-100 focus:opacity-100 rounded-full px-2.5 py-1 text-[11px] font-semibold transition-all duration-200 bg-gray-100 hover:bg-gray-200 dark:bg-gray-800 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300 border-0 flex-shrink-0 self-center",
351
360
  onClick: (event) => {
352
361
  event.stopPropagation();
353
362
  handleItemReadChange(item, !isRead);
@@ -358,20 +367,65 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
358
367
  ]
359
368
  );
360
369
  };
361
- const renderList = (items) => _vue.h.call(void 0,
362
- _chunkS6Q7TD6Hjs.List,
363
- {
364
- dataSource: items,
365
- split: true,
366
- bordered: "divided",
367
- hoverable: true,
368
- emptyText: props.emptyText,
369
- onItemClick: handleItemClick
370
- },
371
- {
372
- renderItem: ({ item, index }) => renderListItem(item, index)
370
+ const renderList = (items) => {
371
+ if (items.length === 0) {
372
+ return _vue.h.call(void 0,
373
+ "div",
374
+ { class: "flex flex-col items-center justify-center py-14 px-4 text-center" },
375
+ [
376
+ _vue.h.call(void 0,
377
+ "div",
378
+ {
379
+ class: "p-3.5 bg-gray-50 dark:bg-gray-900 rounded-full mb-3 shadow-inner"
380
+ },
381
+ [
382
+ _vue.h.call(void 0,
383
+ "svg",
384
+ {
385
+ class: "w-8 h-8 text-gray-400 dark:text-gray-600 animate-pulse",
386
+ fill: "none",
387
+ viewBox: "0 0 24 24",
388
+ stroke: "currentColor",
389
+ strokeWidth: "1.5"
390
+ },
391
+ [
392
+ _vue.h.call(void 0, "path", {
393
+ strokeLinecap: "round",
394
+ strokeLinejoin: "round",
395
+ 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"
396
+ })
397
+ ]
398
+ )
399
+ ]
400
+ ),
401
+ _vue.h.call(void 0,
402
+ _chunkTGHB5XSTjs.Text,
403
+ {
404
+ tag: "div",
405
+ size: "sm",
406
+ color: "muted",
407
+ class: "font-semibold text-gray-400 dark:text-gray-500"
408
+ },
409
+ { default: () => props.emptyText }
410
+ )
411
+ ]
412
+ );
373
413
  }
374
- );
414
+ return _vue.h.call(void 0,
415
+ _chunkS6Q7TD6Hjs.List,
416
+ {
417
+ dataSource: items,
418
+ split: true,
419
+ bordered: "divided",
420
+ hoverable: true,
421
+ emptyText: props.emptyText,
422
+ onItemClick: handleItemClick
423
+ },
424
+ {
425
+ renderItem: ({ item, index }) => renderListItem(item, index)
426
+ }
427
+ );
428
+ };
375
429
  const renderTabs = () => _vue.h.call(void 0,
376
430
  _chunk44N7LE3Qjs.Tabs,
377
431
  {
@@ -404,11 +458,15 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
404
458
  const header = _vue.h.call(void 0, "div", { class: "flex flex-col gap-3" }, [
405
459
  _vue.h.call(void 0, "div", { class: "flex items-center justify-between" }, [
406
460
  _vue.h.call(void 0, "div", { class: "flex items-center gap-2.5" }, [
407
- _vue.h.call(void 0, _chunkTGHB5XSTjs.Text, { tag: "div", size: "base", weight: "bold" }, { default: () => props.title }),
461
+ _vue.h.call(void 0,
462
+ _chunkTGHB5XSTjs.Text,
463
+ { tag: "div", size: "base", weight: "bold", class: "text-gray-900 dark:text-gray-100" },
464
+ { default: () => props.title }
465
+ ),
408
466
  totalUnread.value > 0 ? _vue.h.call(void 0,
409
467
  "span",
410
468
  {
411
- class: "inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 text-xs font-semibold rounded-full bg-[var(--tiger-primary,#2563eb)] text-white"
469
+ class: "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"
412
470
  },
413
471
  String(totalUnread.value)
414
472
  ) : null
@@ -419,6 +477,10 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
419
477
  size: "sm",
420
478
  variant: "ghost",
421
479
  disabled: !hasUnread.value,
480
+ class: _tigercatcore.classNames.call(void 0,
481
+ "text-xs font-semibold transition-colors duration-200",
482
+ hasUnread.value ? "text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300" : "text-gray-400 dark:text-gray-600"
483
+ ),
422
484
  onClick: handleMarkAllRead
423
485
  },
424
486
  { default: () => props.markAllReadText }
@@ -426,8 +488,8 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
426
488
  ]),
427
489
  renderReadFilterButtons()
428
490
  ]);
429
- const content = props.loading ? _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-12" }, [
430
- _vue.h.call(void 0, _chunk2LNNB55Ejs.Loading, { text: props.loadingText })
491
+ const content = props.loading ? _vue.h.call(void 0, "div", { class: "flex items-center justify-center py-16" }, [
492
+ _vue.h.call(void 0, _chunk2LNNB55Ejs.Loading, { text: props.loadingText, class: "text-blue-500 dark:text-blue-400 font-medium" })
431
493
  ]) : resolvedGroups.value.length > 0 ? _vue.h.call(void 0, "div", { class: "-mx-4 -mb-4" }, [renderTabs()]) : _vue.h.call(void 0, "div", { class: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto" }, [
432
494
  renderList(filteredFlatItems.value)
433
495
  ]);
@@ -445,7 +507,10 @@ var NotificationCenter = _vue.defineComponent.call(void 0, {
445
507
  [
446
508
  _vue.h.call(void 0,
447
509
  _chunkXGXGAK27js.Card,
448
- { variant: "bordered", className: "w-full" },
510
+ {
511
+ variant: "bordered",
512
+ className: "w-full rounded-2xl border border-gray-100/80 dark:border-gray-800/80 bg-white/95 dark:bg-gray-950/90 backdrop-blur-md shadow-[0_8px_30px_rgb(0,0,0,0.04)] dark:shadow-[0_8px_30px_rgb(0,0,0,0.2)] transition-all duration-300 overflow-hidden"
513
+ },
449
514
  {
450
515
  header: () => header,
451
516
  default: () => content