@expcat/tigercat-vue 1.0.4 → 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.
Files changed (211) hide show
  1. package/dist/{chunk-XA5QMUZX.mjs → chunk-J7VTGSHX.mjs} +78 -17
  2. package/dist/{chunk-BDMWFNTC.js → chunk-O2Q4UYDA.js} +77 -16
  3. package/dist/chunk-PLGYRHPX.mjs +87 -0
  4. package/dist/chunk-WBY2ILFK.js +90 -0
  5. package/dist/components/ActivityFeed.d.mts +5 -5
  6. package/dist/components/ActivityFeed.d.ts +5 -5
  7. package/dist/components/Affix.d.mts +1 -1
  8. package/dist/components/Affix.d.ts +1 -1
  9. package/dist/components/Alert.d.mts +3 -3
  10. package/dist/components/Alert.d.ts +3 -3
  11. package/dist/components/Anchor.d.mts +1 -1
  12. package/dist/components/Anchor.d.ts +1 -1
  13. package/dist/components/AnchorLink.d.mts +1 -1
  14. package/dist/components/AnchorLink.d.ts +1 -1
  15. package/dist/components/AreaChart.d.mts +1 -1
  16. package/dist/components/AreaChart.d.ts +1 -1
  17. package/dist/components/AutoComplete.d.mts +2 -2
  18. package/dist/components/AutoComplete.d.ts +2 -2
  19. package/dist/components/Avatar.d.mts +2 -2
  20. package/dist/components/Avatar.d.ts +2 -2
  21. package/dist/components/BackTop.d.mts +1 -1
  22. package/dist/components/BackTop.d.ts +1 -1
  23. package/dist/components/Badge.d.mts +5 -5
  24. package/dist/components/Badge.d.ts +5 -5
  25. package/dist/components/BarChart.d.mts +1 -1
  26. package/dist/components/BarChart.d.ts +1 -1
  27. package/dist/components/Breadcrumb.d.mts +1 -1
  28. package/dist/components/Breadcrumb.d.ts +1 -1
  29. package/dist/components/BreadcrumbItem.d.mts +3 -3
  30. package/dist/components/BreadcrumbItem.d.ts +3 -3
  31. package/dist/components/Button.d.mts +5 -5
  32. package/dist/components/Button.d.ts +5 -5
  33. package/dist/components/Calendar.d.mts +1 -1
  34. package/dist/components/Calendar.d.ts +1 -1
  35. package/dist/components/Card.d.mts +3 -3
  36. package/dist/components/Card.d.ts +3 -3
  37. package/dist/components/Carousel.d.mts +2 -2
  38. package/dist/components/Carousel.d.ts +2 -2
  39. package/dist/components/ChatWindow.d.mts +4 -4
  40. package/dist/components/ChatWindow.d.ts +4 -4
  41. package/dist/components/Code.d.mts +1 -1
  42. package/dist/components/Code.d.ts +1 -1
  43. package/dist/components/CodeEditor.d.mts +3 -3
  44. package/dist/components/CodeEditor.d.ts +3 -3
  45. package/dist/components/Collapse.d.mts +2 -2
  46. package/dist/components/Collapse.d.ts +2 -2
  47. package/dist/components/CollapsePanel.d.mts +2 -2
  48. package/dist/components/CollapsePanel.d.ts +2 -2
  49. package/dist/components/CommentThread.d.mts +4 -4
  50. package/dist/components/CommentThread.d.ts +4 -4
  51. package/dist/components/Content.d.mts +1 -1
  52. package/dist/components/Content.d.ts +1 -1
  53. package/dist/components/CropUpload.d.mts +1 -1
  54. package/dist/components/CropUpload.d.ts +1 -1
  55. package/dist/components/DataTableWithToolbar.d.mts +8 -8
  56. package/dist/components/DataTableWithToolbar.d.ts +8 -8
  57. package/dist/components/DatePicker.d.mts +3 -3
  58. package/dist/components/DatePicker.d.ts +3 -3
  59. package/dist/components/Descriptions.d.mts +4 -4
  60. package/dist/components/Descriptions.d.ts +4 -4
  61. package/dist/components/DonutChart.d.mts +2 -2
  62. package/dist/components/DonutChart.d.ts +2 -2
  63. package/dist/components/Drawer.d.mts +5 -5
  64. package/dist/components/Drawer.d.ts +5 -5
  65. package/dist/components/Dropdown.d.mts +1 -1
  66. package/dist/components/Dropdown.d.ts +1 -1
  67. package/dist/components/DropdownItem.d.mts +1 -1
  68. package/dist/components/DropdownItem.d.ts +1 -1
  69. package/dist/components/DropdownMenu.d.mts +1 -1
  70. package/dist/components/DropdownMenu.d.ts +1 -1
  71. package/dist/components/Empty.d.mts +1 -1
  72. package/dist/components/Empty.d.ts +1 -1
  73. package/dist/components/FileManager.d.mts +1 -1
  74. package/dist/components/FileManager.d.ts +1 -1
  75. package/dist/components/FloatButton.d.mts +6 -6
  76. package/dist/components/FloatButton.d.ts +6 -6
  77. package/dist/components/Footer.d.mts +1 -1
  78. package/dist/components/Footer.d.ts +1 -1
  79. package/dist/components/Form.d.mts +1 -1
  80. package/dist/components/Form.d.ts +1 -1
  81. package/dist/components/FormWizard.d.mts +2 -2
  82. package/dist/components/FormWizard.d.ts +2 -2
  83. package/dist/components/FunnelChart.d.mts +2 -2
  84. package/dist/components/FunnelChart.d.ts +2 -2
  85. package/dist/components/GaugeChart.d.mts +1 -1
  86. package/dist/components/GaugeChart.d.ts +1 -1
  87. package/dist/components/Header.d.mts +1 -1
  88. package/dist/components/Header.d.ts +1 -1
  89. package/dist/components/HeatmapChart.d.mts +1 -1
  90. package/dist/components/HeatmapChart.d.ts +1 -1
  91. package/dist/components/Image.d.mts +3 -3
  92. package/dist/components/Image.d.ts +3 -3
  93. package/dist/components/ImageCropper.d.mts +1 -1
  94. package/dist/components/ImageCropper.d.ts +1 -1
  95. package/dist/components/InfiniteScroll.d.mts +2 -2
  96. package/dist/components/InfiniteScroll.d.ts +2 -2
  97. package/dist/components/Input.d.mts +4 -4
  98. package/dist/components/Input.d.ts +4 -4
  99. package/dist/components/InputGroup.d.mts +1 -1
  100. package/dist/components/InputGroup.d.ts +1 -1
  101. package/dist/components/InputNumber.d.mts +1 -1
  102. package/dist/components/InputNumber.d.ts +1 -1
  103. package/dist/components/Kanban.d.mts +4 -4
  104. package/dist/components/Kanban.d.ts +4 -4
  105. package/dist/components/Kanban.js +4 -3
  106. package/dist/components/Kanban.mjs +2 -1
  107. package/dist/components/Layout.d.mts +1 -1
  108. package/dist/components/Layout.d.ts +1 -1
  109. package/dist/components/LineChart.d.mts +1 -1
  110. package/dist/components/LineChart.d.ts +1 -1
  111. package/dist/components/Link.d.mts +1 -1
  112. package/dist/components/Link.d.ts +1 -1
  113. package/dist/components/List.d.mts +5 -5
  114. package/dist/components/List.d.ts +5 -5
  115. package/dist/components/Loading.d.mts +3 -3
  116. package/dist/components/Loading.d.ts +3 -3
  117. package/dist/components/Mentions.d.mts +2 -2
  118. package/dist/components/Mentions.d.ts +2 -2
  119. package/dist/components/Menu.d.mts +2 -2
  120. package/dist/components/Menu.d.ts +2 -2
  121. package/dist/components/MenuItem.d.mts +1 -1
  122. package/dist/components/MenuItem.d.ts +1 -1
  123. package/dist/components/MenuItemGroup.d.mts +1 -1
  124. package/dist/components/MenuItemGroup.d.ts +1 -1
  125. package/dist/components/Modal.d.mts +5 -5
  126. package/dist/components/Modal.d.ts +5 -5
  127. package/dist/components/NotificationCenter.d.mts +6 -6
  128. package/dist/components/NotificationCenter.d.ts +6 -6
  129. package/dist/components/Pagination.d.mts +3 -3
  130. package/dist/components/Pagination.d.ts +3 -3
  131. package/dist/components/PieChart.d.mts +2 -2
  132. package/dist/components/PieChart.d.ts +2 -2
  133. package/dist/components/Popconfirm.d.mts +1 -1
  134. package/dist/components/Popconfirm.d.ts +1 -1
  135. package/dist/components/Popover.d.mts +2 -2
  136. package/dist/components/Popover.d.ts +2 -2
  137. package/dist/components/Progress.d.mts +3 -3
  138. package/dist/components/Progress.d.ts +3 -3
  139. package/dist/components/QRCode.d.mts +2 -2
  140. package/dist/components/QRCode.d.ts +2 -2
  141. package/dist/components/RadarChart.d.mts +1 -1
  142. package/dist/components/RadarChart.d.ts +1 -1
  143. package/dist/components/Resizable.d.mts +1 -1
  144. package/dist/components/Resizable.d.ts +1 -1
  145. package/dist/components/Result.d.mts +1 -1
  146. package/dist/components/Result.d.ts +1 -1
  147. package/dist/components/RichTextEditor.d.mts +1 -1
  148. package/dist/components/RichTextEditor.d.ts +1 -1
  149. package/dist/components/Row.d.mts +1 -1
  150. package/dist/components/Row.d.ts +1 -1
  151. package/dist/components/ScatterChart.d.mts +1 -1
  152. package/dist/components/ScatterChart.d.ts +1 -1
  153. package/dist/components/Select.d.mts +1 -1
  154. package/dist/components/Select.d.ts +1 -1
  155. package/dist/components/Sidebar.d.mts +1 -1
  156. package/dist/components/Sidebar.d.ts +1 -1
  157. package/dist/components/Skeleton.d.mts +2 -2
  158. package/dist/components/Skeleton.d.ts +2 -2
  159. package/dist/components/Slider.d.mts +2 -2
  160. package/dist/components/Slider.d.ts +2 -2
  161. package/dist/components/Splitter.d.mts +2 -2
  162. package/dist/components/Splitter.d.ts +2 -2
  163. package/dist/components/Statistic.d.mts +1 -1
  164. package/dist/components/Statistic.d.ts +1 -1
  165. package/dist/components/Steps.d.mts +2 -2
  166. package/dist/components/Steps.d.ts +2 -2
  167. package/dist/components/StepsItem.d.mts +2 -2
  168. package/dist/components/StepsItem.d.ts +2 -2
  169. package/dist/components/SubMenu.d.mts +1 -1
  170. package/dist/components/SubMenu.d.ts +1 -1
  171. package/dist/components/SunburstChart.d.mts +1 -1
  172. package/dist/components/SunburstChart.d.ts +1 -1
  173. package/dist/components/TabPane.d.mts +2 -2
  174. package/dist/components/TabPane.d.ts +2 -2
  175. package/dist/components/Table.d.mts +5 -5
  176. package/dist/components/Table.d.ts +5 -5
  177. package/dist/components/Tabs.d.mts +2 -2
  178. package/dist/components/Tabs.d.ts +2 -2
  179. package/dist/components/Tag.d.mts +2 -2
  180. package/dist/components/Tag.d.ts +2 -2
  181. package/dist/components/TaskBoard.d.mts +54 -3
  182. package/dist/components/TaskBoard.d.ts +54 -3
  183. package/dist/components/TaskBoard.js +3 -3
  184. package/dist/components/TaskBoard.mjs +1 -1
  185. package/dist/components/Text.d.mts +2 -2
  186. package/dist/components/Text.d.ts +2 -2
  187. package/dist/components/Textarea.d.mts +1 -1
  188. package/dist/components/Textarea.d.ts +1 -1
  189. package/dist/components/TimePicker.d.mts +4 -4
  190. package/dist/components/TimePicker.d.ts +4 -4
  191. package/dist/components/Timeline.d.mts +3 -3
  192. package/dist/components/Timeline.d.ts +3 -3
  193. package/dist/components/Tooltip.d.mts +2 -2
  194. package/dist/components/Tooltip.d.ts +2 -2
  195. package/dist/components/Tour.d.mts +1 -1
  196. package/dist/components/Tour.d.ts +1 -1
  197. package/dist/components/Tree.d.mts +3 -3
  198. package/dist/components/Tree.d.ts +3 -3
  199. package/dist/components/TreeMapChart.d.mts +1 -1
  200. package/dist/components/TreeMapChart.d.ts +1 -1
  201. package/dist/components/Upload.d.mts +4 -4
  202. package/dist/components/Upload.d.ts +4 -4
  203. package/dist/components/VirtualTable.d.mts +3 -3
  204. package/dist/components/VirtualTable.d.ts +3 -3
  205. package/dist/components/Watermark.d.mts +2 -2
  206. package/dist/components/Watermark.d.ts +2 -2
  207. package/dist/index.js +7 -7
  208. package/dist/index.mjs +2 -2
  209. package/package.json +2 -2
  210. package/dist/chunk-33C5E3AQ.mjs +0 -328
  211. package/dist/chunk-CXJUEG75.js +0 -331
package/dist/index.js CHANGED
@@ -14,7 +14,6 @@ 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');
@@ -54,7 +53,8 @@ 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 chunkCXJUEG75_js = require('./chunk-CXJUEG75.js');
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');
@@ -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; }
@@ -461,7 +457,11 @@ Object.defineProperty(exports, "InputNumber", {
461
457
  });
462
458
  Object.defineProperty(exports, "Kanban", {
463
459
  enumerable: true,
464
- get: function () { return chunkCXJUEG75_js.Kanban; }
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,
package/dist/index.mjs CHANGED
@@ -12,7 +12,6 @@ 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';
@@ -52,7 +51,8 @@ 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-33C5E3AQ.mjs';
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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expcat/tigercat-vue",
3
- "version": "1.0.4",
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.4"
46
+ "@expcat/tigercat-core": "1.0.7"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^25.0.3",
@@ -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 };