blixify-ui-web 1.2.122 → 1.2.124
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/lib/components/data/dataTemplate/dataStateModel.d.ts +3 -0
- package/lib/components/data/dataTemplate/dataStateModel.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/dataStateModel.js.map +1 -1
- package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/index.js +594 -281
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/model.d.ts +13 -13
- package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +70 -2
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.js +382 -15
- package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
- package/lib/components/data/flexFilter/index.d.ts.map +1 -1
- package/lib/components/data/flexFilter/index.js +16 -16
- package/lib/components/data/flexFilter/index.js.map +1 -1
- package/lib/components/data/writeQuery/index.d.ts +1 -0
- package/lib/components/data/writeQuery/index.d.ts.map +1 -1
- package/lib/components/data/writeQuery/index.js +2 -0
- package/lib/components/data/writeQuery/index.js.map +1 -1
- package/lib/components/display/grid/index.d.ts.map +1 -1
- package/lib/components/display/grid/index.js +1 -1
- package/lib/components/display/grid/index.js.map +1 -1
- package/lib/components/display/kanban/index.d.ts.map +1 -1
- package/lib/components/display/kanban/index.js +1 -1
- package/lib/components/display/kanban/index.js.map +1 -1
- package/lib/components/display/list/index.d.ts.map +1 -1
- package/lib/components/display/list/index.js +1 -1
- package/lib/components/display/list/index.js.map +1 -1
- package/lib/components/display/newFeeds/index.d.ts.map +1 -1
- package/lib/components/display/newFeeds/index.js +1 -1
- package/lib/components/display/newFeeds/index.js.map +1 -1
- package/lib/components/display/newGrid/index.d.ts +41 -0
- package/lib/components/display/newGrid/index.d.ts.map +1 -0
- package/lib/components/display/newGrid/index.js +248 -0
- package/lib/components/display/newGrid/index.js.map +1 -0
- package/lib/components/display/newKanban/index.d.ts +11 -4
- package/lib/components/display/newKanban/index.d.ts.map +1 -1
- package/lib/components/display/newKanban/index.js +73 -41
- package/lib/components/display/newKanban/index.js.map +1 -1
- package/lib/components/display/newList/index.js +1 -1
- package/lib/components/display/newList/index.js.map +1 -1
- package/lib/components/display/newTable/index.d.ts +3 -3
- package/lib/components/display/newTable/index.d.ts.map +1 -1
- package/lib/components/display/newTable/index.js +47 -36
- package/lib/components/display/newTable/index.js.map +1 -1
- package/lib/components/display/table/index.d.ts.map +1 -1
- package/lib/components/display/table/index.js +2 -2
- package/lib/components/display/table/index.js.map +1 -1
- package/lib/components/display/tag/index.d.ts.map +1 -1
- package/lib/components/display/tag/index.js +13 -1
- package/lib/components/display/tag/index.js.map +1 -1
- package/lib/components/input/datePicker/index.d.ts +2 -0
- package/lib/components/input/datePicker/index.d.ts.map +1 -1
- package/lib/components/input/datePicker/index.js +11 -3
- package/lib/components/input/datePicker/index.js.map +1 -1
- package/lib/components/input/select/index.d.ts +1 -0
- package/lib/components/input/select/index.d.ts.map +1 -1
- package/lib/components/input/select/index.js +20 -13
- package/lib/components/input/select/index.js.map +1 -1
- package/lib/components/input/signature/index.d.ts +1 -0
- package/lib/components/input/signature/index.d.ts.map +1 -1
- package/lib/components/input/signature/index.js +8 -1
- package/lib/components/input/signature/index.js.map +1 -1
- package/lib/components/input/textInput/index.d.ts +2 -0
- package/lib/components/input/textInput/index.d.ts.map +1 -1
- package/lib/components/input/textInput/index.js +16 -3
- package/lib/components/input/textInput/index.js.map +1 -1
- package/lib/components/navigation/bars/index.d.ts +7 -4
- package/lib/components/navigation/bars/index.d.ts.map +1 -1
- package/lib/components/navigation/bars/index.js +56 -20
- package/lib/components/navigation/bars/index.js.map +1 -1
- package/lib/components/navigation/leftNav/index.d.ts +12 -2
- package/lib/components/navigation/leftNav/index.d.ts.map +1 -1
- package/lib/components/navigation/leftNav/index.js +48 -15
- package/lib/components/navigation/leftNav/index.js.map +1 -1
- package/lib/components/storyUtils.js +1 -1
- package/lib/components/storyUtils.js.map +1 -1
- package/lib/tail.css +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.NewGrid = void 0;
|
|
27
|
+
var outline_1 = require("@heroicons/react/24/outline");
|
|
28
|
+
var react_1 = __importStar(require("react"));
|
|
29
|
+
var link_1 = require("../../structure/link");
|
|
30
|
+
var emptyState_1 = require("../emptyState");
|
|
31
|
+
var loading_1 = require("../loading");
|
|
32
|
+
var newPagination_1 = require("../newPagination");
|
|
33
|
+
var tag_1 = require("../tag");
|
|
34
|
+
// INFO: matches legacy Grid's default (5) for drop-in parity. Intentionally
|
|
35
|
+
// differs from NewPagination's own default (10) — NewGrid always forwards an
|
|
36
|
+
// explicit limit below, so NewPagination's fallback is never reached from here.
|
|
37
|
+
var defaultLimit = 5;
|
|
38
|
+
var NewGrid = function (props) {
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
var _d = (0, react_1.useState)(false), dragging = _d[0], setDragging = _d[1];
|
|
41
|
+
var _e = (0, react_1.useState)(false), infinityLoading = _e[0], setInfinityLoading = _e[1];
|
|
42
|
+
var scrollRef = (0, react_1.useRef)(null);
|
|
43
|
+
var pos = (0, react_1.useRef)({ top: 0, left: 0, x: 0, y: 0 });
|
|
44
|
+
var grabbing = (0, react_1.useRef)(false);
|
|
45
|
+
var bg = props.darkMode ? ((_a = props.darkModeBg) !== null && _a !== void 0 ? _a : "bg-gray-900") : "bg-white";
|
|
46
|
+
var borderColor = props.darkMode ? "border-gray-700" : "border-gray-100";
|
|
47
|
+
var titleColor = props.darkMode ? "text-primary-300" : "text-primary-600";
|
|
48
|
+
// INFO: same body-text tokens as NewTable/NewList so cards and rows read
|
|
49
|
+
// identically inside the same dashboard
|
|
50
|
+
var textColor = props.darkMode ? "text-gray-200" : "text-gray-700";
|
|
51
|
+
var imgClass = props.imgContain ? "object-contain" : "object-cover";
|
|
52
|
+
// INFO: cursor reset stops the append spinner once the next page has arrived
|
|
53
|
+
(0, react_1.useEffect)(function () {
|
|
54
|
+
setInfinityLoading(false);
|
|
55
|
+
}, [props.cursor]);
|
|
56
|
+
// ─── horizontal scroll: grab-to-pan + infinite load ─────────────────────────
|
|
57
|
+
// INFO: shared trigger — fires from both wheel/trackpad scroll and grab-to-pan
|
|
58
|
+
// drag, matching legacy Grid which loaded the next page in both paths.
|
|
59
|
+
var handleMaybeLoadNext = function () {
|
|
60
|
+
var _a;
|
|
61
|
+
var el = scrollRef.current;
|
|
62
|
+
if (props.cursor &&
|
|
63
|
+
props.paginationType === "scroll" &&
|
|
64
|
+
props.horizontalScroll &&
|
|
65
|
+
!infinityLoading &&
|
|
66
|
+
el &&
|
|
67
|
+
el.clientWidth + el.scrollLeft >= el.scrollWidth - 50) {
|
|
68
|
+
setInfinityLoading(true);
|
|
69
|
+
(_a = props.handleUpdatePageIndex) === null || _a === void 0 ? void 0 : _a.call(props, "next");
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var handleScroll = function () {
|
|
73
|
+
handleMaybeLoadNext();
|
|
74
|
+
};
|
|
75
|
+
var handleSeedGrab = function (e) {
|
|
76
|
+
var el = scrollRef.current;
|
|
77
|
+
if (!el)
|
|
78
|
+
return;
|
|
79
|
+
grabbing.current = true;
|
|
80
|
+
pos.current = {
|
|
81
|
+
left: el.scrollLeft,
|
|
82
|
+
top: el.scrollTop,
|
|
83
|
+
x: e.clientX,
|
|
84
|
+
y: e.clientY,
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
var handleMouseDown = function (e) {
|
|
88
|
+
var el = scrollRef.current;
|
|
89
|
+
if (!el || !props.horizontalScroll)
|
|
90
|
+
return;
|
|
91
|
+
el.style.cursor = "grabbing";
|
|
92
|
+
el.style.userSelect = "none";
|
|
93
|
+
handleSeedGrab(e);
|
|
94
|
+
};
|
|
95
|
+
// INFO: re-seed when the pointer re-enters mid-drag, otherwise the stale origin
|
|
96
|
+
// in pos.current makes the row jump on the next mousemove
|
|
97
|
+
var handleMouseEnter = function (e) {
|
|
98
|
+
if (!props.horizontalScroll || e.buttons !== 1)
|
|
99
|
+
return;
|
|
100
|
+
handleSeedGrab(e);
|
|
101
|
+
};
|
|
102
|
+
var handleMouseMove = function (e) {
|
|
103
|
+
var el = scrollRef.current;
|
|
104
|
+
// INFO: only pan while a grab is active (left button held since a seeded mousedown/enter)
|
|
105
|
+
if (!el || !props.horizontalScroll || e.buttons !== 1 || !grabbing.current)
|
|
106
|
+
return;
|
|
107
|
+
var dx = e.clientX - pos.current.x;
|
|
108
|
+
var dy = e.clientY - pos.current.y;
|
|
109
|
+
if (Math.abs(dx) > 3 || Math.abs(dy) > 3)
|
|
110
|
+
setDragging(true);
|
|
111
|
+
el.scrollTop = pos.current.top - dy;
|
|
112
|
+
el.scrollLeft = pos.current.left - dx;
|
|
113
|
+
// INFO: onScroll does not reliably fire during a grab-pan, so check the
|
|
114
|
+
// right-edge threshold here too or scroll-paginated grids never auto-load.
|
|
115
|
+
handleMaybeLoadNext();
|
|
116
|
+
};
|
|
117
|
+
var handleMouseUp = function () {
|
|
118
|
+
var el = scrollRef.current;
|
|
119
|
+
grabbing.current = false;
|
|
120
|
+
if (el && props.horizontalScroll) {
|
|
121
|
+
el.style.cursor = "grab";
|
|
122
|
+
el.style.removeProperty("user-select");
|
|
123
|
+
}
|
|
124
|
+
// INFO: defer clearing so the click handler can suppress a pan-release click
|
|
125
|
+
setTimeout(function () { return setDragging(false); }, 150);
|
|
126
|
+
};
|
|
127
|
+
// ─── drag & drop between cards ──────────────────────────────────────────────
|
|
128
|
+
var handleDragStart = function (e, id) {
|
|
129
|
+
e.dataTransfer.setData("itemId", id);
|
|
130
|
+
};
|
|
131
|
+
var handleDragOver = function (e) {
|
|
132
|
+
e.preventDefault();
|
|
133
|
+
};
|
|
134
|
+
var handleDrop = function (e, id) {
|
|
135
|
+
e.preventDefault();
|
|
136
|
+
var dragId = e.dataTransfer.getData("itemId");
|
|
137
|
+
if (props.onDropData)
|
|
138
|
+
props.onDropData(dragId, id);
|
|
139
|
+
};
|
|
140
|
+
var handleClickData = function (id, e) {
|
|
141
|
+
// INFO: cmd/ctrl-click never reaches here — Link stops propagation and opens
|
|
142
|
+
// the new tab itself, so this only ever runs for a plain click.
|
|
143
|
+
e.preventDefault();
|
|
144
|
+
e.stopPropagation();
|
|
145
|
+
// INFO: a grab-to-pan release must not register as a card click
|
|
146
|
+
if (props.onClickData && !dragging)
|
|
147
|
+
props.onClickData(id);
|
|
148
|
+
};
|
|
149
|
+
// ─── which items are visible for the current page ───────────────────────────
|
|
150
|
+
var handleGetVisibleData = function () {
|
|
151
|
+
var _a, _b;
|
|
152
|
+
var limit = (_a = props.limit) !== null && _a !== void 0 ? _a : defaultLimit;
|
|
153
|
+
if (props.paginationType === "cursor" ||
|
|
154
|
+
props.paginationType === "scroll") {
|
|
155
|
+
var minIndex_1 = ((_b = props.pageIndex) !== null && _b !== void 0 ? _b : 0) * limit;
|
|
156
|
+
return props.data
|
|
157
|
+
.map(function (item, index) { return ({ item: item, index: index }); })
|
|
158
|
+
.filter(function (_a) {
|
|
159
|
+
var index = _a.index;
|
|
160
|
+
if (props.paginationType === "scroll")
|
|
161
|
+
return true;
|
|
162
|
+
return index >= minIndex_1 && index < minIndex_1 + limit;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
return props.data.map(function (item, index) { return ({ item: item, index: index }); });
|
|
166
|
+
};
|
|
167
|
+
var renderTags = function (item) {
|
|
168
|
+
if (!item.tags || item.tags.length === 0)
|
|
169
|
+
return null;
|
|
170
|
+
return (react_1.default.createElement("div", { className: "mb-2 flex flex-wrap gap-1" }, item.tags.map(function (tag, i) { return (react_1.default.createElement(tag_1.Tag, { key: "".concat(tag, "-").concat(i), tagText: tag, size: "small", variant: "flat", color: "primary", rounded: "md" })); })));
|
|
171
|
+
};
|
|
172
|
+
var renderCardInner = function (item) {
|
|
173
|
+
var _a, _b;
|
|
174
|
+
var customGridItem = (_a = props.customGridItems) === null || _a === void 0 ? void 0 : _a[item.id];
|
|
175
|
+
if (customGridItem)
|
|
176
|
+
return customGridItem;
|
|
177
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
178
|
+
item.imageUrl && (react_1.default.createElement("div", { className: "relative overflow-hidden" },
|
|
179
|
+
item.ribbonText ? (react_1.default.createElement("div", { className: "absolute top-5 left-[12%] -translate-x-1/2 w-full bg-primary-500 text-white text-xs font-bold p-2 text-center -rotate-45" },
|
|
180
|
+
react_1.default.createElement("span", null, item.ribbonText))) : ((_b = props.renderImgRibbon) === null || _b === void 0 ? void 0 : _b.call(props, item.id)),
|
|
181
|
+
react_1.default.createElement("img", { src: item.imageUrl, alt: "", draggable: false, className: "h-48 w-full ".concat(imgClass) }))),
|
|
182
|
+
item.imageElement && react_1.default.createElement("div", null, item.imageElement),
|
|
183
|
+
react_1.default.createElement("div", { className: "flex flex-grow flex-col space-y-1 p-4" },
|
|
184
|
+
renderTags(item),
|
|
185
|
+
react_1.default.createElement("h3", { className: "text-base font-bold ".concat(titleColor) }, item.title),
|
|
186
|
+
react_1.default.createElement("div", { className: "text-sm ".concat(textColor, " break-words whitespace-pre-line") }, typeof item.description === "string"
|
|
187
|
+
? item.description.substring(0, 350)
|
|
188
|
+
: item.description),
|
|
189
|
+
item.extra && item.extra)));
|
|
190
|
+
};
|
|
191
|
+
var renderCard = function (item, index) {
|
|
192
|
+
var _a, _b, _c, _d;
|
|
193
|
+
var isSelected = (_a = props.selectedItemsId) === null || _a === void 0 ? void 0 : _a.includes(item.id);
|
|
194
|
+
var clickable = !!(props.newTabUrl || props.onClickData);
|
|
195
|
+
var cardClassName = "flex flex-col overflow-hidden rounded-2xl border shadow-sm transition-shadow hover:shadow-md ".concat(borderColor, " ").concat(bg, " ").concat(clickable ? "cursor-pointer" : "");
|
|
196
|
+
// INFO: the card is overflow-hidden so rounded-2xl clips the image, which zeroes its
|
|
197
|
+
// automatic minimum size as a flex item — without an explicit width and shrink-0 every
|
|
198
|
+
// card collapses to fit the scroll port and the horizontal row becomes unscrollable.
|
|
199
|
+
// A fixed width (not min-w) keeps every card the same size regardless of description
|
|
200
|
+
// length, since descriptions wrap rather than truncate.
|
|
201
|
+
if (props.horizontalScroll)
|
|
202
|
+
cardClassName += " ".concat((_b = props.cardWidth) !== null && _b !== void 0 ? _b : "w-72", " shrink-0");
|
|
203
|
+
if (props.itemClassName)
|
|
204
|
+
cardClassName += " ".concat(props.itemClassName);
|
|
205
|
+
if (isSelected && props.selectedItemClassName)
|
|
206
|
+
cardClassName += " ".concat(props.selectedItemClassName);
|
|
207
|
+
var cardBody = (react_1.default.createElement("div", { draggable: props.draggable, onDragStart: function (e) { return handleDragStart(e, item.id); }, onDragOver: handleDragOver, onDrop: props.droppable ? function (e) { return handleDrop(e, item.id); } : undefined, className: "flex h-full flex-col" }, renderCardInner(item)));
|
|
208
|
+
return (react_1.default.createElement("li", { key: (_c = item.id) !== null && _c !== void 0 ? _c : index, "data-testid": "new-grid-card", "data-dtw-record-id": item.id, className: cardClassName, onClick: function (e) { return handleClickData(item.id, e); } }, props.newTabUrl ? (react_1.default.createElement(link_1.Link, { href: props.newTabUrl + item.id + ((_d = props.addNewTabUrl) !== null && _d !== void 0 ? _d : ""), className: "block h-full w-full", linkType: props.linkType, custom: props.custom }, cardBody)) : (cardBody)));
|
|
209
|
+
};
|
|
210
|
+
// ─── loading state ──────────────────────────────────────────────────────────
|
|
211
|
+
var renderLoading = function () { return (react_1.default.createElement("div", { className: "my-10 text-center" },
|
|
212
|
+
react_1.default.createElement(loading_1.Loading, null),
|
|
213
|
+
react_1.default.createElement("p", { className: "mt-5 text-sm ".concat(textColor) }, "Loading..."))); };
|
|
214
|
+
// ─── empty state ────────────────────────────────────────────────────────────
|
|
215
|
+
var renderEmpty = function () {
|
|
216
|
+
var _a;
|
|
217
|
+
return (react_1.default.createElement("div", { className: "my-10" },
|
|
218
|
+
react_1.default.createElement(emptyState_1.EmptyState, { darkMode: props.darkMode, text: (_a = props.emptyTitle) !== null && _a !== void 0 ? _a : "There is no data available at the moment", icon: react_1.default.createElement(outline_1.InformationCircleIcon, { className: "h-10 text-gray-600" }) })));
|
|
219
|
+
};
|
|
220
|
+
var gridColClassName = "gap-6 ".concat(props.horizontalScroll
|
|
221
|
+
? "flex flex-row w-full cursor-grab overflow-x-auto overflow-y-hidden overscroll-x-contain pb-2 chat-scrollbar"
|
|
222
|
+
: "grid");
|
|
223
|
+
if (props.gridColClassName)
|
|
224
|
+
gridColClassName += " ".concat(props.gridColClassName);
|
|
225
|
+
else if (!props.horizontalScroll)
|
|
226
|
+
gridColClassName += " sm:grid-cols-2 lg:grid-cols-3";
|
|
227
|
+
var visibleData = handleGetVisibleData();
|
|
228
|
+
var renderGrid = function () { return (react_1.default.createElement("ul", { ref: scrollRef, "data-testid": "new-grid-scroll-container", className: gridColClassName, onScroll: handleScroll, onMouseDown: handleMouseDown, onMouseEnter: handleMouseEnter, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp },
|
|
229
|
+
visibleData.map(function (_a) {
|
|
230
|
+
var item = _a.item, index = _a.index;
|
|
231
|
+
return renderCard(item, index);
|
|
232
|
+
}),
|
|
233
|
+
infinityLoading && (react_1.default.createElement("li", { className: "flex flex-row flex-wrap items-center" },
|
|
234
|
+
react_1.default.createElement(loading_1.Loading, null))))); };
|
|
235
|
+
// INFO: loading and empty render inside the wrapper, not as early returns, so
|
|
236
|
+
// the pagination footer always stays mounted. An empty page on a non-zero
|
|
237
|
+
// pageIndex would otherwise strip every control and leave no way back.
|
|
238
|
+
return (react_1.default.createElement("div", { "data-testid": "new-grid-root", className: "w-full min-w-0 ".concat((_b = props.className) !== null && _b !== void 0 ? _b : "") },
|
|
239
|
+
props.loading
|
|
240
|
+
? renderLoading()
|
|
241
|
+
: props.data.length === 0
|
|
242
|
+
? renderEmpty()
|
|
243
|
+
: renderGrid(),
|
|
244
|
+
react_1.default.createElement(newPagination_1.NewPagination, { paginationType: props.paginationType, pageIndex: props.pageIndex, limit: (_c = props.limit) !== null && _c !== void 0 ? _c : defaultLimit, size: props.size, cursor: props.cursor, resultCount: props.data.length, customPaginationSize: props.customPaginationSize, hidePagination: props.hidePagination, darkMode: props.darkMode, darkModeBg: props.darkModeBg, handleUpdatePageIndex: props.handleUpdatePageIndex })));
|
|
245
|
+
};
|
|
246
|
+
exports.NewGrid = NewGrid;
|
|
247
|
+
exports.default = exports.NewGrid;
|
|
248
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/display/newGrid/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,18 @@ export interface NewKanbanColumn {
|
|
|
8
8
|
color?: string;
|
|
9
9
|
cards: NewKanbanCard[];
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
columns
|
|
13
|
-
data?:
|
|
11
|
+
type NewKanbanSource = {
|
|
12
|
+
columns: NewKanbanColumn[];
|
|
13
|
+
data?: undefined;
|
|
14
|
+
groupId?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
columns?: undefined;
|
|
17
|
+
data: NewKanbanCard[];
|
|
18
|
+
groupId: string;
|
|
19
|
+
};
|
|
20
|
+
interface NewKanbanBaseProps {
|
|
14
21
|
groupBy?: string[];
|
|
15
22
|
groupLabel?: string[];
|
|
16
|
-
groupId?: string;
|
|
17
23
|
loading?: boolean;
|
|
18
24
|
mobileView?: boolean;
|
|
19
25
|
draggable?: boolean;
|
|
@@ -34,5 +40,6 @@ export interface NewKanbanProps {
|
|
|
34
40
|
darkModeBg?: string;
|
|
35
41
|
className?: string;
|
|
36
42
|
}
|
|
43
|
+
export type NewKanbanProps = NewKanbanBaseProps & NewKanbanSource;
|
|
37
44
|
export declare const NewKanban: (props: NewKanbanProps) => React.JSX.Element;
|
|
38
45
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/newKanban/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EACZ,SAAS,EAIV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/display/newKanban/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EACZ,SAAS,EAIV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAKD,KAAK,eAAe,GAChB;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,GACrE;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,UAAU,kBAAkB;IAE1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAE7C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IAEV,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,KAAK,SAAS,CAAC;IACzE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAoElE,eAAO,MAAM,SAAS,UAAW,cAAc,sBA+a9C,CAAC"}
|
|
@@ -28,13 +28,15 @@ var react_1 = __importStar(require("react"));
|
|
|
28
28
|
var tag_1 = require("../tag");
|
|
29
29
|
var UNASSIGNED_ID = "data-unassigned";
|
|
30
30
|
var useStableColumns = function (props) {
|
|
31
|
-
var _a
|
|
31
|
+
var _a;
|
|
32
32
|
if (props.columns)
|
|
33
33
|
return props.columns;
|
|
34
34
|
if (!props.data)
|
|
35
35
|
return [];
|
|
36
|
-
var key = (
|
|
36
|
+
var key = (_a = props.groupId) !== null && _a !== void 0 ? _a : "";
|
|
37
37
|
var groups = {};
|
|
38
|
+
if (props.nullColumn)
|
|
39
|
+
groups[UNASSIGNED_ID] = { cards: [], label: "Unassigned" };
|
|
38
40
|
// INFO: groupCluster mode — merge multiple group values into visual columns
|
|
39
41
|
if (props.groupCluster && props.groupCluster.length > 0) {
|
|
40
42
|
props.groupCluster.forEach(function (cluster) {
|
|
@@ -74,10 +76,6 @@ var useStableColumns = function (props) {
|
|
|
74
76
|
groups[colValue] = { cards: [], label: label };
|
|
75
77
|
});
|
|
76
78
|
}
|
|
77
|
-
// INFO: if nullColumn is enabled, pre-create the unassigned bucket
|
|
78
|
-
if (props.nullColumn) {
|
|
79
|
-
groups[UNASSIGNED_ID] = { cards: [], label: "Unassigned" };
|
|
80
|
-
}
|
|
81
79
|
props.data.forEach(function (card) {
|
|
82
80
|
var rawValue = card[key];
|
|
83
81
|
var bucket = rawValue ? String(rawValue) : UNASSIGNED_ID;
|
|
@@ -98,9 +96,13 @@ var useStableColumns = function (props) {
|
|
|
98
96
|
});
|
|
99
97
|
};
|
|
100
98
|
var NewKanban = function (props) {
|
|
101
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
99
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
102
100
|
var columns = useStableColumns(props);
|
|
103
|
-
|
|
101
|
+
// INFO: match the solid dark surface used by Grid/List/NewList/DetailList
|
|
102
|
+
// (bg-gray-900) instead of a translucent white overlay
|
|
103
|
+
var darkSurface = (_a = props.darkModeBg) !== null && _a !== void 0 ? _a : "bg-gray-900";
|
|
104
|
+
var _k = (0, react_1.useState)((_c = (_b = columns[0]) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : ""), activeTab = _k[0], setActiveTab = _k[1];
|
|
105
|
+
var _l = (0, react_1.useState)(), heldListHeight = _l[0], setHeldListHeight = _l[1];
|
|
104
106
|
// INFO: columns are empty on the first render while the list is still
|
|
105
107
|
// loading, so the initial tab has to be re-pointed once data arrives
|
|
106
108
|
(0, react_1.useEffect)(function () {
|
|
@@ -121,10 +123,10 @@ var NewKanban = function (props) {
|
|
|
121
123
|
// INFO: when groupCluster is set, disable drag-and-drop (same as legacy Kanban)
|
|
122
124
|
var hasCluster = props.groupCluster && props.groupCluster.length > 0;
|
|
123
125
|
var isDraggable = props.draggable && !hasCluster;
|
|
124
|
-
var isDroppable = ((
|
|
126
|
+
var isDroppable = ((_d = props.droppable) !== null && _d !== void 0 ? _d : props.draggable) && !hasCluster;
|
|
125
127
|
var imgClass = props.imgContain ? "object-contain" : "object-cover";
|
|
126
128
|
var defaultRenderCard = function (card) { return (react_1.default.createElement("div", { className: "overflow-hidden rounded-xl border shadow-sm transition-shadow hover:shadow-md ".concat(props.darkMode
|
|
127
|
-
? "border-gray-700
|
|
129
|
+
? "border-gray-700 ".concat(darkSurface)
|
|
128
130
|
: "border-gray-100 bg-white"), onClick: function () { var _a; return (_a = props.onClickData) === null || _a === void 0 ? void 0 : _a.call(props, card.id); }, style: { cursor: props.onClickData ? "pointer" : undefined } },
|
|
129
131
|
card.imageElement
|
|
130
132
|
? card.imageElement
|
|
@@ -133,13 +135,40 @@ var NewKanban = function (props) {
|
|
|
133
135
|
react_1.default.createElement("p", { className: "text-sm font-medium ".concat(props.darkMode ? "text-gray-100" : "text-gray-800") }, card.title),
|
|
134
136
|
card.description && (react_1.default.createElement("div", { className: "mt-0.5 text-xs ".concat(props.darkMode ? "text-gray-400" : "text-gray-500") }, card.description)),
|
|
135
137
|
card.tags && card.tags.length > 0 && (react_1.default.createElement("div", { className: "mt-2 flex flex-wrap gap-1" }, card.tags.map(function (tag) { return (react_1.default.createElement("span", { key: tag, className: "rounded-full bg-primary-100 px-2 py-0.5 text-xs font-medium text-primary-700" }, tag)); })))))); };
|
|
136
|
-
var renderCard = (
|
|
138
|
+
var renderCard = (_e = props.renderCard) !== null && _e !== void 0 ? _e : defaultRenderCard;
|
|
137
139
|
// ─── drag state ─────────────────────────────────────────────────────────────
|
|
138
|
-
var
|
|
139
|
-
var
|
|
140
|
-
var
|
|
141
|
-
var
|
|
140
|
+
var _m = (0, react_1.useState)(null), dragCardId = _m[0], setDragCardId = _m[1];
|
|
141
|
+
var _o = (0, react_1.useState)(null), dragFromColId = _o[0], setDragFromColId = _o[1];
|
|
142
|
+
var _p = (0, react_1.useState)(null), dragOverColId = _p[0], setDragOverColId = _p[1];
|
|
143
|
+
var _q = (0, react_1.useState)(null), pointerGhost = _q[0], setPointerGhost = _q[1];
|
|
142
144
|
var tabsRef = (0, react_1.useRef)(null);
|
|
145
|
+
var cardListRef = (0, react_1.useRef)(null);
|
|
146
|
+
// INFO: a different set of cards (filter, search, page) is a new list, so the
|
|
147
|
+
// held height goes — a card moving between columns keeps the same set
|
|
148
|
+
var cardIdsKey = columns
|
|
149
|
+
.flatMap(function (eachColumn) { return eachColumn.cards.map(function (eachCard) { return eachCard.id; }); })
|
|
150
|
+
.sort()
|
|
151
|
+
.join("|");
|
|
152
|
+
(0, react_1.useEffect)(function () {
|
|
153
|
+
setHeldListHeight(undefined);
|
|
154
|
+
}, [cardIdsKey]);
|
|
155
|
+
// INFO: keeps the mobile card list at least as tall as before the switch, so a
|
|
156
|
+
// shorter column cannot shrink the page and jump the scroll position
|
|
157
|
+
var handleSelectTab = function (colId) {
|
|
158
|
+
var _a, _b;
|
|
159
|
+
var height = (_b = (_a = cardListRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) !== null && _b !== void 0 ? _b : 0;
|
|
160
|
+
setHeldListHeight(function (prev) { return Math.max(prev !== null && prev !== void 0 ? prev : 0, height); });
|
|
161
|
+
setActiveTab(colId);
|
|
162
|
+
};
|
|
163
|
+
// INFO: without nullColumn the group field is required, so its automatic
|
|
164
|
+
// Unassigned column only shows cards — dropping there would clear the field
|
|
165
|
+
var handleCanDropOn = function (colId) {
|
|
166
|
+
return colId !== UNASSIGNED_ID || !!props.nullColumn;
|
|
167
|
+
};
|
|
168
|
+
var handleEmitMove = function (cardId, fromColId, toColId) {
|
|
169
|
+
var _a;
|
|
170
|
+
return (_a = props.onUpdateData) === null || _a === void 0 ? void 0 : _a.call(props, cardId, fromColId === UNASSIGNED_ID ? "" : fromColId, toColId === UNASSIGNED_ID ? "" : toColId);
|
|
171
|
+
};
|
|
143
172
|
// ─── desktop HTML5 drag handlers ───────────────────────────────────────────
|
|
144
173
|
var handleDragStart = function (e, cardId, fromCol) {
|
|
145
174
|
if (!isDraggable)
|
|
@@ -150,20 +179,19 @@ var NewKanban = function (props) {
|
|
|
150
179
|
setDragFromColId(fromCol);
|
|
151
180
|
};
|
|
152
181
|
var handleDragOver = function (e, overColId) {
|
|
153
|
-
if (!isDroppable)
|
|
182
|
+
if (!isDroppable || !handleCanDropOn(overColId))
|
|
154
183
|
return;
|
|
155
184
|
e.preventDefault();
|
|
156
185
|
e.dataTransfer.dropEffect = "move";
|
|
157
186
|
setDragOverColId(overColId);
|
|
158
187
|
};
|
|
159
188
|
var handleDrop = function (e, toColId) {
|
|
160
|
-
|
|
161
|
-
if (!isDroppable)
|
|
189
|
+
if (!isDroppable || !handleCanDropOn(toColId))
|
|
162
190
|
return;
|
|
163
191
|
e.preventDefault();
|
|
164
192
|
var cardId = e.dataTransfer.getData("text/plain") || dragCardId;
|
|
165
193
|
if (cardId && dragFromColId && dragFromColId !== toColId) {
|
|
166
|
-
(
|
|
194
|
+
handleEmitMove(cardId, dragFromColId, toColId);
|
|
167
195
|
}
|
|
168
196
|
setDragCardId(null);
|
|
169
197
|
setDragFromColId(null);
|
|
@@ -199,7 +227,8 @@ var NewKanban = function (props) {
|
|
|
199
227
|
e.clientX <= r.right &&
|
|
200
228
|
e.clientY >= r.top &&
|
|
201
229
|
e.clientY <= r.bottom) {
|
|
202
|
-
|
|
230
|
+
var colId = (_a = btn.dataset.colId) !== null && _a !== void 0 ? _a : "";
|
|
231
|
+
setDragOverColId(colId && handleCanDropOn(colId) ? colId : null);
|
|
203
232
|
return;
|
|
204
233
|
}
|
|
205
234
|
}
|
|
@@ -207,13 +236,12 @@ var NewKanban = function (props) {
|
|
|
207
236
|
setDragOverColId(null);
|
|
208
237
|
};
|
|
209
238
|
var handlePointerUp = function () {
|
|
210
|
-
var _a;
|
|
211
239
|
if (dragCardId &&
|
|
212
240
|
dragFromColId &&
|
|
213
241
|
dragOverColId &&
|
|
214
242
|
dragFromColId !== dragOverColId) {
|
|
215
|
-
(
|
|
216
|
-
|
|
243
|
+
handleEmitMove(dragCardId, dragFromColId, dragOverColId);
|
|
244
|
+
handleSelectTab(dragOverColId);
|
|
217
245
|
}
|
|
218
246
|
setDragCardId(null);
|
|
219
247
|
setDragFromColId(null);
|
|
@@ -222,7 +250,7 @@ var NewKanban = function (props) {
|
|
|
222
250
|
};
|
|
223
251
|
// ─── loading state ──────────────────────────────────────────────────────────
|
|
224
252
|
if (props.loading) {
|
|
225
|
-
return (react_1.default.createElement("div", { className: "text-center py-10 ".concat((
|
|
253
|
+
return (react_1.default.createElement("div", { className: "text-center py-10 ".concat((_f = props.className) !== null && _f !== void 0 ? _f : "") },
|
|
226
254
|
react_1.default.createElement("p", { className: "text-sm text-gray-500" }, "Loading...")));
|
|
227
255
|
}
|
|
228
256
|
// ─── cluster info banner ────────────────────────────────────────────────────
|
|
@@ -245,19 +273,19 @@ var NewKanban = function (props) {
|
|
|
245
273
|
return null;
|
|
246
274
|
return (react_1.default.createElement("div", { className: "mt-1 flex flex-wrap gap-1" }, values.map(function (v, i) { return (react_1.default.createElement(tag_1.Tag, { key: i, tagText: v, size: "small", color: "dark", variant: "flat", className: "mx-0 bg-gray-200", rounded: "md" })); })));
|
|
247
275
|
};
|
|
248
|
-
var colWidth = (
|
|
276
|
+
var colWidth = (_g = props.columnWidth) !== null && _g !== void 0 ? _g : "min-w-48 sm:min-w-64";
|
|
249
277
|
// ─── mobile view ────────────────────────────────────────────────────────────
|
|
250
278
|
if (props.mobileView) {
|
|
251
279
|
var activeCol_1 = columns.find(function (c) { return c.id === activeTab; });
|
|
252
280
|
return (react_1.default.createElement("div", {
|
|
253
281
|
// INFO: className targets the desktop column row (DataTemplate passes
|
|
254
282
|
// inline-flex); the stacked phone layout must stay a block
|
|
255
|
-
className: "relative w-full pb-16", onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onPointerCancel: handlePointerUp },
|
|
256
|
-
props.alertMessage && (react_1.default.createElement(tag_1.Tag, { tagText: props.alertMessage, className: "mb-3" })),
|
|
283
|
+
className: "relative w-full min-w-0 pb-16", onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onPointerCancel: handlePointerUp },
|
|
284
|
+
props.alertMessage && (react_1.default.createElement(tag_1.Tag, { tagText: props.alertMessage, size: "small", className: "mb-3" })),
|
|
257
285
|
renderClusterBanner(),
|
|
258
|
-
react_1.default.createElement("div", { ref: tabsRef, className: "mb-4 flex gap-1 overflow-x-auto rounded-xl p-1 ".concat(props.darkMode ? "bg-
|
|
286
|
+
react_1.default.createElement("div", { ref: tabsRef, className: "mb-4 flex gap-1 overflow-x-auto overflow-y-hidden overscroll-x-contain rounded-xl p-1 ".concat(props.darkMode ? "bg-gray-800" : "bg-gray-100") }, columns.map(function (col) { return (react_1.default.createElement("button", { key: col.id, type: "button", "data-col-id": col.id, onClick: function () { return handleSelectTab(col.id); }, className: "flex flex-1 flex-shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-lg py-2 px-2 text-xs font-semibold transition-all ".concat(activeTab === col.id
|
|
259
287
|
? props.darkMode
|
|
260
|
-
? "bg-
|
|
288
|
+
? "bg-gray-700 text-white shadow-sm"
|
|
261
289
|
: "bg-white text-gray-900 shadow-sm"
|
|
262
290
|
: props.darkMode
|
|
263
291
|
? "text-gray-400 hover:text-gray-200"
|
|
@@ -268,37 +296,41 @@ var NewKanban = function (props) {
|
|
|
268
296
|
? "bg-primary-500/30 text-primary-200"
|
|
269
297
|
: "bg-primary-100 text-primary-600"
|
|
270
298
|
: props.darkMode
|
|
271
|
-
? "bg-
|
|
299
|
+
? "bg-gray-700 text-gray-300"
|
|
272
300
|
: "bg-gray-200 text-gray-500") }, col.cards.length))); })),
|
|
273
301
|
isDraggable && (react_1.default.createElement("p", { className: "mb-2 text-center text-xs text-gray-400" }, "Long-press a card and drag onto a column tab to move it.")),
|
|
274
|
-
react_1.default.createElement("div", { className: "space-y-2" }, activeCol_1 === null || activeCol_1 === void 0 ? void 0 : activeCol_1.cards.map(function (card) { return (react_1.default.createElement("div", { key: card.id, onPointerDown: function (e) { return handlePointerDown(e, card.id, activeCol_1.id); }, onClick: function () { var _a; return (_a = props.onClickData) === null || _a === void 0 ? void 0 : _a.call(props, card.id); }, className: "".concat(dragCardId === card.id ? "opacity-40" : "", " touch-none") }, renderCard(card, activeCol_1))); })),
|
|
302
|
+
react_1.default.createElement("div", { ref: cardListRef, className: "space-y-2", style: { minHeight: heldListHeight } }, activeCol_1 === null || activeCol_1 === void 0 ? void 0 : activeCol_1.cards.map(function (card) { return (react_1.default.createElement("div", { key: card.id, "data-dtw-record-id": card.id, onPointerDown: function (e) { return handlePointerDown(e, card.id, activeCol_1.id); }, onClick: function () { var _a; return (_a = props.onClickData) === null || _a === void 0 ? void 0 : _a.call(props, card.id); }, className: "".concat(dragCardId === card.id ? "opacity-40" : "", " touch-none") }, renderCard(card, activeCol_1))); })),
|
|
275
303
|
pointerGhost && dragCardId && (react_1.default.createElement("div", { className: "pointer-events-none fixed z-50 -translate-x-1/2 -translate-y-1/2 opacity-80 shadow-2xl", style: { left: pointerGhost.x, top: pointerGhost.y, width: 240 } }, (function () {
|
|
276
304
|
var card = columns
|
|
277
305
|
.flatMap(function (c) { return c.cards; })
|
|
278
306
|
.find(function (c) { return c.id === dragCardId; });
|
|
279
307
|
return card ? renderCard(card, activeCol_1) : null;
|
|
280
308
|
})())),
|
|
281
|
-
props.onAddCard && (react_1.default.createElement("button", { type: "button", onClick: function () { var _a; return (_a = props.onAddCard) === null || _a === void 0 ? void 0 : _a.call(props, activeTab); }, className: "absolute bottom-2 right-2 flex h-12 w-12 items-center justify-center rounded-full bg-primary-500 text-white shadow-lg transition-transform hover:scale-105", "aria-label": "Add card" }, (
|
|
309
|
+
props.onAddCard && (react_1.default.createElement("button", { type: "button", onClick: function () { var _a; return (_a = props.onAddCard) === null || _a === void 0 ? void 0 : _a.call(props, activeTab); }, className: "absolute bottom-2 right-2 flex h-12 w-12 items-center justify-center rounded-full bg-primary-500 text-white shadow-lg transition-transform hover:scale-105", "aria-label": "Add card" }, (_h = props.fabIcon) !== null && _h !== void 0 ? _h : react_1.default.createElement("span", { className: "text-xl" }, "+")))));
|
|
282
310
|
}
|
|
283
311
|
// ─── desktop view ───────────────────────────────────────────────────────────
|
|
284
|
-
|
|
285
|
-
|
|
312
|
+
// INFO: min-w-0 so a flex parent cannot stretch to the board's full width —
|
|
313
|
+
// the board scrolls inside instead of widening the page on a phone
|
|
314
|
+
return (react_1.default.createElement("div", { className: "w-full min-w-0" },
|
|
315
|
+
props.alertMessage && (react_1.default.createElement(tag_1.Tag, { tagText: props.alertMessage, size: "small", className: "my-2" })),
|
|
286
316
|
renderClusterBanner(),
|
|
287
|
-
react_1.default.createElement("div", { className: "flex w-full gap-4 overflow-x-auto pb-2 ".concat((
|
|
288
|
-
?
|
|
289
|
-
? "bg-white/5"
|
|
290
|
-
: "bg-white/10"
|
|
317
|
+
react_1.default.createElement("div", { className: "flex w-full gap-4 overflow-x-auto overflow-y-hidden overscroll-x-contain pb-2 ".concat((_j = props.className) !== null && _j !== void 0 ? _j : "") }, columns.map(function (col) { return (react_1.default.createElement("div", { key: col.id, "data-testid": "new-kanban-column-".concat(col.id), className: "".concat(colWidth, " flex-shrink-0 rounded-lg p-2 transition-colors ").concat(props.darkMode
|
|
318
|
+
? "border border-gray-700"
|
|
291
319
|
: col.id === UNASSIGNED_ID
|
|
292
320
|
? "bg-gray-200"
|
|
293
|
-
: "bg-gray-100", " ").concat(
|
|
321
|
+
: "bg-gray-100", " ").concat(
|
|
322
|
+
// INFO: opaque so cards sliding underneath do not show through
|
|
323
|
+
props.nullColumn && col.id === UNASSIGNED_ID
|
|
324
|
+
? "sticky left-0 z-10 shadow-md ".concat(props.darkMode ? darkSurface : "")
|
|
325
|
+
: "", " ").concat(dragOverColId === col.id ? "bg-primary-50 ring-2 ring-primary-300" : ""), onDragOver: isDroppable ? function (e) { return handleDragOver(e, col.id); } : undefined, onDrop: isDroppable ? function (e) { return handleDrop(e, col.id); } : undefined },
|
|
294
326
|
react_1.default.createElement("div", { className: "sticky top-0 flex flex-col pt-2 pb-4" },
|
|
295
|
-
react_1.default.createElement("h2", { className: "text-lg font-bold" },
|
|
327
|
+
react_1.default.createElement("h2", { className: "text-lg font-bold ".concat(props.darkMode ? "text-white" : "") },
|
|
296
328
|
col.title,
|
|
297
329
|
" (",
|
|
298
330
|
col.cards.length,
|
|
299
331
|
")"),
|
|
300
332
|
renderClusterTags(col.id)),
|
|
301
|
-
react_1.default.createElement("div", { className: "space-y-2" }, col.cards.map(function (card) { return (react_1.default.createElement("div", { key: card.id, draggable: !!isDraggable, onDragStart: function (e) { return handleDragStart(e, card.id, col.id); }, onDragEnd: handleDragEnd, onClick: function () { var _a; return (_a = props.onClickData) === null || _a === void 0 ? void 0 : _a.call(props, card.id); }, className: "".concat(dragCardId === card.id ? "opacity-40" : "", " ").concat(isDraggable ? "cursor-grab active:cursor-grabbing" : "", " ").concat(props.onClickData ? "cursor-pointer" : "") }, renderCard(card, col))); })))); }))));
|
|
333
|
+
react_1.default.createElement("div", { className: "space-y-2" }, col.cards.map(function (card) { return (react_1.default.createElement("div", { key: card.id, "data-dtw-record-id": card.id, draggable: !!isDraggable, onDragStart: function (e) { return handleDragStart(e, card.id, col.id); }, onDragEnd: handleDragEnd, onClick: function () { var _a; return (_a = props.onClickData) === null || _a === void 0 ? void 0 : _a.call(props, card.id); }, className: "".concat(dragCardId === card.id ? "opacity-40" : "", " ").concat(isDraggable ? "cursor-grab active:cursor-grabbing" : "", " ").concat(props.onClickData ? "cursor-pointer" : "") }, renderCard(card, col))); })))); }))));
|
|
302
334
|
};
|
|
303
335
|
exports.NewKanban = NewKanban;
|
|
304
336
|
//# sourceMappingURL=index.js.map
|