@wakastellar/ui 0.1.3 → 0.1.5

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 (81) hide show
  1. package/README.md +403 -199
  2. package/dist/blocks/activity-timeline/index.d.ts +73 -0
  3. package/dist/blocks/calendar-view/index.d.ts +56 -0
  4. package/dist/blocks/chat/index.d.ts +87 -0
  5. package/dist/blocks/dashboard/index.d.ts +92 -0
  6. package/dist/blocks/empty-states/index.d.ts +44 -0
  7. package/dist/blocks/error-pages/index.d.ts +52 -0
  8. package/dist/blocks/faq/index.d.ts +54 -0
  9. package/dist/blocks/file-manager/index.d.ts +81 -0
  10. package/dist/blocks/header/index.d.ts +86 -0
  11. package/dist/blocks/i18n-editor/index.d.ts +63 -0
  12. package/dist/blocks/kanban-board/index.d.ts +77 -0
  13. package/dist/blocks/landing/index.d.ts +101 -0
  14. package/dist/blocks/login/index.d.ts +12 -1
  15. package/dist/blocks/login/types.d.ts +46 -7
  16. package/dist/blocks/pricing/index.d.ts +60 -0
  17. package/dist/blocks/profile/index.d.ts +98 -0
  18. package/dist/blocks/settings/index.d.ts +62 -0
  19. package/dist/blocks/sidebar/index.d.ts +151 -0
  20. package/dist/blocks/theme-creator-block/index.d.ts +86 -0
  21. package/dist/blocks/user-management/index.d.ts +95 -0
  22. package/dist/blocks/wizard/index.d.ts +88 -0
  23. package/dist/charts.d.ts +17 -0
  24. package/dist/components/DataTable/DataTableBody.d.ts +70 -0
  25. package/dist/components/DataTable/DataTableCell.d.ts +38 -0
  26. package/dist/components/DataTable/DataTableConflictResolver.d.ts +45 -0
  27. package/dist/components/DataTable/DataTableFilterBuilder.d.ts +14 -0
  28. package/dist/components/DataTable/DataTableHeader.d.ts +50 -0
  29. package/dist/components/DataTable/DataTableSyncStatus.d.ts +31 -0
  30. package/dist/components/DataTable/formatters/index.d.ts +127 -0
  31. package/dist/components/DataTable/hooks/useDataTableAdvancedFilters.d.ts +18 -0
  32. package/dist/components/DataTable/hooks/useDataTableColumnTemplates.d.ts +28 -0
  33. package/dist/components/DataTable/hooks/useDataTableExport.d.ts +1 -1
  34. package/dist/components/DataTable/hooks/useDataTableOffline.d.ts +80 -0
  35. package/dist/components/DataTable/services/IndexedDBService.d.ts +117 -0
  36. package/dist/components/DataTable/templates/index.d.ts +104 -0
  37. package/dist/components/DataTable/workers/exportWorker.d.ts +29 -0
  38. package/dist/components/error-boundary/ErrorBoundary.d.ts +102 -0
  39. package/dist/components/error-boundary/index.d.ts +2 -0
  40. package/dist/components/waka-autocomplete/index.d.ts +59 -0
  41. package/dist/components/waka-barcode/index.d.ts +27 -0
  42. package/dist/components/waka-breadcrumb/index.d.ts +43 -0
  43. package/dist/components/waka-charts/WakaAreaChart.d.ts +12 -0
  44. package/dist/components/waka-charts/WakaBarChart.d.ts +12 -0
  45. package/dist/components/waka-charts/WakaChart.d.ts +17 -0
  46. package/dist/components/waka-charts/WakaLineChart.d.ts +12 -0
  47. package/dist/components/waka-charts/WakaMiniChart.d.ts +13 -0
  48. package/dist/components/waka-charts/WakaPieChart.d.ts +12 -0
  49. package/dist/components/waka-charts/WakaSparkline.d.ts +13 -0
  50. package/dist/components/waka-charts/dataTableHelpers.d.ts +34 -0
  51. package/dist/components/waka-charts/hooks/useChartTheme.d.ts +23 -0
  52. package/dist/components/waka-charts/hooks/useRechartsLoader.d.ts +161 -0
  53. package/dist/components/waka-charts/index.d.ts +57 -0
  54. package/dist/components/waka-charts/types.d.ts +298 -0
  55. package/dist/components/waka-color-picker/index.d.ts +40 -0
  56. package/dist/components/waka-combobox/index.d.ts +81 -0
  57. package/dist/components/waka-date-range-picker/index.d.ts +68 -0
  58. package/dist/components/waka-drawer/index.d.ts +59 -0
  59. package/dist/components/waka-file-upload/index.d.ts +49 -0
  60. package/dist/components/waka-image/index.d.ts +59 -0
  61. package/dist/components/waka-kanban/index.d.ts +68 -0
  62. package/dist/components/waka-modal/index.d.ts +82 -0
  63. package/dist/components/waka-number-input/index.d.ts +60 -0
  64. package/dist/components/waka-pagination/index.d.ts +67 -0
  65. package/dist/components/waka-qrcode/index.d.ts +32 -0
  66. package/dist/components/waka-rich-text-editor/index.d.ts +36 -0
  67. package/dist/components/waka-segmented-control/index.d.ts +42 -0
  68. package/dist/components/waka-stat/index.d.ts +57 -0
  69. package/dist/components/waka-stepper/index.d.ts +76 -0
  70. package/dist/components/waka-time-picker/index.d.ts +51 -0
  71. package/dist/components/waka-timeline/index.d.ts +46 -0
  72. package/dist/components/waka-tree/index.d.ts +67 -0
  73. package/dist/components/waka-video/index.d.ts +66 -0
  74. package/dist/components/waka-virtual-list/index.d.ts +54 -0
  75. package/dist/export.d.ts +28 -0
  76. package/dist/index.cjs.js +25 -23
  77. package/dist/index.es.js +5665 -5527
  78. package/dist/rich-text.d.ts +21 -0
  79. package/dist/ui.css +1 -1
  80. package/dist/utils/error-handling.d.ts +190 -0
  81. package/package.json +5 -2
