@wakastellar/ui 0.6.0 → 1.0.2

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 (62) hide show
  1. package/dist/blocks/index.d.ts +28 -39
  2. package/dist/components/DataTable/DataTable.d.ts +1 -1
  3. package/dist/components/DataTable/DataTableAdvanced.d.ts +1 -1
  4. package/dist/components/DataTable/DataTableFilters.d.ts +3 -3
  5. package/dist/components/DataTable/DataTableSelection.d.ts +12 -17
  6. package/dist/components/DataTable/hooks/useDataTable.d.ts +1 -1
  7. package/dist/components/DataTable/hooks/useDataTableAdvanced.d.ts +6 -6
  8. package/dist/components/DataTable/hooks/useDataTableExport.d.ts +4 -15
  9. package/dist/components/DataTable/hooks/useDataTableImport.d.ts +2 -16
  10. package/dist/components/DataTable/hooks/useDataTableVirtualization.d.ts +1 -1
  11. package/dist/components/DataTable/index.d.ts +2 -48
  12. package/dist/components/DataTable/types.d.ts +25 -417
  13. package/dist/components/command/index.d.ts +2 -6
  14. package/dist/components/index.d.ts +20 -24
  15. package/dist/components/language-selector/index.d.ts +1 -19
  16. package/dist/components/theme-selector/index.d.ts +0 -10
  17. package/dist/components/typography/index.d.ts +1 -1
  18. package/dist/components/waka-spinner/index.d.ts +21 -57
  19. package/dist/components/waka-theme-creator/index.d.ts +22 -73
  20. package/dist/components/waka-theme-manager/index.d.ts +1 -14
  21. package/dist/context/admincrumb-context.d.ts +1 -118
  22. package/dist/context/index.d.ts +2 -2
  23. package/dist/context/language-context.d.ts +23 -177
  24. package/dist/context/theme-context.d.ts +3 -4
  25. package/dist/context/theme-provider.d.ts +19 -57
  26. package/dist/context/waka-provider.d.ts +7 -50
  27. package/dist/hooks/use-toast.d.ts +0 -116
  28. package/dist/hooks/use-translation.d.ts +1 -24
  29. package/dist/hooks/useToast.d.ts +0 -82
  30. package/dist/index.cjs.js +44 -57
  31. package/dist/index.d.ts +3 -35
  32. package/dist/index.es.js +17836 -21739
  33. package/dist/types/provider.d.ts +17 -48
  34. package/dist/ui.css +1 -1
  35. package/dist/utils/cn.d.ts +1 -15
  36. package/dist/utils/datetime-helpers.d.ts +33 -241
  37. package/dist/utils/index.d.ts +0 -4
  38. package/dist/utils/theme-loader.d.ts +30 -140
  39. package/dist/utils/tweak.d.ts +1 -14
  40. package/package.json +40 -107
  41. package/src/styles/datepicker.css +2 -9
  42. package/src/styles/globals.css +4 -4
  43. package/dist/charts.cjs.js +0 -1
  44. package/dist/charts.es.js +0 -16
  45. package/dist/cn-CAc3sAGM.js +0 -21
  46. package/dist/cn-zrNBeCrC.js +0 -1
  47. package/dist/components/DataTable/DataTableGroupRow.d.ts +0 -35
  48. package/dist/components/DataTable/DataTableRow.d.ts +0 -30
  49. package/dist/components/WakaKeycloakLogin/WakaKeycloakLogin.d.ts +0 -3
  50. package/dist/components/WakaKeycloakLogin/index.d.ts +0 -2
  51. package/dist/components/WakaKeycloakLogin/types.d.ts +0 -56
  52. package/dist/export.cjs.js +0 -1
  53. package/dist/export.es.js +0 -5
  54. package/dist/index-CENPre_9.js +0 -466
  55. package/dist/index-CHLjUBPo.js +0 -1
  56. package/dist/rich-text.cjs.js +0 -1
  57. package/dist/rich-text.es.js +0 -4
  58. package/dist/types-Bjy1Hy76.js +0 -1111
  59. package/dist/types-CHv7a1SP.js +0 -1
  60. package/dist/useDataTableImport-DqeEL4GC.js +0 -124
  61. package/dist/useDataTableImport-sQwBFAJ_.js +0 -775
  62. package/dist/utils/logger.d.ts +0 -60
@@ -1,7 +1,6 @@
1
1
  export interface Language {
2
2
  code: string;
3
3
  label: string;
4
- shortLabel?: string;
5
4
  flag?: string;
6
5
  flagEmoji?: string;
7
6
  }
