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.
Files changed (79) hide show
  1. package/lib/components/data/dataTemplate/dataStateModel.d.ts +3 -0
  2. package/lib/components/data/dataTemplate/dataStateModel.d.ts.map +1 -1
  3. package/lib/components/data/dataTemplate/dataStateModel.js.map +1 -1
  4. package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
  5. package/lib/components/data/dataTemplate/index.js +594 -281
  6. package/lib/components/data/dataTemplate/index.js.map +1 -1
  7. package/lib/components/data/dataTemplate/model.d.ts +13 -13
  8. package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
  9. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +70 -2
  10. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
  11. package/lib/components/data/dataTemplate/viewStatePersistence.js +382 -15
  12. package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
  13. package/lib/components/data/flexFilter/index.d.ts.map +1 -1
  14. package/lib/components/data/flexFilter/index.js +16 -16
  15. package/lib/components/data/flexFilter/index.js.map +1 -1
  16. package/lib/components/data/writeQuery/index.d.ts +1 -0
  17. package/lib/components/data/writeQuery/index.d.ts.map +1 -1
  18. package/lib/components/data/writeQuery/index.js +2 -0
  19. package/lib/components/data/writeQuery/index.js.map +1 -1
  20. package/lib/components/display/grid/index.d.ts.map +1 -1
  21. package/lib/components/display/grid/index.js +1 -1
  22. package/lib/components/display/grid/index.js.map +1 -1
  23. package/lib/components/display/kanban/index.d.ts.map +1 -1
  24. package/lib/components/display/kanban/index.js +1 -1
  25. package/lib/components/display/kanban/index.js.map +1 -1
  26. package/lib/components/display/list/index.d.ts.map +1 -1
  27. package/lib/components/display/list/index.js +1 -1
  28. package/lib/components/display/list/index.js.map +1 -1
  29. package/lib/components/display/newFeeds/index.d.ts.map +1 -1
  30. package/lib/components/display/newFeeds/index.js +1 -1
  31. package/lib/components/display/newFeeds/index.js.map +1 -1
  32. package/lib/components/display/newGrid/index.d.ts +41 -0
  33. package/lib/components/display/newGrid/index.d.ts.map +1 -0
  34. package/lib/components/display/newGrid/index.js +248 -0
  35. package/lib/components/display/newGrid/index.js.map +1 -0
  36. package/lib/components/display/newKanban/index.d.ts +11 -4
  37. package/lib/components/display/newKanban/index.d.ts.map +1 -1
  38. package/lib/components/display/newKanban/index.js +73 -41
  39. package/lib/components/display/newKanban/index.js.map +1 -1
  40. package/lib/components/display/newList/index.js +1 -1
  41. package/lib/components/display/newList/index.js.map +1 -1
  42. package/lib/components/display/newTable/index.d.ts +3 -3
  43. package/lib/components/display/newTable/index.d.ts.map +1 -1
  44. package/lib/components/display/newTable/index.js +47 -36
  45. package/lib/components/display/newTable/index.js.map +1 -1
  46. package/lib/components/display/table/index.d.ts.map +1 -1
  47. package/lib/components/display/table/index.js +2 -2
  48. package/lib/components/display/table/index.js.map +1 -1
  49. package/lib/components/display/tag/index.d.ts.map +1 -1
  50. package/lib/components/display/tag/index.js +13 -1
  51. package/lib/components/display/tag/index.js.map +1 -1
  52. package/lib/components/input/datePicker/index.d.ts +2 -0
  53. package/lib/components/input/datePicker/index.d.ts.map +1 -1
  54. package/lib/components/input/datePicker/index.js +11 -3
  55. package/lib/components/input/datePicker/index.js.map +1 -1
  56. package/lib/components/input/select/index.d.ts +1 -0
  57. package/lib/components/input/select/index.d.ts.map +1 -1
  58. package/lib/components/input/select/index.js +20 -13
  59. package/lib/components/input/select/index.js.map +1 -1
  60. package/lib/components/input/signature/index.d.ts +1 -0
  61. package/lib/components/input/signature/index.d.ts.map +1 -1
  62. package/lib/components/input/signature/index.js +8 -1
  63. package/lib/components/input/signature/index.js.map +1 -1
  64. package/lib/components/input/textInput/index.d.ts +2 -0
  65. package/lib/components/input/textInput/index.d.ts.map +1 -1
  66. package/lib/components/input/textInput/index.js +16 -3
  67. package/lib/components/input/textInput/index.js.map +1 -1
  68. package/lib/components/navigation/bars/index.d.ts +7 -4
  69. package/lib/components/navigation/bars/index.d.ts.map +1 -1
  70. package/lib/components/navigation/bars/index.js +56 -20
  71. package/lib/components/navigation/bars/index.js.map +1 -1
  72. package/lib/components/navigation/leftNav/index.d.ts +12 -2
  73. package/lib/components/navigation/leftNav/index.d.ts.map +1 -1
  74. package/lib/components/navigation/leftNav/index.js +48 -15
  75. package/lib/components/navigation/leftNav/index.js.map +1 -1
  76. package/lib/components/storyUtils.js +1 -1
  77. package/lib/components/storyUtils.js.map +1 -1
  78. package/lib/tail.css +2 -2
  79. 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
