@rsuci/shared-form-components 1.0.29 → 1.0.32
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/components/form-renderer/ConfirmationModal.d.ts +20 -0
- package/dist/components/form-renderer/ConfirmationModal.d.ts.map +1 -0
- package/dist/components/form-renderer/ConfirmationModal.js +79 -0
- package/dist/components/form-renderer/FormActions.d.ts +21 -0
- package/dist/components/form-renderer/FormActions.d.ts.map +1 -0
- package/dist/components/form-renderer/FormActions.js +81 -0
- package/dist/components/form-renderer/FormNavigationButtons.d.ts +23 -0
- package/dist/components/form-renderer/FormNavigationButtons.d.ts.map +1 -0
- package/dist/components/form-renderer/FormNavigationButtons.js +35 -0
- package/dist/components/form-renderer/FormProgress.d.ts +19 -0
- package/dist/components/form-renderer/FormProgress.d.ts.map +1 -0
- package/dist/components/form-renderer/FormProgress.js +26 -0
- package/dist/components/form-renderer/FormRenderer.d.ts +39 -0
- package/dist/components/form-renderer/FormRenderer.d.ts.map +1 -0
- package/dist/components/form-renderer/FormRenderer.js +113 -0
- package/dist/components/form-renderer/FormRendererContext.d.ts +109 -0
- package/dist/components/form-renderer/FormRendererContext.d.ts.map +1 -0
- package/dist/components/form-renderer/FormRendererContext.js +114 -0
- package/dist/components/form-renderer/GroupeInstanceTabs.d.ts +18 -0
- package/dist/components/form-renderer/GroupeInstanceTabs.d.ts.map +1 -0
- package/dist/components/form-renderer/GroupeInstanceTabs.js +174 -0
- package/dist/components/form-renderer/index.d.ts +17 -0
- package/dist/components/form-renderer/index.d.ts.map +1 -0
- package/dist/components/form-renderer/index.js +23 -0
- package/dist/hooks/useFormInstances.d.ts +87 -0
- package/dist/hooks/useFormInstances.d.ts.map +1 -0
- package/dist/hooks/useFormInstances.js +197 -0
- package/dist/hooks/useFormNavigation.d.ts +72 -0
- package/dist/hooks/useFormNavigation.d.ts.map +1 -0
- package/dist/hooks/useFormNavigation.js +147 -0
- package/dist/hooks/useFormRenderer.d.ts +87 -0
- package/dist/hooks/useFormRenderer.d.ts.map +1 -0
- package/dist/hooks/useFormRenderer.js +177 -0
- package/dist/hooks/useFormValidation.d.ts +50 -0
- package/dist/hooks/useFormValidation.d.ts.map +1 -0
- package/dist/hooks/useFormValidation.js +175 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/lib/__tests__/date-functions.test.d.ts +5 -0
- package/dist/lib/__tests__/date-functions.test.d.ts.map +1 -0
- package/dist/lib/__tests__/date-functions.test.js +184 -0
- package/dist/lib/utils/groupeInstanceManager.d.ts +88 -0
- package/dist/lib/utils/groupeInstanceManager.d.ts.map +1 -0
- package/dist/lib/utils/groupeInstanceManager.js +606 -0
- package/dist/types/form-renderer.d.ts +115 -1
- package/dist/types/form-renderer.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -2,8 +2,122 @@
|
|
|
2
2
|
* Interfaces pour les props des composants de rendu de formulaires
|
|
3
3
|
* RSU v2 - Package Partagé
|
|
4
4
|
*/
|
|
5
|
-
import { VariableFormulaire, VariableValue, EnqueteReponse, GroupeFormulaire, FormulaireComplet, EnqueteInstance } from './enquete';
|
|
5
|
+
import { VariableFormulaire, VariableValue, EnqueteReponse, GroupeFormulaire, FormulaireComplet, EnqueteInstance, ValidationError } from './enquete';
|
|
6
6
|
import { FormRendererServices, GeographicComponents, MenageCompletDto, EnqueteCompletDto } from './services';
|
|
7
|
+
/**
|
|
8
|
+
* Mode de fonctionnement du FormRenderer
|
|
9
|
+
* - 'admin': Mode administration avec toutes les fonctionnalités
|
|
10
|
+
* - 'public': Mode public simplifié
|
|
11
|
+
*/
|
|
12
|
+
export type FormRendererMode = 'admin' | 'public';
|
|
13
|
+
/**
|
|
14
|
+
* Fonctionnalités optionnelles du FormRenderer
|
|
15
|
+
*/
|
|
16
|
+
export interface FormRendererFeatures {
|
|
17
|
+
/** Bouton "Enregistrer brouillon" */
|
|
18
|
+
saveDraft?: boolean;
|
|
19
|
+
/** Validation/Rejet par le DR */
|
|
20
|
+
drValidation?: boolean;
|
|
21
|
+
/** Remplissage depuis données ménage */
|
|
22
|
+
fillFromMenage?: boolean;
|
|
23
|
+
/** Remplissage depuis autre enquête */
|
|
24
|
+
fillFromEnquete?: boolean;
|
|
25
|
+
/** Afficher les variables de type MENAGE */
|
|
26
|
+
showMenageVariables?: boolean;
|
|
27
|
+
/** Afficher les variables de type ENQUETE */
|
|
28
|
+
showEnqueteVariables?: boolean;
|
|
29
|
+
/** Mode consultation (lecture seule améliorée) */
|
|
30
|
+
consultationMode?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Labels personnalisables du FormRenderer
|
|
34
|
+
*/
|
|
35
|
+
export interface FormRendererLabels {
|
|
36
|
+
/** Texte du bouton de soumission */
|
|
37
|
+
submitButton?: string;
|
|
38
|
+
/** Texte du bouton brouillon */
|
|
39
|
+
draftButton?: string;
|
|
40
|
+
/** Texte du bouton d'annulation */
|
|
41
|
+
cancelButton?: string;
|
|
42
|
+
/** Texte du bouton suivant */
|
|
43
|
+
nextButton?: string;
|
|
44
|
+
/** Texte du bouton précédent */
|
|
45
|
+
previousButton?: string;
|
|
46
|
+
/** Texte du bouton valider DR */
|
|
47
|
+
validateDRButton?: string;
|
|
48
|
+
/** Texte du bouton rejeter DR */
|
|
49
|
+
rejectDRButton?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Configuration complète du FormRenderer
|
|
53
|
+
*/
|
|
54
|
+
export interface FormRendererConfig {
|
|
55
|
+
/** Mode de fonctionnement */
|
|
56
|
+
mode: FormRendererMode;
|
|
57
|
+
/** Fonctionnalités activées */
|
|
58
|
+
features?: FormRendererFeatures;
|
|
59
|
+
/** Labels personnalisés */
|
|
60
|
+
labels?: FormRendererLabels;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Résultat d'une action de validation DR
|
|
64
|
+
*/
|
|
65
|
+
export interface DRValidationResult {
|
|
66
|
+
success: boolean;
|
|
67
|
+
message?: string;
|
|
68
|
+
errors?: string[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Callbacks pour les actions du FormRenderer
|
|
72
|
+
*/
|
|
73
|
+
export interface FormRendererCallbacks {
|
|
74
|
+
/** Soumission du formulaire */
|
|
75
|
+
onSubmit: (responses: Record<string, EnqueteReponse>) => Promise<void>;
|
|
76
|
+
/** Annulation */
|
|
77
|
+
onCancel: () => void;
|
|
78
|
+
/** Sauvegarde brouillon (optionnel, mode admin) */
|
|
79
|
+
onSaveDraft?: (responses: Record<string, EnqueteReponse>) => Promise<void>;
|
|
80
|
+
/** Validation DR (optionnel, mode admin) */
|
|
81
|
+
onValidateDR?: (action: 'valider' | 'rejeter', commentaire?: string) => Promise<DRValidationResult>;
|
|
82
|
+
/** Remplissage depuis ménage (optionnel, mode admin) */
|
|
83
|
+
onFillFromMenage?: (menageId: string) => Promise<MenageCompletDto>;
|
|
84
|
+
/** Remplissage depuis enquête (optionnel, mode admin) */
|
|
85
|
+
onFillFromEnquete?: (enqueteId: string) => Promise<EnqueteCompletDto>;
|
|
86
|
+
/** Callback lors de changement de réponses */
|
|
87
|
+
onResponsesChange?: (responses: Record<string, EnqueteReponse>) => void;
|
|
88
|
+
/** Callback lors d'erreurs de validation */
|
|
89
|
+
onValidationError?: (errors: ValidationError[]) => void;
|
|
90
|
+
/** Callback lors de changement de groupe */
|
|
91
|
+
onGroupChange?: (groupIndex: number, groupCode: string) => void;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Props complètes pour le FormRenderer unifié
|
|
95
|
+
* Combine données, configuration et callbacks
|
|
96
|
+
*/
|
|
97
|
+
export interface FormRendererUnifiedProps {
|
|
98
|
+
/** Formulaire à rendre */
|
|
99
|
+
formulaire: FormulaireComplet;
|
|
100
|
+
/** Instance d'enquête (optionnel pour nouvelle enquête) */
|
|
101
|
+
enquete?: EnqueteInstance;
|
|
102
|
+
/** Réponses initiales */
|
|
103
|
+
initialResponses?: Record<string, EnqueteReponse>;
|
|
104
|
+
/** Configuration du FormRenderer */
|
|
105
|
+
config: FormRendererConfig;
|
|
106
|
+
/** Callbacks pour les actions */
|
|
107
|
+
callbacks: FormRendererCallbacks;
|
|
108
|
+
/** Désactiver tous les inputs */
|
|
109
|
+
disabled?: boolean;
|
|
110
|
+
/** État de soumission externe */
|
|
111
|
+
isSubmitting?: boolean;
|
|
112
|
+
/** Services injectés */
|
|
113
|
+
services?: FormRendererServices;
|
|
114
|
+
/** Composants géographiques injectés */
|
|
115
|
+
geographicComponents?: GeographicComponents;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Props pour le composant principal FormRenderer (legacy)
|
|
119
|
+
* @deprecated Utiliser FormRendererUnifiedProps pour le nouveau FormRenderer
|
|
120
|
+
*/
|
|
7
121
|
export interface FormRendererProps {
|
|
8
122
|
enquete: EnqueteInstance;
|
|
9
123
|
formulaire: FormulaireComplet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-renderer.d.ts","sourceRoot":"","sources":["../../src/types/form-renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"form-renderer.d.ts","sourceRoot":"","sources":["../../src/types/form-renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsuci/shared-form-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.32",
|
|
4
4
|
"description": "Composants partagés de rendu de formulaires RSU v2 - Package local pour frontend Admin et Public",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"README.md"
|
|
10
|
+
],
|
|
7
11
|
"scripts": {
|
|
8
12
|
"build": "tsc",
|
|
9
13
|
"watch": "tsc --watch",
|