@wakastellar/ui 0.2.0 → 0.3.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.
- package/dist/blocks/activity-timeline/index.d.ts +73 -0
- package/dist/blocks/calendar-view/index.d.ts +56 -0
- package/dist/blocks/chat/index.d.ts +87 -0
- package/dist/blocks/dashboard/index.d.ts +92 -0
- package/dist/blocks/empty-states/index.d.ts +44 -0
- package/dist/blocks/error-pages/index.d.ts +52 -0
- package/dist/blocks/faq/index.d.ts +54 -0
- package/dist/blocks/file-manager/index.d.ts +81 -0
- package/dist/blocks/header/index.d.ts +86 -0
- package/dist/blocks/index.d.ts +34 -0
- package/dist/blocks/kanban-board/index.d.ts +77 -0
- package/dist/blocks/landing/index.d.ts +101 -0
- package/dist/blocks/pricing/index.d.ts +60 -0
- package/dist/blocks/profile/index.d.ts +98 -0
- package/dist/blocks/settings/index.d.ts +62 -0
- package/dist/blocks/theme-creator-block/index.d.ts +86 -0
- package/dist/blocks/user-management/index.d.ts +95 -0
- package/dist/blocks/wizard/index.d.ts +88 -0
- package/dist/charts.cjs.js +1 -0
- package/dist/charts.d.ts +17 -0
- package/dist/charts.es.js +16 -0
- package/dist/cn-CAc3sAGM.js +21 -0
- package/dist/cn-zrNBeCrC.js +1 -0
- package/dist/components/DataTable/DataTableBody.d.ts +3 -1
- package/dist/components/DataTable/DataTableHeader.d.ts +3 -1
- package/dist/components/index.d.ts +19 -0
- package/dist/components/language-selector/index.d.ts +19 -1
- package/dist/components/waka-barcode/index.d.ts +27 -0
- package/dist/components/waka-breadcrumb/index.d.ts +43 -0
- package/dist/components/waka-combobox/index.d.ts +81 -0
- package/dist/components/waka-date-range-picker/index.d.ts +68 -0
- package/dist/components/waka-drawer/index.d.ts +59 -0
- package/dist/components/waka-image/index.d.ts +57 -0
- package/dist/components/waka-kanban/index.d.ts +68 -0
- package/dist/components/waka-modal/index.d.ts +82 -0
- package/dist/components/waka-number-input/index.d.ts +60 -0
- package/dist/components/waka-pagination/index.d.ts +67 -0
- package/dist/components/waka-qrcode/index.d.ts +32 -0
- package/dist/components/waka-segmented-control/index.d.ts +42 -0
- package/dist/components/waka-spinner/index.d.ts +57 -21
- package/dist/components/waka-stat/index.d.ts +57 -0
- package/dist/components/waka-stepper/index.d.ts +76 -0
- package/dist/components/waka-theme-creator/index.d.ts +73 -22
- package/dist/components/waka-time-picker/index.d.ts +51 -0
- package/dist/components/waka-timeline/index.d.ts +46 -0
- package/dist/components/waka-tree/index.d.ts +67 -0
- package/dist/components/waka-video/index.d.ts +66 -0
- package/dist/components/waka-virtual-list/index.d.ts +54 -0
- package/dist/export.cjs.js +1 -0
- package/dist/export.d.ts +28 -0
- package/dist/export.es.js +5 -0
- package/dist/index-CENPre_9.js +466 -0
- package/dist/index-CHLjUBPo.js +1 -0
- package/dist/index.cjs.js +54 -155
- package/dist/index.es.js +20832 -11710
- package/dist/rich-text.cjs.js +1 -0
- package/dist/rich-text.d.ts +21 -0
- package/dist/rich-text.es.js +4 -0
- package/dist/types-Bjy1Hy76.js +1111 -0
- package/dist/types-CHv7a1SP.js +1 -0
- package/dist/useDataTableImport-DqeEL4GC.js +124 -0
- package/dist/useDataTableImport-sQwBFAJ_.js +775 -0
- package/package.json +53 -5
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type ActivityType = "created" | "updated" | "deleted" | "commented" | "uploaded" | "downloaded" | "shared" | "approved" | "rejected" | "mentioned" | "assigned" | "completed" | "custom";
|
|
3
|
+
export interface ActivityUser {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
avatar?: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ActivityItem {
|
|
10
|
+
id: string;
|
|
11
|
+
type: ActivityType;
|
|
12
|
+
title: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
user: ActivityUser;
|
|
15
|
+
timestamp: Date | string;
|
|
16
|
+
metadata?: {
|
|
17
|
+
targetName?: string;
|
|
18
|
+
targetType?: string;
|
|
19
|
+
oldValue?: string;
|
|
20
|
+
newValue?: string;
|
|
21
|
+
comment?: string;
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
icon?: React.ReactNode;
|
|
25
|
+
color?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ActivityFilter {
|
|
28
|
+
id: string;
|
|
29
|
+
label: string;
|
|
30
|
+
types: ActivityType[];
|
|
31
|
+
}
|
|
32
|
+
export interface WakaActivityTimelineProps {
|
|
33
|
+
/** Activités */
|
|
34
|
+
activities: ActivityItem[];
|
|
35
|
+
/** Titre */
|
|
36
|
+
title?: string;
|
|
37
|
+
/** Afficher la recherche */
|
|
38
|
+
showSearch?: boolean;
|
|
39
|
+
/** Afficher les filtres */
|
|
40
|
+
showFilters?: boolean;
|
|
41
|
+
/** Filtres disponibles */
|
|
42
|
+
filters?: ActivityFilter[];
|
|
43
|
+
/** Filtre actif */
|
|
44
|
+
activeFilter?: string;
|
|
45
|
+
/** Callback changement de filtre */
|
|
46
|
+
onFilterChange?: (filterId: string | null) => void;
|
|
47
|
+
/** Afficher le bouton rafraîchir */
|
|
48
|
+
showRefresh?: boolean;
|
|
49
|
+
/** Callback rafraîchissement */
|
|
50
|
+
onRefresh?: () => void;
|
|
51
|
+
/** En cours de chargement */
|
|
52
|
+
loading?: boolean;
|
|
53
|
+
/** Regrouper par jour */
|
|
54
|
+
groupByDay?: boolean;
|
|
55
|
+
/** Afficher plus */
|
|
56
|
+
showLoadMore?: boolean;
|
|
57
|
+
/** Callback charger plus */
|
|
58
|
+
onLoadMore?: () => void;
|
|
59
|
+
/** En cours de chargement plus */
|
|
60
|
+
loadingMore?: boolean;
|
|
61
|
+
/** Afficher les avatars */
|
|
62
|
+
showAvatars?: boolean;
|
|
63
|
+
/** Afficher les timestamps relatifs */
|
|
64
|
+
relativeTime?: boolean;
|
|
65
|
+
/** Layout */
|
|
66
|
+
layout?: "timeline" | "feed" | "compact";
|
|
67
|
+
/** Classes CSS additionnelles */
|
|
68
|
+
className?: string;
|
|
69
|
+
}
|
|
70
|
+
export declare function WakaActivityTimeline({ activities, title, showSearch, showFilters, filters, activeFilter: externalActiveFilter, onFilterChange, showRefresh, onRefresh, loading, groupByDay, showLoadMore, onLoadMore, loadingMore, showAvatars, relativeTime, layout, className, }: WakaActivityTimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
export declare const defaultActivityFilters: ActivityFilter[];
|
|
72
|
+
export declare const defaultActivities: ActivityItem[];
|
|
73
|
+
export default WakaActivityTimeline;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export type CalendarViewMode = "month" | "week" | "day" | "agenda";
|
|
2
|
+
export type EventColor = "blue" | "green" | "red" | "yellow" | "purple" | "pink" | "orange" | "cyan";
|
|
3
|
+
export interface CalendarEvent {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
start: Date | string;
|
|
8
|
+
end: Date | string;
|
|
9
|
+
allDay?: boolean;
|
|
10
|
+
color?: EventColor;
|
|
11
|
+
location?: string;
|
|
12
|
+
attendees?: {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
avatar?: string;
|
|
16
|
+
}[];
|
|
17
|
+
recurring?: "daily" | "weekly" | "monthly" | "yearly";
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
export interface WakaCalendarViewProps {
|
|
21
|
+
/** Événements */
|
|
22
|
+
events: CalendarEvent[];
|
|
23
|
+
/** Date courante */
|
|
24
|
+
currentDate?: Date;
|
|
25
|
+
/** Callback changement de date */
|
|
26
|
+
onDateChange?: (date: Date) => void;
|
|
27
|
+
/** Mode de vue */
|
|
28
|
+
viewMode?: CalendarViewMode;
|
|
29
|
+
/** Callback changement de mode */
|
|
30
|
+
onViewModeChange?: (mode: CalendarViewMode) => void;
|
|
31
|
+
/** Callback clic sur un événement */
|
|
32
|
+
onEventClick?: (event: CalendarEvent) => void;
|
|
33
|
+
/** Callback création d'événement */
|
|
34
|
+
onEventCreate?: (event: Partial<CalendarEvent>) => void;
|
|
35
|
+
/** Callback modification d'événement */
|
|
36
|
+
onEventEdit?: (eventId: string, data: Partial<CalendarEvent>) => void;
|
|
37
|
+
/** Callback suppression d'événement */
|
|
38
|
+
onEventDelete?: (eventId: string) => void;
|
|
39
|
+
/** Callback clic sur un jour */
|
|
40
|
+
onDayClick?: (date: Date) => void;
|
|
41
|
+
/** Afficher le header */
|
|
42
|
+
showHeader?: boolean;
|
|
43
|
+
/** Afficher le sélecteur de vue */
|
|
44
|
+
showViewSelector?: boolean;
|
|
45
|
+
/** Afficher le bouton ajouter */
|
|
46
|
+
showAddButton?: boolean;
|
|
47
|
+
/** Premier jour de la semaine (0 = dimanche, 1 = lundi) */
|
|
48
|
+
weekStartsOn?: 0 | 1;
|
|
49
|
+
/** Locale */
|
|
50
|
+
locale?: string;
|
|
51
|
+
/** Classes CSS additionnelles */
|
|
52
|
+
className?: string;
|
|
53
|
+
}
|
|
54
|
+
export declare function WakaCalendarView({ events, currentDate: externalCurrentDate, onDateChange, viewMode: externalViewMode, onViewModeChange, onEventClick, onEventCreate, onEventEdit, onEventDelete, onDayClick, showHeader, showViewSelector, showAddButton, weekStartsOn, locale, className, }: WakaCalendarViewProps): import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export declare const defaultCalendarEvents: CalendarEvent[];
|
|
56
|
+
export default WakaCalendarView;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export type MessageStatus = "sending" | "sent" | "delivered" | "read" | "error";
|
|
2
|
+
export interface ChatUser {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
avatar?: string;
|
|
6
|
+
status?: "online" | "offline" | "away" | "busy";
|
|
7
|
+
lastSeen?: Date | string;
|
|
8
|
+
}
|
|
9
|
+
export interface ChatMessage {
|
|
10
|
+
id: string;
|
|
11
|
+
content: string;
|
|
12
|
+
sender: ChatUser;
|
|
13
|
+
timestamp: Date | string;
|
|
14
|
+
status?: MessageStatus;
|
|
15
|
+
replyTo?: ChatMessage;
|
|
16
|
+
attachments?: {
|
|
17
|
+
type: "image" | "file" | "audio";
|
|
18
|
+
url: string;
|
|
19
|
+
name: string;
|
|
20
|
+
size?: number;
|
|
21
|
+
}[];
|
|
22
|
+
reactions?: {
|
|
23
|
+
emoji: string;
|
|
24
|
+
users: string[];
|
|
25
|
+
}[];
|
|
26
|
+
isEdited?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface ChatConversation {
|
|
29
|
+
id: string;
|
|
30
|
+
name?: string;
|
|
31
|
+
participants: ChatUser[];
|
|
32
|
+
lastMessage?: ChatMessage;
|
|
33
|
+
unreadCount?: number;
|
|
34
|
+
isGroup?: boolean;
|
|
35
|
+
avatar?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface WakaChatProps {
|
|
38
|
+
/** Conversations */
|
|
39
|
+
conversations?: ChatConversation[];
|
|
40
|
+
/** Conversation active */
|
|
41
|
+
activeConversation?: ChatConversation | null;
|
|
42
|
+
/** Messages de la conversation active */
|
|
43
|
+
messages: ChatMessage[];
|
|
44
|
+
/** Utilisateur actuel */
|
|
45
|
+
currentUser: ChatUser;
|
|
46
|
+
/** Callback envoi de message */
|
|
47
|
+
onSendMessage?: (content: string, attachments?: File[]) => void;
|
|
48
|
+
/** Callback sélection conversation */
|
|
49
|
+
onConversationSelect?: (conversation: ChatConversation) => void;
|
|
50
|
+
/** Callback suppression message */
|
|
51
|
+
onMessageDelete?: (messageId: string) => void;
|
|
52
|
+
/** Callback réponse à un message */
|
|
53
|
+
onMessageReply?: (message: ChatMessage) => void;
|
|
54
|
+
/** Callback recherche */
|
|
55
|
+
onSearch?: (query: string) => void;
|
|
56
|
+
/** Callback appel audio */
|
|
57
|
+
onAudioCall?: () => void;
|
|
58
|
+
/** Callback appel vidéo */
|
|
59
|
+
onVideoCall?: () => void;
|
|
60
|
+
/** Afficher la liste des conversations */
|
|
61
|
+
showConversationList?: boolean;
|
|
62
|
+
/** Afficher le header */
|
|
63
|
+
showHeader?: boolean;
|
|
64
|
+
/** Afficher les indicateurs de statut */
|
|
65
|
+
showMessageStatus?: boolean;
|
|
66
|
+
/** Afficher les horodatages */
|
|
67
|
+
showTimestamps?: boolean;
|
|
68
|
+
/** Afficher le bouton pièce jointe */
|
|
69
|
+
showAttachments?: boolean;
|
|
70
|
+
/** Afficher le bouton emoji */
|
|
71
|
+
showEmoji?: boolean;
|
|
72
|
+
/** Placeholder de l'input */
|
|
73
|
+
inputPlaceholder?: string;
|
|
74
|
+
/** En cours d'envoi */
|
|
75
|
+
sending?: boolean;
|
|
76
|
+
/** En cours de chargement */
|
|
77
|
+
loading?: boolean;
|
|
78
|
+
/** Layout */
|
|
79
|
+
layout?: "full" | "embedded" | "floating";
|
|
80
|
+
/** Classes CSS additionnelles */
|
|
81
|
+
className?: string;
|
|
82
|
+
}
|
|
83
|
+
export declare function WakaChat({ conversations, activeConversation, messages, currentUser, onSendMessage, onConversationSelect, onMessageDelete, onMessageReply, onSearch, onAudioCall, onVideoCall, showConversationList, showHeader, showMessageStatus, showTimestamps, showAttachments, showEmoji, inputPlaceholder, sending, loading, layout, className, }: WakaChatProps): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
export declare const defaultChatUser: ChatUser;
|
|
85
|
+
export declare const defaultChatConversations: ChatConversation[];
|
|
86
|
+
export declare const defaultChatMessages: ChatMessage[];
|
|
87
|
+
export default WakaChat;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface DashboardStatConfig {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
value: string | number;
|
|
6
|
+
trend?: "up" | "down" | "neutral";
|
|
7
|
+
trendValue?: string;
|
|
8
|
+
trendText?: string;
|
|
9
|
+
icon?: React.ReactNode;
|
|
10
|
+
color?: "default" | "primary" | "success" | "warning" | "destructive" | "blue" | "purple";
|
|
11
|
+
}
|
|
12
|
+
export interface DashboardChartConfig {
|
|
13
|
+
id: string;
|
|
14
|
+
title: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
/** Composant graphique (WakaBarChart, WakaLineChart, etc.) */
|
|
17
|
+
chart: React.ReactNode;
|
|
18
|
+
/** Actions du menu */
|
|
19
|
+
actions?: {
|
|
20
|
+
label: string;
|
|
21
|
+
onClick?: () => void;
|
|
22
|
+
}[];
|
|
23
|
+
}
|
|
24
|
+
export interface DashboardTableConfig {
|
|
25
|
+
id: string;
|
|
26
|
+
title: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
/** Composant DataTable ou Table */
|
|
29
|
+
table: React.ReactNode;
|
|
30
|
+
/** Actions */
|
|
31
|
+
actions?: {
|
|
32
|
+
label: string;
|
|
33
|
+
onClick?: () => void;
|
|
34
|
+
href?: string;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
export interface DashboardActivityItem {
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
timestamp: string | Date;
|
|
42
|
+
icon?: React.ReactNode;
|
|
43
|
+
type?: "info" | "success" | "warning" | "error";
|
|
44
|
+
}
|
|
45
|
+
export interface DashboardQuickAction {
|
|
46
|
+
id: string;
|
|
47
|
+
label: string;
|
|
48
|
+
icon?: React.ReactNode;
|
|
49
|
+
onClick?: () => void;
|
|
50
|
+
href?: string;
|
|
51
|
+
variant?: "default" | "outline" | "secondary";
|
|
52
|
+
}
|
|
53
|
+
export interface WakaDashboardProps {
|
|
54
|
+
/** Titre du dashboard */
|
|
55
|
+
title?: string;
|
|
56
|
+
/** Description */
|
|
57
|
+
description?: string;
|
|
58
|
+
/** Statistiques en haut */
|
|
59
|
+
stats?: DashboardStatConfig[];
|
|
60
|
+
/** Graphiques */
|
|
61
|
+
charts?: DashboardChartConfig[];
|
|
62
|
+
/** Tableaux */
|
|
63
|
+
tables?: DashboardTableConfig[];
|
|
64
|
+
/** Activité récente */
|
|
65
|
+
activities?: DashboardActivityItem[];
|
|
66
|
+
/** Actions rapides */
|
|
67
|
+
quickActions?: DashboardQuickAction[];
|
|
68
|
+
/** Afficher le header */
|
|
69
|
+
showHeader?: boolean;
|
|
70
|
+
/** Callback de rafraîchissement */
|
|
71
|
+
onRefresh?: () => void;
|
|
72
|
+
/** En cours de chargement */
|
|
73
|
+
loading?: boolean;
|
|
74
|
+
/** Période sélectionnée */
|
|
75
|
+
period?: string;
|
|
76
|
+
/** Callback changement de période */
|
|
77
|
+
onPeriodChange?: (period: string) => void;
|
|
78
|
+
/** Périodes disponibles */
|
|
79
|
+
periods?: {
|
|
80
|
+
value: string;
|
|
81
|
+
label: string;
|
|
82
|
+
}[];
|
|
83
|
+
/** Layout des stats */
|
|
84
|
+
statsLayout?: "row" | "grid";
|
|
85
|
+
/** Nombre de colonnes pour les stats (grid) */
|
|
86
|
+
statsColumns?: 2 | 3 | 4;
|
|
87
|
+
/** Classes CSS additionnelles */
|
|
88
|
+
className?: string;
|
|
89
|
+
}
|
|
90
|
+
export declare function WakaDashboard({ title, description, stats, charts, tables, activities, quickActions, showHeader, onRefresh, loading, period, onPeriodChange, periods, statsLayout, statsColumns, className, }: WakaDashboardProps): import("react/jsx-runtime").JSX.Element;
|
|
91
|
+
export declare const defaultDashboardStats: DashboardStatConfig[];
|
|
92
|
+
export default WakaDashboard;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type EmptyStateType = "no-data" | "no-results" | "no-messages" | "no-files" | "no-users" | "no-cart" | "no-notifications" | "no-events" | "no-images" | "no-bookmarks" | "no-favorites" | "error" | "custom";
|
|
3
|
+
export interface EmptyStateAction {
|
|
4
|
+
label: string;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
href?: string;
|
|
7
|
+
variant?: "default" | "outline" | "secondary" | "ghost";
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface WakaEmptyStateProps {
|
|
11
|
+
/** Type d'état vide */
|
|
12
|
+
type?: EmptyStateType;
|
|
13
|
+
/** Titre */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Description */
|
|
16
|
+
description?: string;
|
|
17
|
+
/** Icône personnalisée */
|
|
18
|
+
icon?: React.ReactNode;
|
|
19
|
+
/** Actions */
|
|
20
|
+
actions?: EmptyStateAction[];
|
|
21
|
+
/** Illustration personnalisée */
|
|
22
|
+
illustration?: React.ReactNode;
|
|
23
|
+
/** Afficher l'illustration par défaut */
|
|
24
|
+
showIllustration?: boolean;
|
|
25
|
+
/** Taille */
|
|
26
|
+
size?: "sm" | "md" | "lg";
|
|
27
|
+
/** Layout */
|
|
28
|
+
layout?: "vertical" | "horizontal";
|
|
29
|
+
/** Centré */
|
|
30
|
+
centered?: boolean;
|
|
31
|
+
/** Contenu additionnel */
|
|
32
|
+
children?: React.ReactNode;
|
|
33
|
+
/** Classes CSS additionnelles */
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function WakaEmptyState({ type, title, description, icon, actions, illustration, showIllustration, size, layout, centered, children, className, }: WakaEmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
export declare function NoDataState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare function NoResultsState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function NoMessagesState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function NoFilesState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare function EmptyCartState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export declare function NoNotificationsState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function ErrorState(props: Omit<WakaEmptyStateProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
export default WakaEmptyState;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type ErrorType = "404" | "500" | "403" | "503" | "offline" | "maintenance" | "custom";
|
|
3
|
+
export interface ErrorAction {
|
|
4
|
+
label: string;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
href?: string;
|
|
7
|
+
variant?: "default" | "outline" | "secondary" | "ghost";
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface WakaErrorPageProps {
|
|
11
|
+
/** Type d'erreur */
|
|
12
|
+
type?: ErrorType;
|
|
13
|
+
/** Code d'erreur personnalisé */
|
|
14
|
+
code?: string | number;
|
|
15
|
+
/** Titre */
|
|
16
|
+
title?: string;
|
|
17
|
+
/** Description */
|
|
18
|
+
description?: string;
|
|
19
|
+
/** Actions disponibles */
|
|
20
|
+
actions?: ErrorAction[];
|
|
21
|
+
/** Illustration personnalisée */
|
|
22
|
+
illustration?: React.ReactNode;
|
|
23
|
+
/** Afficher le code d'erreur */
|
|
24
|
+
showCode?: boolean;
|
|
25
|
+
/** Afficher l'illustration par défaut */
|
|
26
|
+
showIllustration?: boolean;
|
|
27
|
+
/** Afficher le bouton retour */
|
|
28
|
+
showBackButton?: boolean;
|
|
29
|
+
/** Callback retour */
|
|
30
|
+
onBack?: () => void;
|
|
31
|
+
/** Afficher le bouton accueil */
|
|
32
|
+
showHomeButton?: boolean;
|
|
33
|
+
/** URL de la page d'accueil */
|
|
34
|
+
homeUrl?: string;
|
|
35
|
+
/** Afficher le bouton rafraîchir */
|
|
36
|
+
showRefreshButton?: boolean;
|
|
37
|
+
/** Contenu additionnel */
|
|
38
|
+
children?: React.ReactNode;
|
|
39
|
+
/** Layout */
|
|
40
|
+
layout?: "centered" | "split";
|
|
41
|
+
/** Taille */
|
|
42
|
+
size?: "sm" | "md" | "lg";
|
|
43
|
+
/** Classes CSS additionnelles */
|
|
44
|
+
className?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function WakaErrorPage({ type, code, title, description, actions, illustration, showCode, showIllustration, showBackButton, onBack, showHomeButton, homeUrl, showRefreshButton, children, layout, size, className, }: WakaErrorPageProps): import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare function Error404Page(props: Omit<WakaErrorPageProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function Error500Page(props: Omit<WakaErrorPageProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
49
|
+
export declare function Error403Page(props: Omit<WakaErrorPageProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export declare function MaintenancePage(props: Omit<WakaErrorPageProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
export declare function OfflinePage(props: Omit<WakaErrorPageProps, "type">): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export default WakaErrorPage;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface FAQItem {
|
|
3
|
+
id: string;
|
|
4
|
+
question: string;
|
|
5
|
+
answer: string | React.ReactNode;
|
|
6
|
+
category?: string;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
helpful?: number;
|
|
9
|
+
notHelpful?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface FAQCategory {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface WakaFAQProps {
|
|
18
|
+
/** Liste des questions/réponses */
|
|
19
|
+
items: FAQItem[];
|
|
20
|
+
/** Catégories */
|
|
21
|
+
categories?: FAQCategory[];
|
|
22
|
+
/** Titre */
|
|
23
|
+
title?: string;
|
|
24
|
+
/** Description */
|
|
25
|
+
description?: string;
|
|
26
|
+
/** Afficher la recherche */
|
|
27
|
+
showSearch?: boolean;
|
|
28
|
+
/** Placeholder de recherche */
|
|
29
|
+
searchPlaceholder?: string;
|
|
30
|
+
/** Afficher les catégories comme filtres */
|
|
31
|
+
showCategoryFilter?: boolean;
|
|
32
|
+
/** Catégorie active */
|
|
33
|
+
activeCategory?: string;
|
|
34
|
+
/** Callback changement de catégorie */
|
|
35
|
+
onCategoryChange?: (categoryId: string | null) => void;
|
|
36
|
+
/** Permettre plusieurs accordéons ouverts */
|
|
37
|
+
allowMultiple?: boolean;
|
|
38
|
+
/** Éléments ouverts par défaut */
|
|
39
|
+
defaultOpen?: string[];
|
|
40
|
+
/** Afficher le feedback (utile/pas utile) */
|
|
41
|
+
showFeedback?: boolean;
|
|
42
|
+
/** Callback feedback */
|
|
43
|
+
onFeedback?: (itemId: string, helpful: boolean) => void;
|
|
44
|
+
/** Layout */
|
|
45
|
+
layout?: "default" | "cards" | "grouped";
|
|
46
|
+
/** Taille */
|
|
47
|
+
size?: "sm" | "md" | "lg";
|
|
48
|
+
/** Classes CSS additionnelles */
|
|
49
|
+
className?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare function WakaFAQ({ items, categories, title, description, showSearch, searchPlaceholder, showCategoryFilter, activeCategory: externalActiveCategory, onCategoryChange, allowMultiple, defaultOpen, showFeedback, onFeedback, layout, size, className, }: WakaFAQProps): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export declare const defaultFAQCategories: FAQCategory[];
|
|
53
|
+
export declare const defaultFAQItems: FAQItem[];
|
|
54
|
+
export default WakaFAQ;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export type FileType = "folder" | "document" | "image" | "video" | "audio" | "archive" | "code" | "other";
|
|
2
|
+
export interface FileItem {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: FileType;
|
|
6
|
+
size?: number;
|
|
7
|
+
mimeType?: string;
|
|
8
|
+
path: string;
|
|
9
|
+
parentId?: string | null;
|
|
10
|
+
createdAt: Date | string;
|
|
11
|
+
modifiedAt: Date | string;
|
|
12
|
+
createdBy?: {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
starred?: boolean;
|
|
17
|
+
shared?: boolean;
|
|
18
|
+
thumbnail?: string;
|
|
19
|
+
metadata?: Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
export interface BreadcrumbItem {
|
|
22
|
+
id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
path: string;
|
|
25
|
+
}
|
|
26
|
+
export interface WakaFileManagerProps {
|
|
27
|
+
/** Fichiers et dossiers */
|
|
28
|
+
files: FileItem[];
|
|
29
|
+
/** Chemin courant */
|
|
30
|
+
currentPath?: string;
|
|
31
|
+
/** Fil d'Ariane */
|
|
32
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
33
|
+
/** Fichiers sélectionnés */
|
|
34
|
+
selectedFiles?: string[];
|
|
35
|
+
/** Callback sélection */
|
|
36
|
+
onSelectionChange?: (fileIds: string[]) => void;
|
|
37
|
+
/** Callback navigation */
|
|
38
|
+
onNavigate?: (path: string, folderId?: string) => void;
|
|
39
|
+
/** Callback ouvrir fichier */
|
|
40
|
+
onFileOpen?: (file: FileItem) => void;
|
|
41
|
+
/** Callback télécharger */
|
|
42
|
+
onDownload?: (fileIds: string[]) => void;
|
|
43
|
+
/** Callback supprimer */
|
|
44
|
+
onDelete?: (fileIds: string[]) => void;
|
|
45
|
+
/** Callback renommer */
|
|
46
|
+
onRename?: (fileId: string, newName: string) => void;
|
|
47
|
+
/** Callback copier */
|
|
48
|
+
onCopy?: (fileIds: string[], targetPath: string) => void;
|
|
49
|
+
/** Callback déplacer */
|
|
50
|
+
onMove?: (fileIds: string[], targetPath: string) => void;
|
|
51
|
+
/** Callback créer dossier */
|
|
52
|
+
onCreateFolder?: (name: string, parentPath: string) => void;
|
|
53
|
+
/** Callback upload */
|
|
54
|
+
onUpload?: (files: File[], targetPath: string) => void;
|
|
55
|
+
/** Callback partager */
|
|
56
|
+
onShare?: (fileId: string) => void;
|
|
57
|
+
/** Callback favori */
|
|
58
|
+
onToggleStar?: (fileId: string) => void;
|
|
59
|
+
/** Callback rafraîchir */
|
|
60
|
+
onRefresh?: () => void;
|
|
61
|
+
/** Mode d'affichage */
|
|
62
|
+
viewMode?: "grid" | "list";
|
|
63
|
+
/** Callback changement de mode */
|
|
64
|
+
onViewModeChange?: (mode: "grid" | "list") => void;
|
|
65
|
+
/** Afficher la recherche */
|
|
66
|
+
showSearch?: boolean;
|
|
67
|
+
/** Callback recherche */
|
|
68
|
+
onSearch?: (query: string) => void;
|
|
69
|
+
/** Afficher le header */
|
|
70
|
+
showHeader?: boolean;
|
|
71
|
+
/** Afficher les actions */
|
|
72
|
+
showActions?: boolean;
|
|
73
|
+
/** En cours de chargement */
|
|
74
|
+
loading?: boolean;
|
|
75
|
+
/** Classes CSS additionnelles */
|
|
76
|
+
className?: string;
|
|
77
|
+
}
|
|
78
|
+
export declare function WakaFileManager({ files, currentPath, breadcrumbs, selectedFiles, onSelectionChange, onNavigate, onFileOpen, onDownload, onDelete, onRename, onCopy, onMove, onCreateFolder, onUpload, onShare, onToggleStar, onRefresh, viewMode: externalViewMode, onViewModeChange, showSearch, onSearch, showHeader, showActions, loading, className, }: WakaFileManagerProps): import("react/jsx-runtime").JSX.Element;
|
|
79
|
+
export declare const defaultFiles: FileItem[];
|
|
80
|
+
export declare const defaultBreadcrumbs: BreadcrumbItem[];
|
|
81
|
+
export default WakaFileManager;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface HeaderAction {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
8
|
+
}
|
|
9
|
+
export interface HeaderFilter {
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
options: {
|
|
14
|
+
value: string;
|
|
15
|
+
label: string;
|
|
16
|
+
}[];
|
|
17
|
+
value?: string;
|
|
18
|
+
onChange?: (value: string) => void;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface HeaderNotification {
|
|
22
|
+
id: string;
|
|
23
|
+
title: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
time?: string;
|
|
26
|
+
read?: boolean;
|
|
27
|
+
onClick?: () => void;
|
|
28
|
+
}
|
|
29
|
+
export interface HeaderUserMenu {
|
|
30
|
+
name: string;
|
|
31
|
+
email?: string;
|
|
32
|
+
avatar?: string;
|
|
33
|
+
initials?: string;
|
|
34
|
+
items: {
|
|
35
|
+
label: string;
|
|
36
|
+
icon?: React.ReactNode;
|
|
37
|
+
onClick?: () => void;
|
|
38
|
+
separator?: boolean;
|
|
39
|
+
}[];
|
|
40
|
+
}
|
|
41
|
+
export interface WakaHeaderProps {
|
|
42
|
+
/** Titre principal affiché au centre */
|
|
43
|
+
title?: string;
|
|
44
|
+
/** Sous-titre optionnel */
|
|
45
|
+
subtitle?: string;
|
|
46
|
+
/** Afficher le champ de recherche */
|
|
47
|
+
showSearch?: boolean;
|
|
48
|
+
/** Placeholder du champ de recherche */
|
|
49
|
+
searchPlaceholder?: string;
|
|
50
|
+
/** Valeur du champ de recherche */
|
|
51
|
+
searchValue?: string;
|
|
52
|
+
/** Callback lors de la recherche */
|
|
53
|
+
onSearchChange?: (value: string) => void;
|
|
54
|
+
/** Callback lors de la soumission de recherche */
|
|
55
|
+
onSearchSubmit?: (value: string) => void;
|
|
56
|
+
/** Bouton d'action principal (ex: "Création rapide") */
|
|
57
|
+
primaryAction?: HeaderAction;
|
|
58
|
+
/** Actions secondaires (boutons) */
|
|
59
|
+
secondaryActions?: HeaderAction[];
|
|
60
|
+
/** Filtres affichés sous le header */
|
|
61
|
+
filters?: HeaderFilter[];
|
|
62
|
+
/** Notifications */
|
|
63
|
+
notifications?: HeaderNotification[];
|
|
64
|
+
/** Nombre de notifications non lues */
|
|
65
|
+
unreadCount?: number;
|
|
66
|
+
/** Callback lors du clic sur les notifications */
|
|
67
|
+
onNotificationsClick?: () => void;
|
|
68
|
+
/** Menu utilisateur */
|
|
69
|
+
userMenu?: HeaderUserMenu;
|
|
70
|
+
/** Éléments personnalisés à gauche */
|
|
71
|
+
leftContent?: React.ReactNode;
|
|
72
|
+
/** Éléments personnalisés à droite */
|
|
73
|
+
rightContent?: React.ReactNode;
|
|
74
|
+
/** Éléments personnalisés dans la barre de filtres */
|
|
75
|
+
filterContent?: React.ReactNode;
|
|
76
|
+
/** Classes CSS additionnelles */
|
|
77
|
+
className?: string;
|
|
78
|
+
/** Classes CSS pour la barre principale */
|
|
79
|
+
mainBarClassName?: string;
|
|
80
|
+
/** Classes CSS pour la barre de filtres */
|
|
81
|
+
filterBarClassName?: string;
|
|
82
|
+
/** Sticky header */
|
|
83
|
+
sticky?: boolean;
|
|
84
|
+
}
|
|
85
|
+
export declare function WakaHeader({ title, subtitle, showSearch, searchPlaceholder, searchValue, onSearchChange, onSearchSubmit, primaryAction, secondaryActions, filters, notifications, unreadCount, onNotificationsClick, userMenu, leftContent, rightContent, filterContent, className, mainBarClassName, filterBarClassName, sticky, }: WakaHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
export default WakaHeader;
|
package/dist/blocks/index.d.ts
CHANGED
|
@@ -6,3 +6,37 @@ export { Login } from './login';
|
|
|
6
6
|
export type { LoginConfig, LoginColorConfig, LoginThemeConfig, LoginAssetsConfig, LoginSignupOptions, LoginFormData } from './login';
|
|
7
7
|
export { WakaSidebar, SidebarLayout, useSidebar } from './sidebar';
|
|
8
8
|
export type { WakaSidebarProps, SidebarLayoutProps, SidebarMenuItem, SidebarUserConfig, SidebarLogoConfig, } from './sidebar';
|
|
9
|
+
export { WakaHeader } from './header';
|
|
10
|
+
export type { WakaHeaderProps, HeaderAction, HeaderFilter, HeaderNotification, HeaderUserMenu, } from './header';
|
|
11
|
+
export { WakaDashboard, defaultDashboardStats } from './dashboard';
|
|
12
|
+
export type { WakaDashboardProps, DashboardStatConfig, DashboardChartConfig, DashboardTableConfig, DashboardActivityItem, DashboardQuickAction, } from './dashboard';
|
|
13
|
+
export { WakaSettings, defaultSettingsTabs } from './settings';
|
|
14
|
+
export type { WakaSettingsProps, SettingsFieldConfig, SettingsSectionConfig, SettingsTabConfig, } from './settings';
|
|
15
|
+
export { WakaProfile, defaultProfileData } from './profile';
|
|
16
|
+
export type { WakaProfileProps, ProfileData, ProfileField, ProfileSection, ProfileSocialLink, } from './profile';
|
|
17
|
+
export { WakaUserManagement, defaultUsers, defaultPermissions } from './user-management';
|
|
18
|
+
export type { WakaUserManagementProps, UserData, UserFormData, UserRole, UserStatus, UserPermission, } from './user-management';
|
|
19
|
+
export { WakaErrorPage, Error404Page, Error500Page, Error403Page, MaintenancePage, OfflinePage, } from './error-pages';
|
|
20
|
+
export type { WakaErrorPageProps, ErrorType, ErrorAction, } from './error-pages';
|
|
21
|
+
export { WakaLanding, defaultLandingNavItems, defaultLandingFeatures, defaultLandingTestimonials, defaultLandingHero, defaultLandingCTA, } from './landing';
|
|
22
|
+
export type { WakaLandingProps, LandingNavItem, LandingHeroProps, LandingFeature, LandingTestimonial, LandingCTA, } from './landing';
|
|
23
|
+
export { WakaPricing, defaultPricingPlans, defaultPricingFAQ, } from './pricing';
|
|
24
|
+
export type { WakaPricingProps, PricingPlan, PricingFeature, PricingFAQ, } from './pricing';
|
|
25
|
+
export { WakaEmptyState, NoDataState, NoResultsState, NoMessagesState, NoFilesState, EmptyCartState, NoNotificationsState, ErrorState, } from './empty-states';
|
|
26
|
+
export type { WakaEmptyStateProps, EmptyStateType, EmptyStateAction, } from './empty-states';
|
|
27
|
+
export { WakaWizard, useWizard, defaultWizardSteps, } from './wizard';
|
|
28
|
+
export type { WakaWizardProps, WizardStep, WizardStepStatus, WizardSubmitData, } from './wizard';
|
|
29
|
+
export { WakaFAQ, defaultFAQCategories, defaultFAQItems, } from './faq';
|
|
30
|
+
export type { WakaFAQProps, FAQItem, FAQCategory, } from './faq';
|
|
31
|
+
export { WakaActivityTimeline, defaultActivityFilters, defaultActivities, } from './activity-timeline';
|
|
32
|
+
export type { WakaActivityTimelineProps, ActivityItem, ActivityUser, ActivityFilter, ActivityType, } from './activity-timeline';
|
|
33
|
+
export { WakaKanbanBoard, defaultKanbanColumns, defaultKanbanLabels, } from './kanban-board';
|
|
34
|
+
export type { WakaKanbanBoardProps, KanbanCard as KanbanBoardCard, KanbanColumn as KanbanBoardColumn, KanbanCardLabel, KanbanCardPriority, } from './kanban-board';
|
|
35
|
+
export { WakaChat, defaultChatUser, defaultChatConversations, defaultChatMessages, } from './chat';
|
|
36
|
+
export type { WakaChatProps, ChatUser, ChatMessage, ChatConversation, MessageStatus, } from './chat';
|
|
37
|
+
export { WakaCalendarView, defaultCalendarEvents, } from './calendar-view';
|
|
38
|
+
export type { WakaCalendarViewProps, CalendarEvent, CalendarViewMode, EventColor, } from './calendar-view';
|
|
39
|
+
export { WakaFileManager, defaultFiles, defaultBreadcrumbs, } from './file-manager';
|
|
40
|
+
export type { WakaFileManagerProps, FileItem, FileType, BreadcrumbItem as FileManagerBreadcrumb, } from './file-manager';
|
|
41
|
+
export { WakaThemeCreatorBlock, defaultThemes, } from './theme-creator-block';
|
|
42
|
+
export type { WakaThemeCreatorBlockProps, ThemeCreatorBlockTheme, ThemeBlockColors, ThemeBlockAssets, ThemeColorGroup, } from './theme-creator-block';
|