- export interface NewKanbanProps {
12
- columns?: NewKanbanColumn[];
13
- data?: NewKanbanCard[];
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;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,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;IAErB,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;AAuED,eAAO,MAAM,SAAS,UAAW,cAAc,sBA6X9C,CAAC"}
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, _b, _c;
31
+ var _a;
32
32
  if (props.columns)
33
33
  return props.columns;
34
34
  if (!props.data)
35
35
  return [];
36
- var key = (_c = (_a = props.groupId) !== null && _a !== void 0 ? _a : (_b = props.groupBy) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : "";
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
- var _j = (0, react_1.useState)((_b = (_a = columns[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : ""), activeTab = _j[0], setActiveTab = _j[1];
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 = ((_c = props.droppable) !== null && _c !== void 0 ? _c : props.draggable) && !hasCluster;
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 bg-white/10"
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 = (_d = props.renderCard) !== null && _d !== void 0 ? _d : defaultRenderCard;
138
+ var renderCard = (_e = props.renderCard) !== null && _e !== void 0 ? _e : defaultRenderCard;
137
139
  // ─── drag state ─────────────────────────────────────────────────────────────
138
- var _k = (0, react_1.useState)(null), dragCardId = _k[0], setDragCardId = _k[1];
139
- var _l = (0, react_1.useState)(null), dragFromColId = _l[0], setDragFromColId = _l[1];
140
- var _m = (0, react_1.useState)(null), dragOverColId = _m[0], setDragOverColId = _m[1];
141
- var _o = (0, react_1.useState)(null), pointerGhost = _o[0], setPointerGhost = _o[1];
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
- var _a;
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
- (_a = props.onUpdateData) === null || _a === void 0 ? void 0 : _a.call(props, cardId, dragFromColId, toColId);
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
- setDragOverColId((_a = btn.dataset.colId) !== null && _a !== void 0 ? _a : null);
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
- (_a = props.onUpdateData) === null || _a === void 0 ? void 0 : _a.call(props, dragCardId, dragFromColId, dragOverColId);
216
- setActiveTab(dragOverColId);
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((_e = props.className) !== null && _e !== void 0 ? _e : "") },
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 = (_f = props.columnWidth) !== null && _f !== void 0 ? _f : "min-w-48 sm:min-w-64";
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-white/10" : "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 setActiveTab(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
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-white/20 text-white shadow-sm"
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-white/10 text-gray-300"
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" }, (_g = props.fabIcon) !== null && _g !== void 0 ? _g : react_1.default.createElement("span", { className: "text-xl" }, "+")))));
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
- return (react_1.default.createElement("div", null,
285
- props.alertMessage && (react_1.default.createElement(tag_1.Tag, { tagText: props.alertMessage, className: "my-2" })),
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((_h = props.className) !== null && _h !== void 0 ? _h : "") }, columns.map(function (col) { return (react_1.default.createElement("div", { key: col.id, className: "".concat(colWidth, " flex-shrink-0 rounded-lg p-2 transition-colors ").concat(props.darkMode
288
- ? col.id === UNASSIGNED_ID
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(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 },
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