@@ -0,0 +1,67 @@
1
+ import * as React from "react";
2
+ export interface TreeNode {
3
+ /** Identifiant unique du noeud */
4
+ id: string;
5
+ /** Libellé du noeud */
6
+ label: string;
7
+ /** Icône personnalisée */
8
+ icon?: React.ReactNode;
9
+ /** Enfants du noeud */
10
+ children?: TreeNode[];
11
+ /** Données additionnelles */
12
+ data?: Record<string, unknown>;
13
+ /** Désactiver le noeud */
14
+ disabled?: boolean;
15
+ /** Noeud sélectionnable */
16
+ selectable?: boolean;
17
+ }
18
+ export interface WakaTreeProps {
19
+ /** Données de l'arbre */
20
+ data: TreeNode[];
21
+ /** IDs des noeuds sélectionnés */
22
+ selectedIds?: string[];
23
+ /** Callback lors de la sélection */
24
+ onSelect?: (ids: string[]) => void;
25
+ /** IDs des noeuds développés */
26
+ expandedIds?: string[];
27
+ /** Callback lors du développement */
28
+ onExpand?: (ids: string[]) => void;
29
+ /** Mode de sélection */
30
+ selectionMode?: "none" | "single" | "multiple";
31
+ /** Afficher les checkboxes */
32
+ showCheckboxes?: boolean;
33
+ /** Afficher les icônes de fichier/dossier */
34
+ showIcons?: boolean;
35
+ /** Activer le drag & drop */
36
+ draggable?: boolean;
37
+ /** Callback lors du drop */
38
+ onDrop?: (draggedId: string, targetId: string, position: "before" | "after" | "inside") => void;
39
+ /** Taille */
40
+ size?: "sm" | "md" | "lg";
41
+ /** Classes CSS additionnelles */
42
+ className?: string;
43
+ /** Développer tout par défaut */
44
+ defaultExpandAll?: boolean;
45
+ }
46
+ export declare function WakaTree({ data, selectedIds: controlledSelectedIds, onSelect, expandedIds: controlledExpandedIds, onExpand, selectionMode, showCheckboxes, showIcons, draggable, onDrop: onDropProp, size, className, defaultExpandAll, }: WakaTreeProps): import("react/jsx-runtime").JSX.Element;
47
+ /**
48
+ * Trouve un noeud par son ID dans l'arbre
49
+ */
50
+ export declare function findNodeById(nodes: TreeNode[], id: string): TreeNode | null;
51
+ /**
52
+ * Met à jour un noeud dans l'arbre (retourne un nouvel arbre)
53
+ */
54
+ export declare function updateNode(nodes: TreeNode[], id: string, updates: Partial<TreeNode>): TreeNode[];
55
+ /**
56
+ * Supprime un noeud de l'arbre (retourne un nouvel arbre)
57
+ */
58
+ export declare function removeNode(nodes: TreeNode[], id: string): TreeNode[];
59
+ /**
60
+ * Ajoute un noeud enfant à un parent
61
+ */
62
+ export declare function addChildNode(nodes: TreeNode[], parentId: string, newNode: TreeNode): TreeNode[];
63
+ /**
64
+ * Déplace un noeud dans l'arbre
65
+ */
66
+ export declare function moveNode(nodes: TreeNode[], draggedId: string, targetId: string, position: "before" | "after" | "inside"): TreeNode[];
67
+ export default WakaTree;
@@ -0,0 +1,66 @@
1
+ import * as React from "react";
2
+ export interface VideoSource {
3
+ src: string;
4
+ type?: string;
5
+ quality?: string;
6
+ }
7
+ export interface WakaVideoProps {
8
+ /** Source(s) de la vidéo */
9
+ src: string | VideoSource[];
10
+ /** URL du poster */
11
+ poster?: string;
12
+ /** Lecture automatique */
13
+ autoPlay?: boolean;
14
+ /** Boucle */
15
+ loop?: boolean;
16
+ /** Muet */
17
+ muted?: boolean;
18
+ /** Afficher les contrôles */
19
+ controls?: boolean;
20
+ /** Précharger la vidéo */
21
+ preload?: "none" | "metadata" | "auto";
22
+ /** Largeur */
23
+ width?: number | string;
24
+ /** Hauteur */
25
+ height?: number | string;
26
+ /** Aspect ratio */
27
+ aspectRatio?: string;
28
+ /** Afficher le bouton plein écran */
29
+ showFullscreen?: boolean;
30
+ /** Afficher le sélecteur de vitesse */
31
+ showPlaybackSpeed?: boolean;
32
+ /** Afficher le sélecteur de qualité */
33
+ showQualitySelector?: boolean;
34
+ /** Vitesses de lecture disponibles */
35
+ playbackSpeeds?: number[];
36
+ /** Callback quand la vidéo est prête */
37
+ onReady?: () => void;
38
+ /** Callback lors de la lecture */
39
+ onPlay?: () => void;
40
+ /** Callback lors de la pause */
41
+ onPause?: () => void;
42
+ /** Callback quand la vidéo se termine */
43
+ onEnded?: () => void;
44
+ /** Callback lors du changement de temps */
45
+ onTimeUpdate?: (currentTime: number) => void;
46
+ /** Callback en cas d'erreur */
47
+ onError?: (error: Error) => void;
48
+ /** Classes CSS additionnelles */
49
+ className?: string;
50
+ }
51
+ export declare function WakaVideo({ src, poster, autoPlay, loop, muted, controls, preload, width, height, aspectRatio, showFullscreen, showPlaybackSpeed, showQualitySelector, playbackSpeeds, onReady, onPlay, onPause, onEnded, onTimeUpdate, onError, className, }: WakaVideoProps): import("react/jsx-runtime").JSX.Element;
52
+ export interface UseVideoOptions {
53
+ autoPlay?: boolean;
54
+ muted?: boolean;
55
+ }
56
+ export declare function useVideo(options?: UseVideoOptions): {
57
+ isPlaying: boolean;
58
+ isMuted: boolean;
59
+ currentTime: number;
60
+ duration: number;
61
+ onPlay: () => void;
62
+ onPause: () => void;
63
+ onTimeUpdate: React.Dispatch<React.SetStateAction<number>>;
64
+ onReady: () => void;
65
+ };
66
+ export default WakaVideo;
@@ -0,0 +1,54 @@
1
+ import * as React from "react";
2
+ export interface WakaVirtualListProps<T> {
3
+ /** Données à afficher */
4
+ items: T[];
5
+ /** Hauteur de chaque élément (ou fonction pour hauteur variable) */
6
+ itemHeight: number | ((item: T, index: number) => number);
7
+ /** Hauteur du conteneur */
8
+ height: number;
9
+ /** Largeur du conteneur */
10
+ width?: number | string;
11
+ /** Nombre d'éléments à pré-rendre au-dessus/en-dessous */
12
+ overscan?: number;
13
+ /** Fonction de rendu d'un élément */
14
+ renderItem: (item: T, index: number, style: React.CSSProperties) => React.ReactNode;
15
+ /** Callback lors du scroll */
16
+ onScroll?: (scrollTop: number) => void;
17
+ /** Callback quand on atteint la fin */
18
+ onEndReached?: () => void;
19
+ /** Seuil pour déclencher onEndReached (en pixels) */
20
+ endReachedThreshold?: number;
21
+ /** Afficher un indicateur de chargement à la fin */
22
+ isLoading?: boolean;
23
+ /** Élément à afficher pendant le chargement */
24
+ loadingElement?: React.ReactNode;
25
+ /** Élément à afficher si la liste est vide */
26
+ emptyElement?: React.ReactNode;
27
+ /** Classes CSS additionnelles */
28
+ className?: string;
29
+ /** Classes CSS pour le conteneur interne */
30
+ innerClassName?: string;
31
+ /** Référence au conteneur de scroll */
32
+ scrollRef?: React.RefObject<HTMLDivElement>;
33
+ }
34
+ export declare function WakaVirtualList<T>({ items, itemHeight, height, width, overscan, renderItem, onScroll, onEndReached, endReachedThreshold, isLoading, loadingElement, emptyElement, className, innerClassName, scrollRef: externalScrollRef, }: WakaVirtualListProps<T>): import("react/jsx-runtime").JSX.Element;
35
+ export interface UseVirtualListOptions {
36
+ itemCount: number;
37
+ itemHeight: number;
38
+ containerHeight: number;
39
+ overscan?: number;
40
+ }
41
+ export declare function useVirtualList(options: UseVirtualListOptions): {
42
+ totalHeight: number;
43
+ virtualItems: {
44
+ index: number;
45
+ start: number;
46
+ size: number;
47
+ }[];
48
+ startIndex: number;
49
+ endIndex: number;
50
+ handleScroll: (e: React.UIEvent<HTMLElement>) => void;
51
+ scrollToIndex: (index: number) => void;
52
+ scrollTop: number;
53
+ };
54
+ export default WakaVirtualList;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Entry point pour les fonctionnalités d'export du DataTable
3
+ *
4
+ * Usage:
5
+ * ```ts
6
+ * import { useDataTableExport } from "@wakastellar/ui/export"
7
+ * ```
8
+ *
9
+ * Dépendances optionnelles selon le format:
10
+ *
11
+ * Pour l'export Excel (.xlsx):
12
+ * - xlsx (>=0.18.0)
13
+ * ```bash
14
+ * pnpm add xlsx
15
+ * ```
16
+ *
17
+ * Pour l'export PDF:
18
+ * - jspdf (>=2.5.0)
19
+ * - jspdf-autotable (>=3.5.0)
20
+ * ```bash
21
+ * pnpm add jspdf jspdf-autotable
22
+ * ```
23
+ *
24
+ * Note: Les formats CSV, JSON et XML fonctionnent sans dépendances supplémentaires.
25
+ */
26
+ export { useDataTableExport } from './components/DataTable/hooks/useDataTableExport';
27
+ export { useDataTableImport } from './components/DataTable/hooks/useDataTableImport';
28
+ export type { ExportConfig, ImportConfig, ExportableCellValue, ImportedRowData, } from './components/DataTable/types';