pure-react-ui 1.5.7 → 1.5.8

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.
@@ -0,0 +1,397 @@
1
+ /* Kanban Board Container */
2
+ .pure-kanban {
3
+ display: flex;
4
+ gap: 1rem;
5
+ padding: 1rem;
6
+ overflow-x: auto;
7
+ overflow-y: hidden;
8
+ min-height: 600px;
9
+ background-color: #F4F5F7;
10
+ position: relative;
11
+ }
12
+
13
+ /* Kanban Column */
14
+ .pure-kanban-column {
15
+ flex: 0 0 300px;
16
+ display: flex;
17
+ flex-direction: column;
18
+ background-color: #F4F5F7;
19
+ border-radius: 8px;
20
+ min-height: 100%;
21
+ transition: background-color 0.2s ease;
22
+ }
23
+
24
+ .pure-kanban-column--drag-over {
25
+ background-color: #E3FCEF;
26
+ }
27
+
28
+ /* Column Header */
29
+ .pure-kanban-column__header {
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: space-between;
33
+ padding: 0.75rem 1rem;
34
+ background-color: #FFFFFF;
35
+ border-top: 3px solid #0052CC;
36
+ border-radius: 8px 8px 0 0;
37
+ margin-bottom: 0.5rem;
38
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
39
+ }
40
+
41
+ .pure-kanban-column__title-wrapper {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 0.5rem;
45
+ flex: 1;
46
+ }
47
+
48
+ .pure-kanban-column__title {
49
+ margin: 0;
50
+ font-size: 0.875rem;
51
+ font-weight: 600;
52
+ color: #172B4D;
53
+ text-transform: uppercase;
54
+ letter-spacing: 0.5px;
55
+ }
56
+
57
+ .pure-kanban-column__count {
58
+ display: inline-flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ min-width: 24px;
62
+ height: 24px;
63
+ padding: 0 6px;
64
+ background-color: #DFE1E6;
65
+ border-radius: 12px;
66
+ font-size: 0.75rem;
67
+ font-weight: 600;
68
+ color: #42526E;
69
+ }
70
+
71
+ .pure-kanban-column__limit {
72
+ font-size: 0.75rem;
73
+ color: #6B778C;
74
+ }
75
+
76
+ .pure-kanban-column__add-button {
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: center;
80
+ width: 24px;
81
+ height: 24px;
82
+ padding: 0;
83
+ background: transparent;
84
+ border: none;
85
+ border-radius: 4px;
86
+ color: #6B778C;
87
+ cursor: pointer;
88
+ transition: all 0.2s ease;
89
+ }
90
+
91
+ .pure-kanban-column__add-button:hover {
92
+ background-color: #EBECF0;
93
+ color: #172B4D;
94
+ }
95
+
96
+ /* Column Body */
97
+ .pure-kanban-column__body {
98
+ flex: 1;
99
+ display: flex;
100
+ flex-direction: column;
101
+ gap: 0.5rem;
102
+ padding: 0.5rem;
103
+ overflow-y: auto;
104
+ overflow-x: hidden;
105
+ max-height: calc(100vh - 200px);
106
+ min-height: 400px;
107
+ }
108
+
109
+ .pure-kanban-column__body::-webkit-scrollbar {
110
+ width: 8px;
111
+ }
112
+
113
+ .pure-kanban-column__body::-webkit-scrollbar-track {
114
+ background: transparent;
115
+ }
116
+
117
+ .pure-kanban-column__body::-webkit-scrollbar-thumb {
118
+ background: #DFE1E6;
119
+ border-radius: 4px;
120
+ }
121
+
122
+ .pure-kanban-column__body::-webkit-scrollbar-thumb:hover {
123
+ background: #B3BAC5;
124
+ }
125
+
126
+ /* Empty State */
127
+ .pure-kanban-column__empty {
128
+ display: flex;
129
+ flex-direction: column;
130
+ align-items: center;
131
+ justify-content: center;
132
+ padding: 2rem 1rem;
133
+ text-align: center;
134
+ color: #6B778C;
135
+ min-height: 200px;
136
+ }
137
+
138
+ .pure-kanban-column__empty p {
139
+ margin: 0 0 1rem 0;
140
+ font-size: 0.875rem;
141
+ }
142
+
143
+ .pure-kanban-column__empty-add-button {
144
+ padding: 0.5rem 1rem;
145
+ background-color: #FFFFFF;
146
+ border: 1px dashed #DFE1E6;
147
+ border-radius: 4px;
148
+ color: #0052CC;
149
+ font-size: 0.875rem;
150
+ font-weight: 500;
151
+ cursor: pointer;
152
+ transition: all 0.2s ease;
153
+ }
154
+
155
+ .pure-kanban-column__empty-add-button:hover {
156
+ background-color: #F4F5F7;
157
+ border-color: #0052CC;
158
+ }
159
+
160
+ /* Card Wrapper */
161
+ .pure-kanban-card-wrapper {
162
+ position: relative;
163
+ transition: margin 0.2s ease;
164
+ }
165
+
166
+ .pure-kanban-card-wrapper--drag-over {
167
+ margin-bottom: 60px;
168
+ }
169
+
170
+ /* Kanban Card */
171
+ .pure-kanban-card {
172
+ position: relative;
173
+ background-color: #FFFFFF;
174
+ border-radius: 4px;
175
+ padding: 0.75rem;
176
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
177
+ cursor: grab;
178
+ transition: all 0.2s ease;
179
+ margin-bottom: 0.5rem;
180
+ }
181
+
182
+ .pure-kanban-card:hover {
183
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
184
+ transform: translateY(-1px);
185
+ }
186
+
187
+ .pure-kanban-card:active {
188
+ cursor: grabbing;
189
+ }
190
+
191
+ .pure-kanban-card--dragging {
192
+ opacity: 0.5;
193
+ transform: rotate(5deg);
194
+ }
195
+
196
+ /* Priority Indicator */
197
+ .pure-kanban-card__priority {
198
+ position: absolute;
199
+ top: 0;
200
+ left: 0;
201
+ width: 4px;
202
+ height: 100%;
203
+ border-radius: 4px 0 0 4px;
204
+ }
205
+
206
+ /* Card Header */
207
+ .pure-kanban-card__header {
208
+ display: flex;
209
+ align-items: flex-start;
210
+ justify-content: space-between;
211
+ gap: 0.5rem;
212
+ margin-bottom: 0.5rem;
213
+ }
214
+
215
+ .pure-kanban-card__title {
216
+ margin: 0;
217
+ font-size: 0.875rem;
218
+ font-weight: 500;
219
+ color: #172B4D;
220
+ line-height: 1.4;
221
+ flex: 1;
222
+ word-break: break-word;
223
+ }
224
+
225
+ .pure-kanban-card__actions {
226
+ display: flex;
227
+ gap: 0.25rem;
228
+ opacity: 0;
229
+ transition: opacity 0.2s ease;
230
+ }
231
+
232
+ .pure-kanban-card:hover .pure-kanban-card__actions {
233
+ opacity: 1;
234
+ }
235
+
236
+ .pure-kanban-card__action {
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ width: 20px;
241
+ height: 20px;
242
+ padding: 0;
243
+ background: transparent;
244
+ border: none;
245
+ border-radius: 3px;
246
+ color: #6B778C;
247
+ cursor: pointer;
248
+ transition: all 0.2s ease;
249
+ }
250
+
251
+ .pure-kanban-card__action:hover {
252
+ background-color: #EBECF0;
253
+ color: #172B4D;
254
+ }
255
+
256
+ /* Card Description */
257
+ .pure-kanban-card__description {
258
+ margin: 0 0 0.75rem 0;
259
+ font-size: 0.8125rem;
260
+ color: #6B778C;
261
+ line-height: 1.5;
262
+ word-break: break-word;
263
+ display: -webkit-box;
264
+ -webkit-line-clamp: 3;
265
+ -webkit-box-orient: vertical;
266
+ overflow: hidden;
267
+ }
268
+
269
+ /* Card Footer */
270
+ .pure-kanban-card__footer {
271
+ display: flex;
272
+ align-items: center;
273
+ justify-content: space-between;
274
+ gap: 0.5rem;
275
+ margin-top: 0.5rem;
276
+ }
277
+
278
+ .pure-kanban-card__tags {
279
+ display: flex;
280
+ flex-wrap: wrap;
281
+ gap: 0.25rem;
282
+ flex: 1;
283
+ }
284
+
285
+ .pure-kanban-card__tag {
286
+ display: inline-block;
287
+ padding: 0.125rem 0.5rem;
288
+ background-color: #DFE1E6;
289
+ border-radius: 3px;
290
+ font-size: 0.6875rem;
291
+ font-weight: 500;
292
+ color: #42526E;
293
+ white-space: nowrap;
294
+ }
295
+
296
+ .pure-kanban-card__tag--more {
297
+ background-color: #EBECF0;
298
+ color: #6B778C;
299
+ }
300
+
301
+ /* Card Meta */
302
+ .pure-kanban-card__meta {
303
+ display: flex;
304
+ align-items: center;
305
+ gap: 0.5rem;
306
+ }
307
+
308
+ .pure-kanban-card__assignee {
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: center;
312
+ width: 24px;
313
+ height: 24px;
314
+ background: linear-gradient(135deg, #667EEA 0%, #764BA2 100%);
315
+ border-radius: 50%;
316
+ font-size: 0.75rem;
317
+ font-weight: 600;
318
+ color: #FFFFFF;
319
+ cursor: pointer;
320
+ transition: transform 0.2s ease;
321
+ }
322
+
323
+ .pure-kanban-card__assignee:hover {
324
+ transform: scale(1.1);
325
+ }
326
+
327
+ .pure-kanban-card__due-date {
328
+ font-size: 0.875rem;
329
+ cursor: pointer;
330
+ }
331
+
332
+ /* Drop Indicator */
333
+ .pure-kanban-card__drop-indicator {
334
+ height: 2px;
335
+ background-color: #0052CC;
336
+ border-radius: 2px;
337
+ margin: 0.5rem 0;
338
+ animation: pulse 1s ease-in-out infinite;
339
+ }
340
+
341
+ @keyframes pulse {
342
+ 0%, 100% {
343
+ opacity: 1;
344
+ }
345
+ 50% {
346
+ opacity: 0.5;
347
+ }
348
+ }
349
+
350
+ /* Responsive Design */
351
+ @media (max-width: 768px) {
352
+ .pure-kanban {
353
+ padding: 0.5rem;
354
+ gap: 0.5rem;
355
+ }
356
+
357
+ .pure-kanban-column {
358
+ flex: 0 0 280px;
359
+ }
360
+
361
+ .pure-kanban-column__body {
362
+ max-height: calc(100vh - 150px);
363
+ }
364
+ }
365
+
366
+ /* Dark mode support (optional) */
367
+ @media (prefers-color-scheme: dark) {
368
+ .pure-kanban {
369
+ background-color: #1D2125;
370
+ }
371
+
372
+ .pure-kanban-column {
373
+ background-color: #1D2125;
374
+ }
375
+
376
+ .pure-kanban-column__header {
377
+ background-color: #22272B;
378
+ border-top-color: #4C9AFF;
379
+ }
380
+
381
+ .pure-kanban-column__title {
382
+ color: #B6C2CF;
383
+ }
384
+
385
+ .pure-kanban-card {
386
+ background-color: #22272B;
387
+ }
388
+
389
+ .pure-kanban-card__title {
390
+ color: #B6C2CF;
391
+ }
392
+
393
+ .pure-kanban-card__description {
394
+ color: #8C9CB8;
395
+ }
396
+ }
397
+
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import './Kanban.css';
3
+ export interface KanbanCard {
4
+ id: string;
5
+ title: string;
6
+ description?: string;
7
+ priority?: 'low' | 'medium' | 'high' | 'critical';
8
+ assignee?: string;
9
+ tags?: string[];
10
+ dueDate?: string;
11
+ [key: string]: any;
12
+ }
13
+ export interface KanbanColumn {
14
+ id: string;
15
+ title: string;
16
+ cards: KanbanCard[];
17
+ color?: string;
18
+ limit?: number;
19
+ }
20
+ export interface KanbanProps {
21
+ columns: KanbanColumn[];
22
+ onCardMove?: (cardId: string, fromColumnId: string, toColumnId: string, newIndex?: number) => void;
23
+ onCardClick?: (card: KanbanCard, columnId: string) => void;
24
+ onCardAdd?: (columnId: string) => void;
25
+ onCardEdit?: (card: KanbanCard, columnId: string) => void;
26
+ onCardDelete?: (cardId: string, columnId: string) => void;
27
+ allowAddCard?: boolean;
28
+ allowEditCard?: boolean;
29
+ allowDeleteCard?: boolean;
30
+ className?: string;
31
+ cardRender?: (card: KanbanCard, columnId: string) => React.ReactNode;
32
+ }
33
+ export declare const Kanban: React.FC<KanbanProps>;
34
+ //# sourceMappingURL=Kanban.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.d.ts","sourceRoot":"","sources":["../../../src/components/Kanban/Kanban.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACnG,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;CACtE;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA+SxC,CAAC"}
@@ -0,0 +1,175 @@
1
+ import React, { useState, useCallback, useRef } from 'react';
2
+ import './Kanban.css';
3
+ export const Kanban = ({ columns: initialColumns, onCardMove, onCardClick, onCardAdd, onCardEdit, onCardDelete, allowAddCard = true, allowEditCard = true, allowDeleteCard = true, className = '', cardRender }) => {
4
+ const [columns, setColumns] = useState(initialColumns);
5
+ const [draggedCard, setDraggedCard] = useState(null);
6
+ const [dragOverColumn, setDragOverColumn] = useState(null);
7
+ const [dragOverIndex, setDragOverIndex] = useState(null);
8
+ const dragTimeoutRef = useRef(null);
9
+ const handleDragStart = useCallback((e, card, columnId, index) => {
10
+ setDraggedCard({ card, columnId, index });
11
+ e.dataTransfer.effectAllowed = 'move';
12
+ e.dataTransfer.setData('text/plain', card.id);
13
+ // Create a custom drag image
14
+ const dragImage = e.currentTarget.cloneNode(true);
15
+ dragImage.style.opacity = '0.8';
16
+ dragImage.style.transform = 'rotate(5deg)';
17
+ document.body.appendChild(dragImage);
18
+ e.dataTransfer.setDragImage(dragImage, e.clientX - e.currentTarget.getBoundingClientRect().left, e.clientY - e.currentTarget.getBoundingClientRect().top);
19
+ setTimeout(() => document.body.removeChild(dragImage), 0);
20
+ }, []);
21
+ const handleDragOver = useCallback((e, columnId, index) => {
22
+ e.preventDefault();
23
+ e.dataTransfer.dropEffect = 'move';
24
+ setDragOverColumn(columnId);
25
+ if (index !== undefined) {
26
+ setDragOverIndex(index);
27
+ }
28
+ // Auto-scroll when dragging near edges
29
+ const container = e.currentTarget.closest('.pure-kanban-column');
30
+ if (container) {
31
+ const rect = container.getBoundingClientRect();
32
+ const scrollThreshold = 100;
33
+ if (e.clientY < rect.top + scrollThreshold) {
34
+ container.scrollTop -= 10;
35
+ }
36
+ else if (e.clientY > rect.bottom - scrollThreshold) {
37
+ container.scrollTop += 10;
38
+ }
39
+ }
40
+ }, []);
41
+ const handleDragLeave = useCallback(() => {
42
+ if (dragTimeoutRef.current) {
43
+ clearTimeout(dragTimeoutRef.current);
44
+ }
45
+ dragTimeoutRef.current = setTimeout(() => {
46
+ setDragOverColumn(null);
47
+ setDragOverIndex(null);
48
+ }, 50);
49
+ }, []);
50
+ const handleDrop = useCallback((e, targetColumnId, targetIndex) => {
51
+ e.preventDefault();
52
+ if (dragTimeoutRef.current) {
53
+ clearTimeout(dragTimeoutRef.current);
54
+ }
55
+ if (!draggedCard)
56
+ return;
57
+ const { card, columnId: sourceColumnId, index: sourceIndex } = draggedCard;
58
+ // Don't do anything if dropped in the same position
59
+ if (sourceColumnId === targetColumnId && sourceIndex === targetIndex) {
60
+ setDraggedCard(null);
61
+ setDragOverColumn(null);
62
+ setDragOverIndex(null);
63
+ return;
64
+ }
65
+ // Update columns
66
+ setColumns(prevColumns => {
67
+ const newColumns = prevColumns.map(col => ({ ...col, cards: [...col.cards] }));
68
+ // Remove card from source column
69
+ const sourceColumn = newColumns.find(col => col.id === sourceColumnId);
70
+ if (sourceColumn) {
71
+ sourceColumn.cards.splice(sourceIndex, 1);
72
+ }
73
+ // Add card to target column
74
+ const targetColumn = newColumns.find(col => col.id === targetColumnId);
75
+ if (targetColumn) {
76
+ const insertIndex = targetIndex !== undefined && targetIndex !== null
77
+ ? targetIndex
78
+ : targetColumn.cards.length;
79
+ targetColumn.cards.splice(insertIndex, 0, card);
80
+ }
81
+ return newColumns;
82
+ });
83
+ // Call callback
84
+ if (onCardMove) {
85
+ onCardMove(card.id, sourceColumnId, targetColumnId, targetIndex);
86
+ }
87
+ setDraggedCard(null);
88
+ setDragOverColumn(null);
89
+ setDragOverIndex(null);
90
+ }, [draggedCard, onCardMove]);
91
+ const handleDragEnd = useCallback(() => {
92
+ setDraggedCard(null);
93
+ setDragOverColumn(null);
94
+ setDragOverIndex(null);
95
+ if (dragTimeoutRef.current) {
96
+ clearTimeout(dragTimeoutRef.current);
97
+ }
98
+ }, []);
99
+ const getPriorityColor = (priority) => {
100
+ switch (priority) {
101
+ case 'critical': return '#DE350B';
102
+ case 'high': return '#FF5630';
103
+ case 'medium': return '#FFAB00';
104
+ case 'low': return '#36B37E';
105
+ default: return '#DFE1E6';
106
+ }
107
+ };
108
+ const getPriorityLabel = (priority) => {
109
+ switch (priority) {
110
+ case 'critical': return 'Critical';
111
+ case 'high': return 'High';
112
+ case 'medium': return 'Medium';
113
+ case 'low': return 'Low';
114
+ default: return 'None';
115
+ }
116
+ };
117
+ const defaultCardRender = (card, columnId) => (React.createElement("div", { className: `pure-kanban-card ${draggedCard?.card.id === card.id ? 'pure-kanban-card--dragging' : ''}`, draggable: true, onDragStart: (e) => {
118
+ const column = columns.find(col => col.id === columnId);
119
+ const index = column?.cards.findIndex(c => c.id === card.id) ?? -1;
120
+ handleDragStart(e, card, columnId, index);
121
+ }, onDragEnd: handleDragEnd, onClick: () => onCardClick?.(card, columnId) },
122
+ card.priority && (React.createElement("div", { className: "pure-kanban-card__priority", style: { backgroundColor: getPriorityColor(card.priority) }, title: getPriorityLabel(card.priority) })),
123
+ React.createElement("div", { className: "pure-kanban-card__header" },
124
+ React.createElement("h4", { className: "pure-kanban-card__title" }, card.title),
125
+ (allowEditCard || allowDeleteCard) && (React.createElement("div", { className: "pure-kanban-card__actions" },
126
+ allowEditCard && (React.createElement("button", { className: "pure-kanban-card__action", onClick: (e) => {
127
+ e.stopPropagation();
128
+ onCardEdit?.(card, columnId);
129
+ }, title: "Edit card" },
130
+ React.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
131
+ React.createElement("path", { d: "M11.5 1.5L12.5 2.5L3.5 11.5H2.5V10.5L11.5 1.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })))),
132
+ allowDeleteCard && (React.createElement("button", { className: "pure-kanban-card__action", onClick: (e) => {
133
+ e.stopPropagation();
134
+ if (window.confirm('Are you sure you want to delete this card?')) {
135
+ onCardDelete?.(card.id, columnId);
136
+ }
137
+ }, title: "Delete card" },
138
+ React.createElement("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" },
139
+ React.createElement("path", { d: "M3.5 3.5L10.5 10.5M10.5 3.5L3.5 10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }))))))),
140
+ card.description && (React.createElement("p", { className: "pure-kanban-card__description" }, card.description)),
141
+ React.createElement("div", { className: "pure-kanban-card__footer" },
142
+ card.tags && card.tags.length > 0 && (React.createElement("div", { className: "pure-kanban-card__tags" },
143
+ card.tags.slice(0, 3).map((tag, idx) => (React.createElement("span", { key: idx, className: "pure-kanban-card__tag" }, tag))),
144
+ card.tags.length > 3 && (React.createElement("span", { className: "pure-kanban-card__tag pure-kanban-card__tag--more" },
145
+ "+",
146
+ card.tags.length - 3)))),
147
+ React.createElement("div", { className: "pure-kanban-card__meta" },
148
+ card.assignee && (React.createElement("div", { className: "pure-kanban-card__assignee", title: card.assignee }, card.assignee.charAt(0).toUpperCase())),
149
+ card.dueDate && (React.createElement("span", { className: "pure-kanban-card__due-date", title: `Due: ${card.dueDate}` }, "\uD83D\uDCC5"))))));
150
+ return (React.createElement("div", { className: `pure-kanban ${className}` }, columns.map((column) => (React.createElement("div", { key: column.id, className: `pure-kanban-column ${dragOverColumn === column.id ? 'pure-kanban-column--drag-over' : ''}`, onDragOver: (e) => handleDragOver(e, column.id), onDragLeave: handleDragLeave, onDrop: (e) => handleDrop(e, column.id) },
151
+ React.createElement("div", { className: "pure-kanban-column__header", style: { borderTopColor: column.color || '#0052CC' } },
152
+ React.createElement("div", { className: "pure-kanban-column__title-wrapper" },
153
+ React.createElement("h3", { className: "pure-kanban-column__title" }, column.title),
154
+ React.createElement("span", { className: "pure-kanban-column__count" }, column.cards.length),
155
+ column.limit && (React.createElement("span", { className: "pure-kanban-column__limit" },
156
+ "/ ",
157
+ column.limit))),
158
+ allowAddCard && (React.createElement("button", { className: "pure-kanban-column__add-button", onClick: () => onCardAdd?.(column.id), title: "Add card" },
159
+ React.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none" },
160
+ React.createElement("path", { d: "M8 3V13M3 8H13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }))))),
161
+ React.createElement("div", { className: "pure-kanban-column__body" },
162
+ column.cards.length === 0 && (React.createElement("div", { className: "pure-kanban-column__empty" },
163
+ React.createElement("p", null, "No cards"),
164
+ allowAddCard && (React.createElement("button", { className: "pure-kanban-column__empty-add-button", onClick: () => onCardAdd?.(column.id) }, "Add a card")))),
165
+ column.cards.map((card, index) => {
166
+ const isDragOver = dragOverColumn === column.id && dragOverIndex === index;
167
+ return (React.createElement("div", { key: card.id, className: `pure-kanban-card-wrapper ${isDragOver ? 'pure-kanban-card-wrapper--drag-over' : ''}`, onDragOver: (e) => {
168
+ e.preventDefault();
169
+ handleDragOver(e, column.id, index);
170
+ }, onDragLeave: handleDragLeave, onDrop: (e) => handleDrop(e, column.id, index) }, cardRender ? cardRender(card, column.id) : defaultCardRender(card, column.id)));
171
+ }),
172
+ dragOverColumn === column.id && dragOverIndex === null && column.cards.length > 0 && (React.createElement("div", { className: "pure-kanban-card-wrapper pure-kanban-card-wrapper--drag-over" },
173
+ React.createElement("div", { className: "pure-kanban-card__drop-indicator" })))))))));
174
+ };
175
+ //# sourceMappingURL=Kanban.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.js","sourceRoot":"","sources":["../../../src/components/Kanban/Kanban.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -15,4 +15,6 @@ export { Text } from './components/Text/Text';
15
15
  export type { TextProps } from './components/Text/Text';
16
16
  export { Form, FormItem, Input, Textarea, Select, Checkbox, Radio, Switch, FormGroup, FormRow, useFormContext, useForm } from './components/Form';
17
17
  export type { FormProps, FormItemProps, FormInstance, InputProps, TextareaProps, SelectProps, SelectOption, CheckboxProps, RadioProps, SwitchProps, FormGroupProps, FormRowProps } from './components/Form';
18
+ export { Kanban } from './components/Kanban/Kanban';
19
+ export type { KanbanProps, KanbanCard, KanbanColumn } from './components/Kanban/Kanban';
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
package/lib/index.js CHANGED
@@ -7,4 +7,5 @@ export { Space } from './components/Space/Space';
7
7
  export { Flex } from './components/Flex/Flex';
8
8
  export { Text } from './components/Text/Text';
9
9
  export { Form, FormItem, Input, Textarea, Select, Checkbox, Radio, Switch, FormGroup, FormRow, useFormContext, useForm } from './components/Form';
10
+ export { Kanban } from './components/Kanban/Kanban';
10
11
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,OAAO,EACR,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,cAAc,yBAAyB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,OAAO,EACR,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pure-react-ui",
3
- "version": "1.5.7",
3
+ "version": "1.5.8",
4
4
  "description": "A pure React UI component library with Button, Card, Modal, Icon, Space, Flex, Text, and Form components",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",