@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.
- package/dist/{chunk-OK7MTFAX.mjs → chunk-4GYBJBFJ.mjs} +76 -19
- package/dist/{chunk-YCBU3C4T.mjs → chunk-4J5EK3WY.mjs} +100 -35
- package/dist/{chunk-2C5TOAYI.js → chunk-663C2UX7.js} +2 -2
- package/dist/{chunk-P453RVKY.js → chunk-6G5IMGTC.js} +85 -14
- package/dist/{chunk-5ZAIW5W3.mjs → chunk-AQE5RZDE.mjs} +1 -1
- package/dist/{chunk-DYJ4Z47L.mjs → chunk-BPRKQVIL.mjs} +143 -46
- package/dist/{chunk-KOLARHCT.js → chunk-DEDRUUK4.js} +1 -0
- package/dist/{chunk-OW5D4LU6.js → chunk-DPHLBHJY.js} +86 -19
- package/dist/{chunk-VPNIZPIF.js → chunk-DS7RQFEG.js} +15 -2
- package/dist/{chunk-BGMQIUPP.js → chunk-EU4IGIPC.js} +7 -4
- package/dist/{chunk-V6YR7CPK.js → chunk-F4FPIIVT.js} +56 -21
- package/dist/{chunk-CN7HFUFN.mjs → chunk-F5S26BR3.mjs} +7 -4
- package/dist/{chunk-YCBLL5K3.js → chunk-FKLK6RHZ.js} +76 -19
- package/dist/{chunk-U5S3ZEYZ.js → chunk-H5JDEKIV.js} +100 -35
- package/dist/{chunk-XMGU52S5.js → chunk-L6W3XL3A.js} +143 -46
- package/dist/{chunk-ATRF7NPJ.mjs → chunk-LFQWJILV.mjs} +55 -20
- package/dist/{chunk-NMVKDWMK.mjs → chunk-MTYDCYGW.mjs} +83 -16
- package/dist/{chunk-F5JPUPWI.mjs → chunk-OF4MY6EC.mjs} +1 -0
- package/dist/{chunk-KLX7YHP2.mjs → chunk-OZLSZQXF.mjs} +83 -12
- package/dist/{chunk-PUSTYAMS.mjs → chunk-RE7K3KNW.mjs} +16 -3
- package/dist/{chunk-IIEMDA36.mjs → chunk-S45NWVQS.mjs} +14 -8
- package/dist/{chunk-CBZIVUCJ.js → chunk-VES3OJOP.js} +14 -8
- package/dist/components/ActivityFeed.d.mts +6 -6
- package/dist/components/ActivityFeed.d.ts +6 -6
- package/dist/components/ActivityFeed.js +2 -2
- package/dist/components/ActivityFeed.mjs +1 -1
- package/dist/components/Alert.d.mts +2 -2
- package/dist/components/Alert.d.ts +2 -2
- package/dist/components/Anchor.d.mts +1 -1
- package/dist/components/Anchor.d.ts +1 -1
- package/dist/components/AreaChart.d.mts +2 -2
- package/dist/components/AreaChart.d.ts +2 -2
- package/dist/components/AutoComplete.d.mts +2 -2
- package/dist/components/AutoComplete.d.ts +2 -2
- package/dist/components/Avatar.d.mts +1 -1
- package/dist/components/Avatar.d.ts +1 -1
- package/dist/components/Badge.d.mts +3 -3
- package/dist/components/Badge.d.ts +3 -3
- package/dist/components/BarChart.d.mts +1 -1
- package/dist/components/BarChart.d.ts +1 -1
- package/dist/components/Breadcrumb.d.mts +2 -2
- package/dist/components/Breadcrumb.d.ts +2 -2
- package/dist/components/Button.d.mts +3 -3
- package/dist/components/Button.d.ts +3 -3
- package/dist/components/ButtonGroup.d.mts +1 -1
- package/dist/components/ButtonGroup.d.ts +1 -1
- package/dist/components/Calendar.d.mts +1 -1
- package/dist/components/Calendar.d.ts +1 -1
- package/dist/components/Card.d.mts +2 -2
- package/dist/components/Card.d.ts +2 -2
- package/dist/components/ChartGrid.d.mts +1 -1
- package/dist/components/ChartGrid.d.ts +1 -1
- package/dist/components/ChatWindow.d.mts +3 -3
- package/dist/components/ChatWindow.d.ts +3 -3
- package/dist/components/ChatWindow.js +3 -2
- package/dist/components/ChatWindow.mjs +2 -1
- package/dist/components/CodeEditor.d.mts +2 -2
- package/dist/components/CodeEditor.d.ts +2 -2
- package/dist/components/Collapse.d.mts +1 -1
- package/dist/components/Collapse.d.ts +1 -1
- package/dist/components/CollapsePanel.d.mts +1 -1
- package/dist/components/CollapsePanel.d.ts +1 -1
- package/dist/components/ColorSwatch.d.mts +1 -1
- package/dist/components/ColorSwatch.d.ts +1 -1
- package/dist/components/CommentThread.d.mts +2 -2
- package/dist/components/CommentThread.d.ts +2 -2
- package/dist/components/CommentThread.js +2 -2
- package/dist/components/CommentThread.mjs +1 -1
- package/dist/components/ConfigProvider.d.mts +1 -1
- package/dist/components/ConfigProvider.d.ts +1 -1
- package/dist/components/CropUpload.js +2 -2
- package/dist/components/CropUpload.mjs +1 -1
- package/dist/components/DataTableWithToolbar.d.mts +8 -8
- package/dist/components/DataTableWithToolbar.d.ts +8 -8
- package/dist/components/DataTableWithToolbar.js +4 -3
- package/dist/components/DataTableWithToolbar.mjs +3 -2
- package/dist/components/DatePicker.d.mts +2 -2
- package/dist/components/DatePicker.d.ts +2 -2
- package/dist/components/Descriptions.d.mts +2 -2
- package/dist/components/Descriptions.d.ts +2 -2
- package/dist/components/DonutChart.d.mts +2 -2
- package/dist/components/DonutChart.d.ts +2 -2
- package/dist/components/Drawer.d.mts +4 -4
- package/dist/components/Drawer.d.ts +4 -4
- package/dist/components/FileManager.d.mts +1 -1
- package/dist/components/FileManager.d.ts +1 -1
- package/dist/components/FloatButton.d.mts +3 -3
- package/dist/components/FloatButton.d.ts +3 -3
- package/dist/components/Form.d.mts +1 -1
- package/dist/components/Form.d.ts +1 -1
- package/dist/components/FormWizard.d.mts +13 -4
- package/dist/components/FormWizard.d.ts +13 -4
- package/dist/components/FormWizard.js +3 -3
- package/dist/components/FormWizard.mjs +2 -2
- package/dist/components/FunnelChart.d.mts +1 -1
- package/dist/components/FunnelChart.d.ts +1 -1
- package/dist/components/Gantt.d.mts +1 -1
- package/dist/components/Gantt.d.ts +1 -1
- package/dist/components/GaugeChart.d.mts +1 -1
- package/dist/components/GaugeChart.d.ts +1 -1
- package/dist/components/HeatmapChart.d.mts +2 -2
- package/dist/components/HeatmapChart.d.ts +2 -2
- package/dist/components/Image.d.mts +2 -2
- package/dist/components/Image.d.ts +2 -2
- package/dist/components/ImageAnnotation.d.mts +4 -4
- package/dist/components/ImageAnnotation.d.ts +4 -4
- package/dist/components/InfiniteScroll.d.mts +2 -2
- package/dist/components/InfiniteScroll.d.ts +2 -2
- package/dist/components/Input.d.mts +4 -4
- package/dist/components/Input.d.ts +4 -4
- package/dist/components/InputGroup.d.mts +1 -1
- package/dist/components/InputGroup.d.ts +1 -1
- package/dist/components/InputNumber.d.mts +1 -1
- package/dist/components/InputNumber.d.ts +1 -1
- package/dist/components/Kanban.d.mts +1 -1
- package/dist/components/Kanban.d.ts +1 -1
- package/dist/components/Kanban.js +3 -3
- package/dist/components/Kanban.mjs +2 -2
- package/dist/components/LineChart.d.mts +2 -2
- package/dist/components/LineChart.d.ts +2 -2
- package/dist/components/Link.d.mts +1 -1
- package/dist/components/Link.d.ts +1 -1
- package/dist/components/List.d.mts +6 -6
- package/dist/components/List.d.ts +6 -6
- package/dist/components/Loading.d.mts +5 -5
- package/dist/components/Loading.d.ts +5 -5
- package/dist/components/MarkdownEditor.d.mts +2 -2
- package/dist/components/MarkdownEditor.d.ts +2 -2
- package/dist/components/Mentions.d.mts +2 -2
- package/dist/components/Mentions.d.ts +2 -2
- package/dist/components/Menu.d.mts +4 -4
- package/dist/components/Menu.d.ts +4 -4
- package/dist/components/Modal.d.mts +7 -7
- package/dist/components/Modal.d.ts +7 -7
- package/dist/components/NotificationCenter.d.mts +5 -5
- package/dist/components/NotificationCenter.d.ts +5 -5
- package/dist/components/NotificationCenter.js +2 -2
- package/dist/components/NotificationCenter.mjs +1 -1
- package/dist/components/NumberKeyboard.d.mts +2 -2
- package/dist/components/NumberKeyboard.d.ts +2 -2
- package/dist/components/OrgChart.d.mts +1 -1
- package/dist/components/OrgChart.d.ts +1 -1
- package/dist/components/Pagination.d.mts +3 -3
- package/dist/components/Pagination.d.ts +3 -3
- package/dist/components/PieChart.d.mts +2 -2
- package/dist/components/PieChart.d.ts +2 -2
- package/dist/components/Popconfirm.d.mts +2 -2
- package/dist/components/Popconfirm.d.ts +2 -2
- package/dist/components/Popover.d.mts +1 -1
- package/dist/components/Popover.d.ts +1 -1
- package/dist/components/Progress.d.mts +3 -3
- package/dist/components/Progress.d.ts +3 -3
- package/dist/components/QRCode.d.mts +1 -1
- package/dist/components/QRCode.d.ts +1 -1
- package/dist/components/RadarChart.d.mts +2 -2
- package/dist/components/RadarChart.d.ts +2 -2
- package/dist/components/RichTextEditor.d.mts +1 -1
- package/dist/components/RichTextEditor.d.ts +1 -1
- package/dist/components/Row.d.mts +1 -1
- package/dist/components/Row.d.ts +1 -1
- package/dist/components/ScatterChart.d.mts +1 -1
- package/dist/components/ScatterChart.d.ts +1 -1
- package/dist/components/ScrollSpy.d.mts +2 -2
- package/dist/components/ScrollSpy.d.ts +2 -2
- package/dist/components/Select.d.mts +1 -1
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Signature.d.mts +2 -2
- package/dist/components/Signature.d.ts +2 -2
- package/dist/components/Skeleton.d.mts +1 -1
- package/dist/components/Skeleton.d.ts +1 -1
- package/dist/components/Space.d.mts +2 -2
- package/dist/components/Space.d.ts +2 -2
- package/dist/components/Splitter.d.mts +1 -1
- package/dist/components/Splitter.d.ts +1 -1
- package/dist/components/Spotlight.d.mts +4 -4
- package/dist/components/Spotlight.d.ts +4 -4
- package/dist/components/Steps.d.mts +2 -2
- package/dist/components/Steps.d.ts +2 -2
- package/dist/components/Steps.js +2 -2
- package/dist/components/Steps.mjs +1 -1
- package/dist/components/StepsItem.js +3 -3
- package/dist/components/StepsItem.mjs +1 -1
- package/dist/components/SunburstChart.d.mts +1 -1
- package/dist/components/SunburstChart.d.ts +1 -1
- package/dist/components/Table.d.mts +5 -5
- package/dist/components/Table.d.ts +5 -5
- package/dist/components/Table.js +3 -2
- package/dist/components/Table.mjs +2 -1
- package/dist/components/Tabs.d.mts +2 -2
- package/dist/components/Tabs.d.ts +2 -2
- package/dist/components/Tag.d.mts +1 -1
- package/dist/components/Tag.d.ts +1 -1
- package/dist/components/TaskBoard.d.mts +1 -1
- package/dist/components/TaskBoard.d.ts +1 -1
- package/dist/components/TaskBoard.js +2 -2
- package/dist/components/TaskBoard.mjs +1 -1
- package/dist/components/Text.d.mts +3 -3
- package/dist/components/Text.d.ts +3 -3
- package/dist/components/Textarea.d.mts +1 -1
- package/dist/components/Textarea.d.ts +1 -1
- package/dist/components/TimePicker.d.mts +3 -3
- package/dist/components/TimePicker.d.ts +3 -3
- package/dist/components/Timeline.d.mts +3 -3
- package/dist/components/Timeline.d.ts +3 -3
- package/dist/components/Tooltip.d.mts +1 -1
- package/dist/components/Tooltip.d.ts +1 -1
- package/dist/components/Tour.d.mts +2 -2
- package/dist/components/Tour.d.ts +2 -2
- package/dist/components/Tree.d.mts +2 -2
- package/dist/components/Tree.d.ts +2 -2
- package/dist/components/TreeMapChart.d.mts +1 -1
- package/dist/components/TreeMapChart.d.ts +1 -1
- package/dist/components/Upload.d.mts +4 -4
- package/dist/components/Upload.d.ts +4 -4
- package/dist/components/VirtualTable.d.mts +2 -2
- package/dist/components/VirtualTable.d.ts +2 -2
- package/dist/components/Watermark.d.mts +1 -1
- package/dist/components/Watermark.d.ts +1 -1
- package/dist/index.js +15 -15
- package/dist/index.mjs +14 -14
- 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
|
|
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
|
|
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-[
|
|
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,
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
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
|
-
"
|
|
309
|
-
{
|
|
310
|
-
|
|
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:
|
|
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-
|
|
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,
|
|
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:
|
|
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-
|
|
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: "
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
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
|
-
{
|
|
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
|
|
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-
|
|
297
|
-
"
|
|
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
|
|
315
|
-
!isRead
|
|
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
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
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-
|
|
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:
|
|
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) =>
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
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,
|
|
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-
|
|
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-
|
|
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
|
-
{
|
|
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
|