@@ -26,22 +25,6 @@ export interface LanguageSelectorProps {
26
25
  placeholder?: string;
27
26
  /** Texte pour le screen reader */
28
27
  ariaLabel?: string;
29
- /** Titre pour le mode mobile fullscreen */
30
- title?: string;
31
- /** Label du bouton Continue pour le mode mobile */
32
- continueLabel?: string;
33
- /** Langues récemment utilisées (codes) */
34
- recentLanguages?: string[];
35
- /** Label pour la section "Récents" */
36
- recentLabel?: string;
37
- /** Label pour la section "Tous" */
38
- allLabel?: string;
39
- /** Placeholder de recherche */
40
- searchPlaceholder?: string;
41
- /** Breakpoint pour le mode mobile (en pixels) */
42
- mobileBreakpoint?: number;
43
- /** Désactiver le mode mobile fullscreen */
44
- disableMobileFullscreen?: boolean;
45
28
  }
46
29
  /**
47
30
  * LanguageSelector
@@ -51,8 +34,7 @@ export interface LanguageSelectorProps {
51
34
  * Features:
52
35
  * - Drapeaux emoji ou images
53
36
  * - 3 variantes : default (select), compact (bouton), minimal (icon only)
54
- * - Mode fullscreen automatique sur mobile
55
37
  * - Support du chargement asynchrone
56
38
  * - Intégration avec LanguageProvider pour S3
57
39
  */
