@moontra/moonui-pro 2.13.0 → 2.14.0

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.
@@ -108,4 +108,61 @@ export interface KanbanProps {
108
108
  disabled?: boolean
109
109
  labels?: KanbanLabel[]
110
110
  users?: KanbanAssignee[]
111
+
112
+ // Card Render Customization
113
+ renderCard?: (card: KanbanCard, column: KanbanColumn, provided: any) => React.ReactNode
114
+ renderCardPreview?: (card: KanbanCard) => React.ReactNode
115
+ renderCardBadge?: (card: KanbanCard) => React.ReactNode
116
+ renderCardActions?: (card: KanbanCard) => React.ReactNode
117
+ cardCompactMode?: boolean
118
+ cardShowCoverImage?: boolean
119
+ cardShowAssignees?: boolean
120
+ cardShowLabels?: boolean
121
+ cardShowProgress?: boolean
122
+ cardDateFormat?: string
123
+ cardMaxAssigneesToShow?: number
124
+
125
+ // Add Card Customization
126
+ renderAddCardButton?: (columnId: string) => React.ReactNode
127
+ renderAddCardForm?: (columnId: string, onAdd: (card: Partial<KanbanCard>) => void, onCancel: () => void) => React.ReactNode
128
+ addCardButtonText?: string | ((columnId: string) => string)
129
+ addCardPosition?: 'top' | 'bottom'
130
+ allowQuickAdd?: boolean
131
+ quickAddFields?: ('title' | 'description' | 'assignee' | 'priority')[]
132
+ validateCard?: (card: Partial<KanbanCard>) => { valid: boolean; errors?: string[] }
133
+ onBeforeCardAdd?: (card: Partial<KanbanCard>) => Partial<KanbanCard> | false
134
+
135
+ // Column Customization
136
+ renderColumnHeader?: (column: KanbanColumn) => React.ReactNode
137
+ renderColumnFooter?: (column: KanbanColumn) => React.ReactNode
138
+ renderEmptyColumn?: (column: KanbanColumn) => React.ReactNode
139
+ columnMenuActions?: Array<{
140
+ label: string
141
+ icon?: React.ReactNode
142
+ action: (column: KanbanColumn) => void
143
+ visible?: (column: KanbanColumn) => boolean
144
+ }>
145
+ allowColumnReorder?: boolean
146
+ columnColorOptions?: string[]
147
+ columnDefaultColor?: string
148
+
149
+ // Drag & Drop Enhancement
150
+ dragDisabled?: boolean | ((card: KanbanCard) => boolean)
151
+ dropDisabled?: boolean | ((column: KanbanColumn) => boolean)
152
+ dragPreview?: 'card' | 'compact' | 'custom'
153
+ renderDragPreview?: (card: KanbanCard) => React.ReactNode
154
+ canDrop?: (card: KanbanCard, targetColumn: KanbanColumn, position: number) => boolean
155
+ onDragStart?: (card: KanbanCard, column: KanbanColumn) => void
156
+ onDragEnd?: (card: KanbanCard, column: KanbanColumn) => void
157
+
158
+ // UI/UX Customization
159
+ theme?: 'default' | 'compact' | 'modern' | 'minimal'
160
+ cardVariant?: 'default' | 'bordered' | 'elevated' | 'flat'
161
+ enableAnimations?: boolean
162
+ animationDuration?: number
163
+ columnWidth?: number | 'auto'
164
+ columnGap?: number
165
+ cardGap?: number
166
+ showTooltips?: boolean
167
+ tooltipDelay?: number
111
168
  }