@expcat/tigercat-vue 1.0.0 → 1.0.7
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-A64AWAOW.mjs → chunk-3ICMBQPM.mjs} +2 -0
- package/dist/{chunk-4KCCUIGO.mjs → chunk-3PQ2I5IQ.mjs} +1 -1
- package/dist/{chunk-MI5EG5QX.js → chunk-4DJ2HAYO.js} +2 -2
- package/dist/{chunk-5DXIYS7U.js → chunk-5G5Q3TTH.js} +1 -1
- package/dist/{chunk-ESTA5C5P.js → chunk-D2I2NNYI.js} +1 -1
- package/dist/{chunk-LJJ3VTR3.mjs → chunk-EZ6GXQMP.mjs} +1 -1
- package/dist/{chunk-XYIAHZNM.mjs → chunk-GTSS7RAT.mjs} +1 -1
- package/dist/{chunk-XA5QMUZX.mjs → chunk-J7VTGSHX.mjs} +78 -17
- package/dist/{chunk-SI3JIHH4.js → chunk-KI35GUL5.js} +1 -1
- package/dist/{chunk-DC5J25FH.mjs → chunk-NMGH5YTV.mjs} +1 -1
- package/dist/{chunk-BDMWFNTC.js → chunk-O2Q4UYDA.js} +77 -16
- package/dist/chunk-PLGYRHPX.mjs +87 -0
- package/dist/{chunk-PUALBK3Y.js → chunk-S2PMAXBQ.js} +2 -0
- package/dist/{chunk-C76CIM26.mjs → chunk-SAMKKXAW.mjs} +1 -1
- package/dist/{chunk-4F5ABXXM.js → chunk-WB6JGQWN.js} +1 -1
- package/dist/chunk-WBY2ILFK.js +90 -0
- package/dist/{chunk-3YWYAQR6.js → chunk-XGJWUZWS.js} +10 -9
- package/dist/{chunk-OEHCRIVT.mjs → chunk-YYRJA6VQ.mjs} +9 -8
- package/dist/components/CropUpload.js +3 -3
- package/dist/components/CropUpload.mjs +1 -1
- package/dist/components/DataTableWithToolbar.d.mts +14 -14
- package/dist/components/DataTableWithToolbar.d.ts +14 -14
- package/dist/components/DataTableWithToolbar.js +4 -4
- package/dist/components/DataTableWithToolbar.mjs +2 -2
- package/dist/components/Dropdown.js +4 -4
- package/dist/components/Dropdown.mjs +1 -1
- package/dist/components/DropdownItem.js +4 -4
- package/dist/components/DropdownItem.mjs +2 -2
- package/dist/components/HeatmapChart.js +3 -3
- package/dist/components/HeatmapChart.mjs +1 -1
- package/dist/components/Kanban.d.mts +2 -2
- package/dist/components/Kanban.d.ts +2 -2
- package/dist/components/Kanban.js +4 -3
- package/dist/components/Kanban.mjs +2 -1
- package/dist/components/NotificationCenter.js +3 -3
- package/dist/components/NotificationCenter.mjs +1 -1
- package/dist/components/Table.js +3 -3
- package/dist/components/Table.mjs +1 -1
- package/dist/components/TaskBoard.d.mts +52 -1
- package/dist/components/TaskBoard.d.ts +52 -1
- package/dist/components/TaskBoard.js +3 -3
- package/dist/components/TaskBoard.mjs +1 -1
- package/dist/components/Transfer.js +3 -3
- package/dist/components/Transfer.mjs +1 -1
- package/dist/index.js +23 -23
- package/dist/index.mjs +10 -10
- package/package.json +2 -2
- package/dist/chunk-33C5E3AQ.mjs +0 -328
- package/dist/chunk-CXJUEG75.js +0 -331
- /package/dist/{chunk-HTOCKV2N.mjs → chunk-HTG6ISVH.mjs} +0 -0
- /package/dist/{chunk-UG6XPJ2N.js → chunk-TT5LWQIZ.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -9,12 +9,11 @@ var chunkUPPRQ3ZS_js = require('./chunk-UPPRQ3ZS.js');
|
|
|
9
9
|
var chunkJN63Z5E5_js = require('./chunk-JN63Z5E5.js');
|
|
10
10
|
var chunkQ6CGPWQF_js = require('./chunk-Q6CGPWQF.js');
|
|
11
11
|
var chunk6VG6ARQG_js = require('./chunk-6VG6ARQG.js');
|
|
12
|
-
var
|
|
12
|
+
var chunkWB6JGQWN_js = require('./chunk-WB6JGQWN.js');
|
|
13
13
|
var chunkECUROLZ7_js = require('./chunk-ECUROLZ7.js');
|
|
14
14
|
var chunkESALMEHU_js = require('./chunk-ESALMEHU.js');
|
|
15
15
|
var chunkFOF7UBMU_js = require('./chunk-FOF7UBMU.js');
|
|
16
16
|
var chunkLAAPLTP3_js = require('./chunk-LAAPLTP3.js');
|
|
17
|
-
var chunkBDMWFNTC_js = require('./chunk-BDMWFNTC.js');
|
|
18
17
|
var chunkT4DF24UV_js = require('./chunk-T4DF24UV.js');
|
|
19
18
|
var chunkSLYUQ67P_js = require('./chunk-SLYUQ67P.js');
|
|
20
19
|
var chunkZNVQ2OFX_js = require('./chunk-ZNVQ2OFX.js');
|
|
@@ -38,7 +37,7 @@ var chunkBZBVSB43_js = require('./chunk-BZBVSB43.js');
|
|
|
38
37
|
var chunkGLW3P75K_js = require('./chunk-GLW3P75K.js');
|
|
39
38
|
var chunkKFE7T7CN_js = require('./chunk-KFE7T7CN.js');
|
|
40
39
|
var chunk2SK6T4WB_js = require('./chunk-2SK6T4WB.js');
|
|
41
|
-
var
|
|
40
|
+
var chunk5G5Q3TTH_js = require('./chunk-5G5Q3TTH.js');
|
|
42
41
|
var chunkBNIUWON3_js = require('./chunk-BNIUWON3.js');
|
|
43
42
|
var chunk5JSU44MQ_js = require('./chunk-5JSU44MQ.js');
|
|
44
43
|
var chunkTDL4BUUB_js = require('./chunk-TDL4BUUB.js');
|
|
@@ -54,29 +53,30 @@ var chunkNXGCLBVG_js = require('./chunk-NXGCLBVG.js');
|
|
|
54
53
|
var chunkAFKNO6SF_js = require('./chunk-AFKNO6SF.js');
|
|
55
54
|
var chunkDYSLYJ2W_js = require('./chunk-DYSLYJ2W.js');
|
|
56
55
|
var chunkHK2TAPQX_js = require('./chunk-HK2TAPQX.js');
|
|
57
|
-
var
|
|
56
|
+
var chunkWBY2ILFK_js = require('./chunk-WBY2ILFK.js');
|
|
57
|
+
var chunkO2Q4UYDA_js = require('./chunk-O2Q4UYDA.js');
|
|
58
58
|
var chunkU2K7CF67_js = require('./chunk-U2K7CF67.js');
|
|
59
59
|
var chunkWCZGYU7M_js = require('./chunk-WCZGYU7M.js');
|
|
60
60
|
var chunkNOTJRUAK_js = require('./chunk-NOTJRUAK.js');
|
|
61
61
|
var chunk6XU5PSC2_js = require('./chunk-6XU5PSC2.js');
|
|
62
62
|
var chunk34ZZLKQ4_js = require('./chunk-34ZZLKQ4.js');
|
|
63
63
|
var chunkCKXZONMO_js = require('./chunk-CKXZONMO.js');
|
|
64
|
-
var
|
|
64
|
+
var chunkKI35GUL5_js = require('./chunk-KI35GUL5.js');
|
|
65
65
|
var chunkRY2I56HB_js = require('./chunk-RY2I56HB.js');
|
|
66
66
|
var chunkBUTNEKFD_js = require('./chunk-BUTNEKFD.js');
|
|
67
67
|
var chunk6DP7XE77_js = require('./chunk-6DP7XE77.js');
|
|
68
|
-
var
|
|
68
|
+
var chunk4DJ2HAYO_js = require('./chunk-4DJ2HAYO.js');
|
|
69
69
|
var chunkNOZ65AMO_js = require('./chunk-NOZ65AMO.js');
|
|
70
70
|
var chunkVDNAGLQJ_js = require('./chunk-VDNAGLQJ.js');
|
|
71
71
|
var chunk2S5CNU36_js = require('./chunk-2S5CNU36.js');
|
|
72
72
|
var chunkSWOQMMOT_js = require('./chunk-SWOQMMOT.js');
|
|
73
73
|
var chunkSEKYX56R_js = require('./chunk-SEKYX56R.js');
|
|
74
74
|
var chunkD6AWPRGV_js = require('./chunk-D6AWPRGV.js');
|
|
75
|
-
var
|
|
75
|
+
var chunkD2I2NNYI_js = require('./chunk-D2I2NNYI.js');
|
|
76
76
|
var chunk7VSD3NPI_js = require('./chunk-7VSD3NPI.js');
|
|
77
77
|
var chunkK2U3FEL7_js = require('./chunk-K2U3FEL7.js');
|
|
78
|
-
var
|
|
79
|
-
var
|
|
78
|
+
var chunkXGJWUZWS_js = require('./chunk-XGJWUZWS.js');
|
|
79
|
+
var chunkTT5LWQIZ_js = require('./chunk-TT5LWQIZ.js');
|
|
80
80
|
var chunkPBWSBNDS_js = require('./chunk-PBWSBNDS.js');
|
|
81
81
|
var chunkAGAJJYP2_js = require('./chunk-AGAJJYP2.js');
|
|
82
82
|
var chunkQDFUM2QT_js = require('./chunk-QDFUM2QT.js');
|
|
@@ -85,7 +85,7 @@ var chunkEZZG57TK_js = require('./chunk-EZZG57TK.js');
|
|
|
85
85
|
var chunkRQREJGY3_js = require('./chunk-RQREJGY3.js');
|
|
86
86
|
var chunkTHEYWGOT_js = require('./chunk-THEYWGOT.js');
|
|
87
87
|
var chunkG4ZD6COW_js = require('./chunk-G4ZD6COW.js');
|
|
88
|
-
var
|
|
88
|
+
var chunkS2PMAXBQ_js = require('./chunk-S2PMAXBQ.js');
|
|
89
89
|
var chunkN5I5Y5JG_js = require('./chunk-N5I5Y5JG.js');
|
|
90
90
|
require('./chunk-IVTBNUKQ.js');
|
|
91
91
|
var chunkMVIHUPCX_js = require('./chunk-MVIHUPCX.js');
|
|
@@ -269,7 +269,7 @@ Object.defineProperty(exports, "Tour", {
|
|
|
269
269
|
});
|
|
270
270
|
Object.defineProperty(exports, "Transfer", {
|
|
271
271
|
enumerable: true,
|
|
272
|
-
get: function () { return
|
|
272
|
+
get: function () { return chunkWB6JGQWN_js.Transfer; }
|
|
273
273
|
});
|
|
274
274
|
Object.defineProperty(exports, "Tree", {
|
|
275
275
|
enumerable: true,
|
|
@@ -287,10 +287,6 @@ Object.defineProperty(exports, "Switch", {
|
|
|
287
287
|
enumerable: true,
|
|
288
288
|
get: function () { return chunkLAAPLTP3_js.Switch; }
|
|
289
289
|
});
|
|
290
|
-
Object.defineProperty(exports, "TaskBoard", {
|
|
291
|
-
enumerable: true,
|
|
292
|
-
get: function () { return chunkBDMWFNTC_js.TaskBoard; }
|
|
293
|
-
});
|
|
294
290
|
Object.defineProperty(exports, "Skeleton", {
|
|
295
291
|
enumerable: true,
|
|
296
292
|
get: function () { return chunkT4DF24UV_js.Skeleton; }
|
|
@@ -397,7 +393,7 @@ Object.defineProperty(exports, "notification", {
|
|
|
397
393
|
});
|
|
398
394
|
Object.defineProperty(exports, "NotificationCenter", {
|
|
399
395
|
enumerable: true,
|
|
400
|
-
get: function () { return
|
|
396
|
+
get: function () { return chunk5G5Q3TTH_js.NotificationCenter; }
|
|
401
397
|
});
|
|
402
398
|
Object.defineProperty(exports, "TabPane", {
|
|
403
399
|
enumerable: true,
|
|
@@ -461,7 +457,11 @@ Object.defineProperty(exports, "InputNumber", {
|
|
|
461
457
|
});
|
|
462
458
|
Object.defineProperty(exports, "Kanban", {
|
|
463
459
|
enumerable: true,
|
|
464
|
-
get: function () { return
|
|
460
|
+
get: function () { return chunkWBY2ILFK_js.Kanban; }
|
|
461
|
+
});
|
|
462
|
+
Object.defineProperty(exports, "TaskBoard", {
|
|
463
|
+
enumerable: true,
|
|
464
|
+
get: function () { return chunkO2Q4UYDA_js.TaskBoard; }
|
|
465
465
|
});
|
|
466
466
|
Object.defineProperty(exports, "FormWizard", {
|
|
467
467
|
enumerable: true,
|
|
@@ -489,7 +489,7 @@ Object.defineProperty(exports, "Header", {
|
|
|
489
489
|
});
|
|
490
490
|
Object.defineProperty(exports, "HeatmapChart", {
|
|
491
491
|
enumerable: true,
|
|
492
|
-
get: function () { return
|
|
492
|
+
get: function () { return chunkKI35GUL5_js.HeatmapChart; }
|
|
493
493
|
});
|
|
494
494
|
Object.defineProperty(exports, "Icon", {
|
|
495
495
|
enumerable: true,
|
|
@@ -505,7 +505,7 @@ Object.defineProperty(exports, "ImagePreview", {
|
|
|
505
505
|
});
|
|
506
506
|
Object.defineProperty(exports, "DropdownItem", {
|
|
507
507
|
enumerable: true,
|
|
508
|
-
get: function () { return
|
|
508
|
+
get: function () { return chunk4DJ2HAYO_js.DropdownItem; }
|
|
509
509
|
});
|
|
510
510
|
Object.defineProperty(exports, "Empty", {
|
|
511
511
|
enumerable: true,
|
|
@@ -537,7 +537,7 @@ Object.defineProperty(exports, "Form", {
|
|
|
537
537
|
});
|
|
538
538
|
Object.defineProperty(exports, "CropUpload", {
|
|
539
539
|
enumerable: true,
|
|
540
|
-
get: function () { return
|
|
540
|
+
get: function () { return chunkD2I2NNYI_js.CropUpload; }
|
|
541
541
|
});
|
|
542
542
|
Object.defineProperty(exports, "Modal", {
|
|
543
543
|
enumerable: true,
|
|
@@ -549,11 +549,11 @@ Object.defineProperty(exports, "ImageCropper", {
|
|
|
549
549
|
});
|
|
550
550
|
Object.defineProperty(exports, "DataTableWithToolbar", {
|
|
551
551
|
enumerable: true,
|
|
552
|
-
get: function () { return
|
|
552
|
+
get: function () { return chunkXGJWUZWS_js.DataTableWithToolbar; }
|
|
553
553
|
});
|
|
554
554
|
Object.defineProperty(exports, "Table", {
|
|
555
555
|
enumerable: true,
|
|
556
|
-
get: function () { return
|
|
556
|
+
get: function () { return chunkTT5LWQIZ_js.Table; }
|
|
557
557
|
});
|
|
558
558
|
Object.defineProperty(exports, "Select", {
|
|
559
559
|
enumerable: true,
|
|
@@ -589,7 +589,7 @@ Object.defineProperty(exports, "Drawer", {
|
|
|
589
589
|
});
|
|
590
590
|
Object.defineProperty(exports, "Dropdown", {
|
|
591
591
|
enumerable: true,
|
|
592
|
-
get: function () { return
|
|
592
|
+
get: function () { return chunkS2PMAXBQ_js.Dropdown; }
|
|
593
593
|
});
|
|
594
594
|
Object.defineProperty(exports, "DropdownMenu", {
|
|
595
595
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -7,12 +7,11 @@ export { Watermark } from './chunk-MADOTDW7.mjs';
|
|
|
7
7
|
export { TimePicker } from './chunk-UWL2XUAH.mjs';
|
|
8
8
|
export { Tooltip } from './chunk-564LMZQL.mjs';
|
|
9
9
|
export { Tour } from './chunk-YYZBVHVC.mjs';
|
|
10
|
-
export { Transfer } from './chunk-
|
|
10
|
+
export { Transfer } from './chunk-NMGH5YTV.mjs';
|
|
11
11
|
export { Tree } from './chunk-7DGAOCPX.mjs';
|
|
12
12
|
export { SubMenu } from './chunk-TTDBR2B4.mjs';
|
|
13
13
|
export { SunburstChart } from './chunk-W2WGLETE.mjs';
|
|
14
14
|
export { Switch } from './chunk-XYYZAQ6Z.mjs';
|
|
15
|
-
export { TaskBoard } from './chunk-XA5QMUZX.mjs';
|
|
16
15
|
export { Skeleton } from './chunk-YEHKQ3JZ.mjs';
|
|
17
16
|
export { Slider } from './chunk-2R5HISQA.mjs';
|
|
18
17
|
export { Space } from './chunk-M7EBWJZ5.mjs';
|
|
@@ -36,7 +35,7 @@ export { Rate } from './chunk-BPAN6T7H.mjs';
|
|
|
36
35
|
export { MenuItemGroup } from './chunk-JHY57P4P.mjs';
|
|
37
36
|
export { Message, MessageContainer } from './chunk-OXOCGMPN.mjs';
|
|
38
37
|
export { NotificationContainer, notification } from './chunk-JGUXQMYL.mjs';
|
|
39
|
-
export { NotificationCenter } from './chunk-
|
|
38
|
+
export { NotificationCenter } from './chunk-EZ6GXQMP.mjs';
|
|
40
39
|
export { TabPane } from './chunk-ZXR4DAAO.mjs';
|
|
41
40
|
export { Tabs } from './chunk-HKYYO326.mjs';
|
|
42
41
|
export { Popconfirm } from './chunk-243JSTYQ.mjs';
|
|
@@ -52,30 +51,31 @@ export { ImageViewer } from './chunk-HSXB2ASL.mjs';
|
|
|
52
51
|
export { InfiniteScroll } from './chunk-CQPHZU3H.mjs';
|
|
53
52
|
export { InputGroup, InputGroupAddon } from './chunk-VIIGYWUY.mjs';
|
|
54
53
|
export { InputNumber } from './chunk-LW3LFCRZ.mjs';
|
|
55
|
-
export { Kanban } from './chunk-
|
|
54
|
+
export { Kanban } from './chunk-PLGYRHPX.mjs';
|
|
55
|
+
export { TaskBoard } from './chunk-J7VTGSHX.mjs';
|
|
56
56
|
export { FormWizard } from './chunk-QDNTISP7.mjs';
|
|
57
57
|
export { StepsItem } from './chunk-BQEVLY2O.mjs';
|
|
58
58
|
export { Steps } from './chunk-7UU4PULK.mjs';
|
|
59
59
|
export { FunnelChart } from './chunk-KYQAAQKV.mjs';
|
|
60
60
|
export { GaugeChart } from './chunk-JM3ZZYTE.mjs';
|
|
61
61
|
export { Header } from './chunk-IGSAOYXD.mjs';
|
|
62
|
-
export { HeatmapChart } from './chunk-
|
|
62
|
+
export { HeatmapChart } from './chunk-GTSS7RAT.mjs';
|
|
63
63
|
export { Icon } from './chunk-WQXZ3234.mjs';
|
|
64
64
|
export { Image } from './chunk-YH7N5GZF.mjs';
|
|
65
65
|
import { init_ImagePreview } from './chunk-ZUVR5UZL.mjs';
|
|
66
66
|
export { ImagePreview } from './chunk-ZUVR5UZL.mjs';
|
|
67
|
-
export { DropdownItem } from './chunk-
|
|
67
|
+
export { DropdownItem } from './chunk-SAMKKXAW.mjs';
|
|
68
68
|
export { Empty } from './chunk-WFISP42H.mjs';
|
|
69
69
|
export { FileManager } from './chunk-OMYSFPX6.mjs';
|
|
70
70
|
export { FloatButton, FloatButtonGroup } from './chunk-PXRF4IJO.mjs';
|
|
71
71
|
export { Footer } from './chunk-46DEQQMB.mjs';
|
|
72
72
|
export { FormItem } from './chunk-MKLJ2LJW.mjs';
|
|
73
73
|
export { Form } from './chunk-WNF7XUX4.mjs';
|
|
74
|
-
export { CropUpload } from './chunk-
|
|
74
|
+
export { CropUpload } from './chunk-3PQ2I5IQ.mjs';
|
|
75
75
|
export { Modal } from './chunk-M6PEW6V5.mjs';
|
|
76
76
|
export { ImageCropper } from './chunk-T77L326M.mjs';
|
|
77
|
-
export { DataTableWithToolbar } from './chunk-
|
|
78
|
-
export { Table } from './chunk-
|
|
77
|
+
export { DataTableWithToolbar } from './chunk-YYRJA6VQ.mjs';
|
|
78
|
+
export { Table } from './chunk-HTG6ISVH.mjs';
|
|
79
79
|
export { Select } from './chunk-QNODDATK.mjs';
|
|
80
80
|
export { Pagination } from './chunk-NHCCPMLC.mjs';
|
|
81
81
|
export { DatePicker } from './chunk-HXLCWM2J.mjs';
|
|
@@ -84,7 +84,7 @@ export { Divider } from './chunk-EJCHNSVG.mjs';
|
|
|
84
84
|
export { DonutChart } from './chunk-ABPOLQLE.mjs';
|
|
85
85
|
export { PieChart } from './chunk-NVJRZYES.mjs';
|
|
86
86
|
export { Drawer } from './chunk-YFD6RD7P.mjs';
|
|
87
|
-
export { Dropdown } from './chunk-
|
|
87
|
+
export { Dropdown } from './chunk-3ICMBQPM.mjs';
|
|
88
88
|
export { DropdownMenu } from './chunk-AN3HKOCS.mjs';
|
|
89
89
|
import './chunk-CU4M5ABS.mjs';
|
|
90
90
|
export { Col } from './chunk-ZA2PLF7O.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expcat/tigercat-vue",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Vue 3 components for Tigercat UI library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Yizhe Wang",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@expcat/tigercat-core": "1.0.
|
|
46
|
+
"@expcat/tigercat-core": "1.0.7"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^25.0.3",
|
package/dist/chunk-33C5E3AQ.mjs
DELETED
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
import { useTigerConfig } from './chunk-XP5M2GK7.mjs';
|
|
2
|
-
import { defineComponent, ref, computed, watch, h } from 'vue';
|
|
3
|
-
import { filterColumns, mergeTigerLocale, getTaskBoardLabels, classNames, getKanbanContainerClasses, coerceClassValue, mergeStyleValues, isWipExceeded, getColumnCardCount, resolveLocaleText, kanbanCardCountClasses, taskBoardWipExceededClasses, taskBoardColumnHeaderClasses, taskBoardCardClasses, taskBoardCardDraggingClasses, taskBoardDropIndicatorClasses, taskBoardColumnBodyClasses, taskBoardEmptyClasses, kanbanAddCardClasses, taskBoardColumnClasses, taskBoardColumnDropTargetClasses, taskBoardColumnDraggingClasses, kanbanAddColumnClasses, setDragData, createCardDragData, parseDragData, moveCard, reorderColumns, getDropIndex, createColumnDragData, getColumnDropIndex } from '@expcat/tigercat-core';
|
|
4
|
-
|
|
5
|
-
var Kanban = defineComponent({
|
|
6
|
-
name: "TigerKanban",
|
|
7
|
-
inheritAttrs: false,
|
|
8
|
-
props: {
|
|
9
|
-
columns: {
|
|
10
|
-
type: Array,
|
|
11
|
-
default: void 0
|
|
12
|
-
},
|
|
13
|
-
defaultColumns: {
|
|
14
|
-
type: Array,
|
|
15
|
-
default: () => []
|
|
16
|
-
},
|
|
17
|
-
draggable: { type: Boolean, default: true },
|
|
18
|
-
columnDraggable: { type: Boolean, default: true },
|
|
19
|
-
enforceWipLimit: { type: Boolean, default: false },
|
|
20
|
-
beforeCardMove: {
|
|
21
|
-
type: Function,
|
|
22
|
-
default: void 0
|
|
23
|
-
},
|
|
24
|
-
beforeColumnMove: {
|
|
25
|
-
type: Function,
|
|
26
|
-
default: void 0
|
|
27
|
-
},
|
|
28
|
-
onCardAdd: {
|
|
29
|
-
type: Function,
|
|
30
|
-
default: void 0
|
|
31
|
-
},
|
|
32
|
-
filterText: { type: String, default: "" },
|
|
33
|
-
hiddenColumns: {
|
|
34
|
-
type: Array,
|
|
35
|
-
default: () => []
|
|
36
|
-
},
|
|
37
|
-
showCardCount: { type: Boolean, default: true },
|
|
38
|
-
allowAddCard: { type: Boolean, default: true },
|
|
39
|
-
allowAddColumn: { type: Boolean, default: false },
|
|
40
|
-
locale: {
|
|
41
|
-
type: Object,
|
|
42
|
-
default: void 0
|
|
43
|
-
},
|
|
44
|
-
className: { type: String, default: void 0 },
|
|
45
|
-
style: {
|
|
46
|
-
type: Object,
|
|
47
|
-
default: void 0
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
emits: ["card-move", "column-move", "update:columns", "card-add", "column-add"],
|
|
51
|
-
setup(props, { emit, attrs, slots }) {
|
|
52
|
-
const config = useTigerConfig();
|
|
53
|
-
const boardRef = ref(null);
|
|
54
|
-
const internalColumns = ref(props.defaultColumns ?? []);
|
|
55
|
-
const isControlled = computed(() => props.columns !== void 0);
|
|
56
|
-
const rawColumns = computed(() => isControlled.value ? props.columns : internalColumns.value);
|
|
57
|
-
const visibleColumns = computed(
|
|
58
|
-
() => filterColumns(rawColumns.value, props.filterText || "", props.hiddenColumns)
|
|
59
|
-
);
|
|
60
|
-
watch(
|
|
61
|
-
() => props.columns,
|
|
62
|
-
(v) => {
|
|
63
|
-
if (v) internalColumns.value = v;
|
|
64
|
-
}
|
|
65
|
-
);
|
|
66
|
-
function updateColumns(cols) {
|
|
67
|
-
if (!isControlled.value) internalColumns.value = cols;
|
|
68
|
-
emit("update:columns", cols);
|
|
69
|
-
}
|
|
70
|
-
const merged = computed(() => mergeTigerLocale(config.value.locale, props.locale));
|
|
71
|
-
const labels = computed(() => getTaskBoardLabels(merged.value));
|
|
72
|
-
const dragState = ref(null);
|
|
73
|
-
const dropTargetCol = ref(null);
|
|
74
|
-
const dropTargetIdx = ref(-1);
|
|
75
|
-
const dragType = computed(() => dragState.value?.type ?? null);
|
|
76
|
-
function onCardDragStart(e, card, colId, idx) {
|
|
77
|
-
if (!props.draggable || !e.dataTransfer) return;
|
|
78
|
-
setDragData(e.dataTransfer, createCardDragData(card.id, colId, idx));
|
|
79
|
-
dragState.value = { type: "card", id: card.id, fromColumnId: colId, fromIndex: idx };
|
|
80
|
-
}
|
|
81
|
-
function onColumnDragStart(e, colId, idx) {
|
|
82
|
-
if (!props.columnDraggable || !e.dataTransfer) return;
|
|
83
|
-
setDragData(e.dataTransfer, createColumnDragData(colId, idx));
|
|
84
|
-
dragState.value = { type: "column", id: colId, fromIndex: idx };
|
|
85
|
-
}
|
|
86
|
-
function onDragOver(e, colId) {
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
if (!dragState.value) return;
|
|
89
|
-
dropTargetCol.value = colId;
|
|
90
|
-
if (dragState.value.type === "card") {
|
|
91
|
-
const colEl = e.currentTarget.querySelector("[data-kanban-body]");
|
|
92
|
-
if (colEl) {
|
|
93
|
-
const cards = Array.from(colEl.querySelectorAll("[data-kanban-card]"));
|
|
94
|
-
const rects = cards.map((c) => c.getBoundingClientRect());
|
|
95
|
-
dropTargetIdx.value = getDropIndex(e.clientY, rects);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
function onColumnDragOver(e) {
|
|
100
|
-
e.preventDefault();
|
|
101
|
-
if (!dragState.value || dragState.value.type !== "column") return;
|
|
102
|
-
const boardEl = boardRef.value;
|
|
103
|
-
if (!boardEl) return;
|
|
104
|
-
const cols = Array.from(boardEl.querySelectorAll("[data-kanban-column]"));
|
|
105
|
-
const rects = cols.map((c) => c.getBoundingClientRect());
|
|
106
|
-
dropTargetIdx.value = getColumnDropIndex(e.clientX, rects);
|
|
107
|
-
}
|
|
108
|
-
async function onDrop(e) {
|
|
109
|
-
e.preventDefault();
|
|
110
|
-
if (!dragState.value || !e.dataTransfer) return;
|
|
111
|
-
const data = parseDragData(e.dataTransfer);
|
|
112
|
-
if (!data) return;
|
|
113
|
-
const cols = rawColumns.value;
|
|
114
|
-
if (data.type === "card" && dropTargetCol.value != null) {
|
|
115
|
-
if (props.beforeCardMove) {
|
|
116
|
-
const evt = {
|
|
117
|
-
cardId: data.cardId,
|
|
118
|
-
fromColumnId: data.columnId,
|
|
119
|
-
toColumnId: dropTargetCol.value,
|
|
120
|
-
fromIndex: data.index,
|
|
121
|
-
toIndex: dropTargetIdx.value
|
|
122
|
-
};
|
|
123
|
-
const ok = await props.beforeCardMove(evt);
|
|
124
|
-
if (!ok) {
|
|
125
|
-
resetDrag();
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const result = moveCard(
|
|
130
|
-
cols,
|
|
131
|
-
data.cardId,
|
|
132
|
-
data.columnId,
|
|
133
|
-
dropTargetCol.value,
|
|
134
|
-
dropTargetIdx.value,
|
|
135
|
-
{ enforceWipLimit: props.enforceWipLimit }
|
|
136
|
-
);
|
|
137
|
-
if (result) {
|
|
138
|
-
updateColumns(result.columns);
|
|
139
|
-
emit("card-move", result.event);
|
|
140
|
-
}
|
|
141
|
-
} else if (data.type === "column") {
|
|
142
|
-
if (props.beforeColumnMove) {
|
|
143
|
-
const evt = {
|
|
144
|
-
columnId: data.columnId,
|
|
145
|
-
fromIndex: data.index,
|
|
146
|
-
toIndex: dropTargetIdx.value
|
|
147
|
-
};
|
|
148
|
-
const ok = await props.beforeColumnMove(evt);
|
|
149
|
-
if (!ok) {
|
|
150
|
-
resetDrag();
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
const result = reorderColumns(cols, data.index, dropTargetIdx.value);
|
|
155
|
-
if (result) {
|
|
156
|
-
updateColumns(result.columns);
|
|
157
|
-
emit("column-move", result.event);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
resetDrag();
|
|
161
|
-
}
|
|
162
|
-
function onDragEnd() {
|
|
163
|
-
resetDrag();
|
|
164
|
-
}
|
|
165
|
-
function resetDrag() {
|
|
166
|
-
dragState.value = null;
|
|
167
|
-
dropTargetCol.value = null;
|
|
168
|
-
dropTargetIdx.value = -1;
|
|
169
|
-
}
|
|
170
|
-
const containerClasses = computed(
|
|
171
|
-
() => classNames(getKanbanContainerClasses(props.className), coerceClassValue(attrs.class))
|
|
172
|
-
);
|
|
173
|
-
const containerStyle = computed(() => mergeStyleValues(attrs.style, props.style));
|
|
174
|
-
return () => {
|
|
175
|
-
const children = visibleColumns.value.map((col, colIdx) => {
|
|
176
|
-
const wipExceeded = isWipExceeded(col);
|
|
177
|
-
const cardCount = getColumnCardCount(col);
|
|
178
|
-
const isDragOverCol = dropTargetCol.value === col.id;
|
|
179
|
-
const isColDragging = dragState.value?.type === "column" && dragState.value.id === col.id;
|
|
180
|
-
const headerContent = [
|
|
181
|
-
slots["column-header"] ? slots["column-header"]({ column: col }) : h("span", {}, resolveLocaleText(col.title)),
|
|
182
|
-
props.showCardCount ? h(
|
|
183
|
-
"span",
|
|
184
|
-
{
|
|
185
|
-
class: classNames(
|
|
186
|
-
kanbanCardCountClasses,
|
|
187
|
-
wipExceeded && taskBoardWipExceededClasses
|
|
188
|
-
)
|
|
189
|
-
},
|
|
190
|
-
cardCount.limit ? `${cardCount.count}/${cardCount.limit}` : `${cardCount.count}`
|
|
191
|
-
) : null
|
|
192
|
-
];
|
|
193
|
-
const header = h(
|
|
194
|
-
"div",
|
|
195
|
-
{
|
|
196
|
-
class: classNames(
|
|
197
|
-
taskBoardColumnHeaderClasses,
|
|
198
|
-
wipExceeded && taskBoardWipExceededClasses
|
|
199
|
-
)
|
|
200
|
-
},
|
|
201
|
-
headerContent
|
|
202
|
-
);
|
|
203
|
-
const cardEls = col.cards.map((card, cardIdx) => {
|
|
204
|
-
const isCardDragging = dragState.value?.type === "card" && dragState.value.id === card.id;
|
|
205
|
-
return h(
|
|
206
|
-
"div",
|
|
207
|
-
{
|
|
208
|
-
key: card.id,
|
|
209
|
-
class: classNames(
|
|
210
|
-
taskBoardCardClasses,
|
|
211
|
-
isCardDragging && taskBoardCardDraggingClasses
|
|
212
|
-
),
|
|
213
|
-
draggable: props.draggable,
|
|
214
|
-
"data-kanban-card": "",
|
|
215
|
-
onDragstart: (e) => onCardDragStart(e, card, col.id, cardIdx)
|
|
216
|
-
},
|
|
217
|
-
slots.card ? slots.card({ card, columnId: col.id }) : [
|
|
218
|
-
h("div", { class: "font-medium text-sm" }, resolveLocaleText(card.title)),
|
|
219
|
-
card.description ? h(
|
|
220
|
-
"div",
|
|
221
|
-
{ class: "text-xs text-[var(--tiger-text-muted,#6b7280)] mt-1" },
|
|
222
|
-
card.description
|
|
223
|
-
) : null
|
|
224
|
-
]
|
|
225
|
-
);
|
|
226
|
-
});
|
|
227
|
-
if (isDragOverCol && dragType.value === "card" && dropTargetIdx.value >= 0) {
|
|
228
|
-
cardEls.splice(
|
|
229
|
-
dropTargetIdx.value,
|
|
230
|
-
0,
|
|
231
|
-
h("div", {
|
|
232
|
-
key: "__drop-indicator",
|
|
233
|
-
class: taskBoardDropIndicatorClasses
|
|
234
|
-
})
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
const body = h(
|
|
238
|
-
"div",
|
|
239
|
-
{
|
|
240
|
-
class: taskBoardColumnBodyClasses,
|
|
241
|
-
"data-kanban-body": ""
|
|
242
|
-
},
|
|
243
|
-
cardEls.length > 0 ? cardEls : [
|
|
244
|
-
h(
|
|
245
|
-
"div",
|
|
246
|
-
{ class: taskBoardEmptyClasses },
|
|
247
|
-
resolveLocaleText(labels.value.emptyColumnText)
|
|
248
|
-
)
|
|
249
|
-
]
|
|
250
|
-
);
|
|
251
|
-
const addBtn = props.allowAddCard ? h(
|
|
252
|
-
"div",
|
|
253
|
-
{
|
|
254
|
-
class: kanbanAddCardClasses,
|
|
255
|
-
role: "button",
|
|
256
|
-
tabindex: 0,
|
|
257
|
-
onClick: () => {
|
|
258
|
-
props.onCardAdd?.(col.id);
|
|
259
|
-
emit("card-add", col.id);
|
|
260
|
-
},
|
|
261
|
-
onKeydown: (e) => {
|
|
262
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
263
|
-
e.preventDefault();
|
|
264
|
-
props.onCardAdd?.(col.id);
|
|
265
|
-
emit("card-add", col.id);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
"+ " + resolveLocaleText(labels.value.addCardText)
|
|
270
|
-
) : null;
|
|
271
|
-
return h(
|
|
272
|
-
"div",
|
|
273
|
-
{
|
|
274
|
-
key: col.id,
|
|
275
|
-
class: classNames(
|
|
276
|
-
taskBoardColumnClasses,
|
|
277
|
-
isDragOverCol && dragType.value === "card" && taskBoardColumnDropTargetClasses,
|
|
278
|
-
isColDragging && taskBoardColumnDraggingClasses
|
|
279
|
-
),
|
|
280
|
-
"data-kanban-column": "",
|
|
281
|
-
draggable: props.columnDraggable,
|
|
282
|
-
onDragstart: (e) => onColumnDragStart(e, col.id, colIdx),
|
|
283
|
-
onDragover: (e) => onDragOver(e, col.id),
|
|
284
|
-
onDrop,
|
|
285
|
-
onDragend: onDragEnd
|
|
286
|
-
},
|
|
287
|
-
[header, body, addBtn]
|
|
288
|
-
);
|
|
289
|
-
});
|
|
290
|
-
if (props.allowAddColumn) {
|
|
291
|
-
children.push(
|
|
292
|
-
h(
|
|
293
|
-
"div",
|
|
294
|
-
{
|
|
295
|
-
key: "__add-column",
|
|
296
|
-
class: kanbanAddColumnClasses,
|
|
297
|
-
role: "button",
|
|
298
|
-
tabindex: 0,
|
|
299
|
-
onClick: () => emit("column-add"),
|
|
300
|
-
onKeydown: (e) => {
|
|
301
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
302
|
-
e.preventDefault();
|
|
303
|
-
emit("column-add");
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
},
|
|
307
|
-
"+ " + resolveLocaleText(labels.value.addCardText)
|
|
308
|
-
)
|
|
309
|
-
);
|
|
310
|
-
}
|
|
311
|
-
return h(
|
|
312
|
-
"div",
|
|
313
|
-
{
|
|
314
|
-
ref: boardRef,
|
|
315
|
-
class: containerClasses.value,
|
|
316
|
-
style: containerStyle.value,
|
|
317
|
-
role: "region",
|
|
318
|
-
"aria-label": "Kanban board",
|
|
319
|
-
onDragover: onColumnDragOver
|
|
320
|
-
},
|
|
321
|
-
children
|
|
322
|
-
);
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
var Kanban_default = Kanban;
|
|
327
|
-
|
|
328
|
-
export { Kanban, Kanban_default };
|