58
- export declare function LanguageSelector({ languages, value, onChange, showFlags, showLabels, variant, isLoading, className, placeholder, ariaLabel, title, continueLabel, recentLanguages, recentLabel, allLabel, searchPlaceholder, mobileBreakpoint, disableMobileFullscreen, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function LanguageSelector({ languages, value, onChange, showFlags, showLabels, variant, isLoading, className, placeholder, ariaLabel, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
@@ -4,15 +4,5 @@ export interface ThemeSelectorProps {
4
4
  variant?: "default" | "full" | "compact" | "select";
5
5
  /** Texte pour le screen reader */
6
6
  ariaLabel?: string;
7
- /** Titre pour le mode mobile fullscreen */
8
- title?: string;
9
- /** Label du bouton Appliquer pour le mode mobile */
10
- applyLabel?: string;
11
- /** Placeholder de recherche */
12
- searchPlaceholder?: string;
13
- /** Breakpoint pour le mode mobile (en pixels) */
14
- mobileBreakpoint?: number;
15
- /** Désactiver le mode mobile fullscreen */
16
- disableMobileFullscreen?: boolean;
17
7
  }
18
8
  export declare const ThemeSelector: React.ForwardRefExoticComponent<ThemeSelectorProps & React.RefAttributes<HTMLDivElement>>;
@@ -21,7 +21,7 @@ export interface TextProps extends React.HTMLAttributes<HTMLParagraphElement>, V
21
21
  */
22
22
  declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<HTMLParagraphElement>>;
23
23
  declare const headingVariants: (props?: ({
24
- level?: "h3" | "h2" | "h1" | "h4" | "h5" | "h6" | null | undefined;
24
+ level?: "h2" | "h3" | "h1" | "h4" | "h5" | "h6" | null | undefined;
25
25
  variant?: "default" | "muted" | "gradient" | null | undefined;
26
26
  } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
27
27
  export interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement>, VariantProps<typeof headingVariants> {
@@ -1,82 +1,46 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  /**
4
- * Variantes du spinner Jarvis WakaSpinner
4
+ * Variantes du spinner spatial WakaSpinner
5
+ * Définit les différentes tailles disponibles pour l'animation
5
6
  */
6
7
  declare const spinnerVariants: (props?: ({
7
- size?: "sm" | "lg" | "md" | "xs" | "xl" | null | undefined;
8
+ size?: "sm" | "lg" | "md" | "xl" | null | undefined;
8
9
  } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
9
10
  export interface WakaSpinnerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof spinnerVariants> {
10
11
  /**
11
- * Mode du spinner
12
- * - "infinite": Animation continue style Jarvis (pour processus indéfinis)
13
- * - "loading": Animation de chargement de données (visuellement différent pour indiquer une récupération)
14
- * @default "infinite"
15
- */
16
- mode?: "infinite" | "loading";
17
- /**
18
- * Label affiché au centre du spinner
19
- */
20
- label?: string;
21
- /**
22
- * Sous-label affiché sous le label principal
12
+ * Affiche les astéroïdes en arrière-plan
13
+ * @default true
23
14
  */
24
- subLabel?: string;
15
+ showAsteroids?: boolean;
25
16
  /**
26
- * Vitesse de rotation (en secondes pour un tour complet)
27
- * @default 3
17
+ * Vitesse de rotation de la fusée (en secondes)
18
+ * @default 2
28
19
  */
29
20
  speed?: number;
30
21
  /**
31
- * Couleur principale (classe Tailwind ou couleur CSS)
32
- * @default "primary"
33
- */
34
- color?: "primary" | "secondary" | "accent" | "destructive" | "muted" | string;
35
- /**
36
- * Nombre de cercles concentriques
37
- * @default 3
22
+ * Couleur de la fusée (classe Tailwind ou couleur CSS)
23
+ * @default "text-primary"
38
24
  */
39
- rings?: 2 | 3 | 4 | 5;
25
+ rocketColor?: string;
40
26
  /**
41
- * Afficher les particules flottantes
42
- * @default true
27
+ * Couleur des astéroïdes (classe Tailwind ou couleur CSS)
28
+ * @default "text-muted-foreground"
43
29
  */
44
- showParticles?: boolean;
45
- /**
46
- * Afficher le pulse central
47
- * @default true
48
- */
49
- showPulse?: boolean;
50
- /**
51
- * Opacité des anneaux (0-1)
52
- * @default 0.6
53
- */
54
- ringOpacity?: number;
30
+ asteroidColor?: string;
55
31
  }
56
32
  /**
57
- * WakaSpinner - Composant de chargement style Jarvis/HUD futuriste
33
+ * WakaSpinner - Composant de chargement avec animation spatiale
58
34
  *
59
- * Deux modes disponibles :
60
- * - **infinite** : Cercles concentriques tournants pour processus continus
61
- * - **loading** : Variante avec effet de scan pour indiquer une récupération de données
35
+ * Une fusée orbite autour d'un centre avec des astéroïdes flottants optionnels.
36
+ * Idéal pour les écrans de chargement avec une touche ludique.
62
37
  *
63
38
  * @example
64
39
  * ```tsx
65
- * // Mode infini simple
66
- * <WakaSpinner mode="infinite" label="Processing" />
67
- *
68
- * // Mode loading avec sous-label
69
- * <WakaSpinner mode="loading" label="Loading" subLabel="Fetching data..." />
70
- *
71
- * // Personnalisé
72
- * <WakaSpinner
73
- * mode="infinite"
74
- * size="lg"
75
- * rings={4}
76
- * color="accent"
77
- * label="JARVIS"
78
- * />
40
+ * <WakaSpinner size="md" />
41
+ * <WakaSpinner size="lg" showAsteroids={true} speed={3} />
42
+ * <WakaSpinner rocketColor="text-blue-500" asteroidColor="text-gray-400" />
79
43
  * ```
80
44
  */
81
45
  export declare const WakaSpinner: React.ForwardRefExoticComponent<WakaSpinnerProps & React.RefAttributes<HTMLDivElement>>;
82
- export default WakaSpinner;
46
+ export {};
@@ -5,40 +5,6 @@ export interface ThemeVersion {
5
5
  changelog?: string;
6
6
  css: string;
7
7
  }
8
- /**
9
- * Ressource personnalisée pour le thème
10
- */
11
- export interface ThemeCustomResource {
12
- /** Clé unique de la ressource */
13
- key: string;
14
- /** URL de la ressource (après upload S3) */
15
- url: string;
16
- /** Type de fichier */
17
- type: "image" | "icon" | "font" | "other";
18
- /** Nom du fichier original */
19
- filename: string;
20
- /** Taille en octets */
21
- size?: number;
22
- }
23
- /**
24
- * Configuration des assets du thème (login, etc.)
25
- */
26
- export interface ThemeAssets {
27
- /** Logo pour le mode clair */
28
- logo_light?: string;
29
- /** Logo pour le mode sombre */
30
- logo_dark?: string;
31
- /** Image de fond pour le mode clair */
32
- background_light?: string;
33
- /** Image de fond pour le mode sombre */
34
- background_dark?: string;
35
- /** Favicon */
36
- favicon?: string;
37
- /** Image de sponsor (mode clair) */
38
- sponsor_light?: string;
39
- /** Image de sponsor (mode sombre) */
40
- sponsor_dark?: string;
41
- }
42
8
  export interface ThemeMetadata {
43
9
  id: string;
44
10
  label: string;
@@ -47,64 +13,47 @@ export interface ThemeMetadata {
47
13
  author?: string;
48
14
  versions: ThemeVersion[];
49
15
  currentVersion: string;
50
- /** Assets du thème (logos, backgrounds) */
51
- assets?: ThemeAssets;
52
- /** Ressources personnalisées */
53
- customResources?: ThemeCustomResource[];
54
16
  }
55
- /**
56
- * Réponse de l'API d'upload de fichier
57
- */
58
- export interface FileUploadResponse {
59
- /** URL du fichier uploadé */
60
- url: string;
61
- /** Nom du fichier */
62
- filename?: string;
63
- /** Taille du fichier en octets */
64
- size?: number;
65
- }
66
- /**
67
- * Configuration de l'API pour le ThemeCreator
68
- */
69
- export interface ThemeCreatorApiConfig {
70
- /** Callback pour uploader un fichier (logo, background, etc.) */
71
- onUploadFile: (file: File, themeId: string, assetType: string) => Promise<FileUploadResponse>;
72
- /** Callback pour sauvegarder le thème complet */
73
- onSaveTheme: (theme: ThemeMetadata) => Promise<void>;
74
- /** Callback pour supprimer un thème */
75
- onDeleteTheme?: (themeId: string) => Promise<void>;
76
- /** Callback pour charger les détails d'un thème */
77
- onLoadTheme?: (themeId: string) => Promise<ThemeMetadata | null>;
78
- /** Callback pour supprimer un asset */
79
- onDeleteAsset?: (themeId: string, assetType: string) => Promise<void>;
17
+ export interface S3UploadConfig {
18
+ /** URL de base du bucket S3 */
19
+ baseUrl: string;
20
+ /** Méthode HTTP pour l'upload (PUT ou POST) */
21
+ method?: "PUT" | "POST";
22
+ /** Headers personnalisés pour l'authentification */
23
+ headers?: Record<string, string>;
24
+ /** Préfixe des fichiers */
25
+ prefix?: string;
26
+ /** Extension des fichiers */
27
+ extension?: string;
80
28
  }
81
29
  export interface WakaThemeCreatorProps {
82
- /** Configuration de l'API */
83
- apiConfig: ThemeCreatorApiConfig;
84
- /** Thèmes existants à charger */
85
- existingThemes?: ThemeMetadata[];
30
+ /** Configuration S3 pour l'upload */
31
+ s3Config: S3UploadConfig;
86
32
  /** Callback après sauvegarde réussie */
87
- onSaveSuccess?: (theme: ThemeMetadata) => void;
33
+ onSave?: (theme: ThemeMetadata) => void;
88
34
  /** Callback après suppression */
89
- onDeleteSuccess?: (themeId: string) => void;
35
+ onDelete?: (themeId: string) => void;
36
+ /** Callback pour charger un thème depuis S3 */
37
+ onLoadTheme?: (themeId: string) => Promise<ThemeMetadata | null>;
38
+ /** Thèmes existants à charger */
39
+ existingThemes?: ThemeMetadata[];
90
40
  /** Classe CSS personnalisée */
91
41
  className?: string;
92
42
  }
93
43
  /**
94
44
  * WakaThemeCreator
95
45
  *
96
- * Composant d'administration pour créer, prévisualiser et publier des thèmes TweakCN.
46
+ * Composant d'administration pour créer, prévisualiser et publier des thèmes TweakCN sur S3.
97
47
  *
98
48
  * Features:
99
49
  * - Création de thèmes avec CSS TweakCN
100
50
  * - Prévisualisation en temps réel
101
51
  * - Gestion des versions
102
- * - Upload via API (POST)
103
- * - Gestion des ressources (logos, backgrounds, custom)
52
+ * - Upload sur S3/MinIO
104
53
  * - Historique des modifications
105
54
  * - Validation du CSS
106
55
  */
107
- export declare function WakaThemeCreator({ apiConfig, existingThemes, onSaveSuccess, onDeleteSuccess, className, }: WakaThemeCreatorProps): import("react/jsx-runtime").JSX.Element;
56
+ export declare function WakaThemeCreator({ s3Config, onSave, onDelete, onLoadTheme, existingThemes, className, }: WakaThemeCreatorProps): import("react/jsx-runtime").JSX.Element;
108
57
  export declare namespace WakaThemeCreator {
109
58
  var displayName: string;
110
59
  }
@@ -3,9 +3,6 @@ import * as React from "react";
3
3
  declare const themeManagerVariants: (props?: ({
4
4
  size?: "base" | "sm" | "lg" | "full" | null | undefined;
5
5
  } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
6
- /**
7
- * Interface pour un thème au format simplifié (couleurs directes)
8
- */
9
6
  export interface TweakCNTheme {
10
7
  name: string;
11
8
  description?: string;
@@ -39,27 +36,17 @@ export interface TweakCNTheme {
39
36
  };
40
37
  }
41
38
  export interface WakaThemeManagerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof themeManagerVariants> {
42
- /** Callback lors du changement de thème */
43
39
  onThemeChange?: (theme: TweakCNTheme) => void;
44
- /** Callback lors du chargement d'un thème */
45
40
  onThemeLoad?: (theme: TweakCNTheme) => void;
46
- /** Callback lors de la sauvegarde d'un thème */
47
41
  onThemeSave?: (theme: TweakCNTheme) => void;
48
- /** Thème initial */
49
42
  initialTheme?: TweakCNTheme;
50
- /** Afficher la prévisualisation */
51
43
  showPreview?: boolean;
52
- /** Afficher l'export */
53
44
  showExport?: boolean;
54
- /** Afficher l'import */
55
45
  showImport?: boolean;
56
- /** Autoriser la modification des couleurs */
57
46
  allowCustomColors?: boolean;
58
47
  }
59
48
  /**
60
- * WakaThemeManager - Gestionnaire complet de thèmes
61
- *
62
- * Supporte le format shadcn/ui registry-item et peut charger des thèmes à la volée.
49
+ * WakaThemeManager - Gestionnaire complet de thèmes TweakCN
63
50
  *
64
51
  * @example
65
52
  * ```tsx
@@ -1,151 +1,34 @@
1
- /**
2
- * @fileoverview Contexte pour la gestion de la navigation hiérarchique d'administration
3
- *
4
- * Ce contexte permet de gérer une sélection hiérarchique de type:
5
- * Partner > Network > Customer
6
- *
7
- * Fonctionnalités:
8
- * - Sélection hiérarchique avec cascade (changer le partner réinitialise network et customer)
9
- * - Persistance automatique dans localStorage
10
- * - Génération de requêtes de filtrage pour les API
11
- * - Support de métadonnées personnalisées sur chaque niveau
12
- *
13
- * @module context/admincrumb-context
14
- */
15
1
  import * as React from "react";
16
- /**
17
- * Représente un élément de la hiérarchie d'administration
18
- *
19
- * @example
20
- * ```ts
21
- * const partner: AdmincrumbItem = {
22
- * id: "partner-123",
23
- * name: "Acme Corp",
24
- * type: "partner",
25
- * metadata: { logo: "https://..." }
26
- * }
27
- * ```
28
- */
29
2
  export interface AdmincrumbItem {
30
- /** Identifiant unique de l'élément */
31
3
  id: string;
32
- /** Nom d'affichage */
33
4
  name: string;
34
- /** Type hiérarchique (partner > network > customer) */
35
5
  type: "partner" | "network" | "customer";
36
- /** Métadonnées personnalisées (logo, couleur, etc.) */
37
- metadata?: Record<string, unknown>;
6
+ metadata?: Record<string, any>;
38
7
  }
39
- /**
40
- * État de sélection de la hiérarchie
41
- */
42
8
  export interface AdmincrumbSelection {
43
- /** Partenaire sélectionné (niveau 1) */
44
9
  partner?: AdmincrumbItem;
45
- /** Réseau sélectionné (niveau 2) */
46
10
  network?: AdmincrumbItem;
47
- /** Client sélectionné (niveau 3) */
48
11
  customer?: AdmincrumbItem;
49
12
  }
50
- /**
51
- * Valeur du contexte Admincrumb exposée aux composants
52
- */
53
13
  export interface AdmincrumbContextValue {
54
- /** État actuel de la sélection */
55
14
  selection: AdmincrumbSelection;
56
- /**
57
- * Définit le partenaire sélectionné
58
- * Note: Réinitialise network et customer
59
- */
60
15
  setPartner: (item: AdmincrumbItem | undefined) => void;
61
- /**
62
- * Définit le réseau sélectionné
63
- * Note: Réinitialise customer
64
- */
65
16
  setNetwork: (item: AdmincrumbItem | undefined) => void;
66
- /** Définit le client sélectionné */
67
17
  setCustomer: (item: AdmincrumbItem | undefined) => void;
68
- /** Réinitialise toute la sélection */
69
18
  reset: () => void;
70
- /** Indique si au moins un niveau est sélectionné */
71
19
  isFiltered: boolean;
72
- /**
73
- * Génère un objet de requête avec les IDs sélectionnés
74
- * Utile pour filtrer les appels API
75
- */
76
20
  getFilterQuery: () => {
77
21
  partnerId?: string;
78
22
  networkId?: string;
79
23
  customerId?: string;
80
24
  };
81
25
  }
82
- /**
83
- * Props du provider Admincrumb
84
- */
85
26
  export interface AdmincrumbProviderProps {
86
- /** Composants enfants */
87
27
  children: React.ReactNode;
88
- /** Sélection initiale */
89
28
  initialSelection?: AdmincrumbSelection;
90
- /** Callback appelé à chaque changement de sélection */
91
29
  onSelectionChange?: (selection: AdmincrumbSelection) => void;
92
- /** Clé pour persister dans localStorage (défaut: "admincrumb-selection") */
93
30
  persistKey?: string;
94
31
  }
95
- /**
96
- * Provider pour la gestion de la navigation hiérarchique d'administration
97
- *
98
- * Gère automatiquement:
99
- * - La cascade de sélection (Partner > Network > Customer)
100
- * - La persistance dans localStorage
101
- * - Les notifications de changement
102
- *
103
- * @example
104
- * ```tsx
105
- * <AdmincrumbProvider
106
- * initialSelection={{ partner: defaultPartner }}
107
- * onSelectionChange={(sel) => console.log('Selection:', sel)}
108
- * >
109
- * <App />
110
- * </AdmincrumbProvider>
111
- * ```
112
- */
113
32
  export declare function AdmincrumbProvider({ children, initialSelection, onSelectionChange, persistKey }: AdmincrumbProviderProps): import("react/jsx-runtime").JSX.Element;
114
- /**
115
- * Hook pour accéder au contexte Admincrumb
116
- *
117
- * @throws Error si utilisé en dehors d'un AdmincrumbProvider
118
- *
119
- * @example
120
- * ```tsx
121
- * function BreadcrumbNav() {
122
- * const { selection, setPartner, reset } = useAdmincrumbContext()
123
- *
124
- * return (
125
- * <nav>
126
- * {selection.partner && <span>{selection.partner.name}</span>}
127
- * <button onClick={reset}>Réinitialiser</button>
128
- * </nav>
129
- * )
130
- * }
131
- * ```
132
- */
133
33
  export declare function useAdmincrumbContext(): AdmincrumbContextValue;
134
- /**
135
- * Hook optionnel pour utiliser le contexte sans erreur si le provider est manquant
136
- *
137
- * Utile pour les composants qui peuvent fonctionner avec ou sans le contexte
138
- *
139
- * @returns Le contexte ou undefined si pas de provider
140
- *
141
- * @example
142
- * ```tsx
143
- * function OptionalFilter() {
144
- * const admincrumb = useAdmincrumbContextOptional()
145
- *
146
- * // Fonctionne même sans provider
147
- * const partnerId = admincrumb?.selection.partner?.id
148
- * }
149
- * ```
150
- */
151
34
  export declare function useAdmincrumbContextOptional(): AdmincrumbContextValue | undefined;
@@ -1,8 +1,8 @@
1
1
  export { ThemeProvider, useTheme } from './theme-provider';
2
- export type { ThemeContextValue, ThemeProviderProps, ThemeConfig, ShadcnRegistryItem } from './theme-provider';
2
+ export type { ThemeContextValue, ThemeProviderProps, ThemeConfig, ThemeS3Config } from './theme-provider';
3
3
  export { ThemeProvider as LegacyThemeProvider, useTheme as useLegacyTheme } from './theme-context';
4
4
  export type { ThemeContextValue as LegacyThemeContextValue, ThemeProviderProps as LegacyThemeProviderProps } from './theme-context';
5
5
  export { LanguageProvider, useLanguage } from './language-context';
6
- export type { LanguageConfig, LanguageProviderProps, LanguageContextValue, I18nTranslations, S3Config, TranslationsJSON } from './language-context';
6
+ export type { LanguageConfig, S3Config, LanguageProviderProps, LanguageContextValue } from './language-context';
7
7
  export { WakaProvider, useWaka } from './waka-provider';
8
8
  export type { WakaProviderConfig, WakaProviderProps } from './waka-provider';