@rsuci/shared-form-components 1.0.48 → 1.0.49

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FormRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-renderer/FormRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAmBlF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,oCAAoC;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iCAAiC;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA0hBD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FormRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/form-renderer/FormRenderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EAIf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAqBlF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,oCAAoC;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iCAAiC;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkiBD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgBpD,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -15,6 +15,8 @@ import ConfirmationModal from './ConfirmationModal';
15
15
  import ValidationModal from './ValidationModal';
16
16
  // Composants de rendu
17
17
  import VariableRenderer from '../VariableRenderer';
18
+ import RosterCheckInput from '../roster/RosterCheckInput';
19
+ import RosterListInput from '../roster/RosterListInput';
18
20
  // Hooks et utilitaires
19
21
  import { useFormTree } from '../../hooks/useFormTree';
20
22
  import { interpolateVariableLabel } from '../../lib/utils/interpolateVariableLabel';
@@ -228,7 +230,11 @@ const FormRendererInner = () => {
228
230
  ? `${variable.code}_${currentInstance.numeroInstance}`
229
231
  : variable.code;
230
232
  const currentValue = responses[responseKey]?.valeur;
231
- return (_jsx(VariableRenderer, { variable: variable, value: currentValue, onChange: (value) => handleVariableChange(variable, value), disabled: effectiveDisabled, numeroMembre: currentGroup?.estMultiple ? currentInstance?.numeroInstance : undefined, services: services, geographicComponents: geographicComponents, formulaireVariables: formulaire.variables, allResponses: responses, reponses: responses, interpolateVariableLabel: interpolateVariableLabel }, variable.id));
233
+ // Extraire les variables roster si c'est un type ROSTERCHECK ou ROSTERLIST
234
+ const rosterVariables = (variable.typeCode === 'ROSTERCHECK' || variable.typeCode === 'ROSTERLIST')
235
+ ? variable.rosterVariables
236
+ : undefined;
237
+ return (_jsx(VariableRenderer, { variable: variable, value: currentValue, onChange: (value) => handleVariableChange(variable, value), disabled: effectiveDisabled, numeroMembre: currentGroup?.estMultiple ? currentInstance?.numeroInstance : undefined, services: services, geographicComponents: geographicComponents, formulaireVariables: formulaire.variables, allResponses: responses, reponses: responses, interpolateVariableLabel: interpolateVariableLabel, rosterVariables: rosterVariables, RosterCheckInput: RosterCheckInput, RosterListInput: RosterListInput }, variable.id));
232
238
  }) }), currentGroup?.estMultiple && currentGroup.instances && (_jsx("div", { className: "mt-6 pt-6 border-t", children: _jsx(GroupeInstanceTabs, { groupe: currentGroup, currentInstanceIndex: navigation.navigationState.instanceIndex, responses: responses, onInstanceChange: handleInstanceChange, onInstanceAdded: handleInstanceAdded, onInstanceRemoved: handleInstanceRemoved, disabled: effectiveDisabled }) }))] })] }), _jsx("div", { className: "bg-white rounded-lg shadow-sm border border-gray-200 p-4", children: _jsxs("div", { className: "flex flex-wrap justify-between items-center gap-2", children: [_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsxs("button", { type: "button", onClick: handlePrevious, disabled: navigation.isFirstGroup || effectiveDisabled, className: `flex items-center px-4 py-2 rounded-lg font-medium transition-colors ${!navigation.isFirstGroup && !effectiveDisabled
233
239
  ? 'bg-orange-500 text-white hover:bg-orange-600'
234
240
  : 'bg-gray-100 text-gray-400 cursor-not-allowed'}`, children: [_jsx("svg", { className: "h-4 w-4 mr-2", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }), _jsx("span", { className: "hidden sm:inline", children: labels.previousButton || 'Précédent' }), _jsx("span", { className: "sm:hidden", children: "Pr\u00E9c." })] }), mode === 'admin' && features?.saveDraft && callbacks.onSaveDraft && (_jsx("button", { type: "button", onClick: handleSaveDraft, disabled: effectiveDisabled || isSavingDraft || isSubmitting || isSubmittingForm, className: `flex items-center px-4 py-2 rounded-lg font-medium transition-colors ${!effectiveDisabled && !isSavingDraft && !isSubmitting && !isSubmittingForm
@@ -20,6 +20,9 @@ export interface RosterCheckInputProps {
20
20
  rosterVariables?: RosterVariable[];
21
21
  services?: FormRendererServices;
22
22
  isConsultationMode?: boolean;
23
+ interpolateVariableLabel?: (label: string, responses: Record<string, any>, numeroMembre?: number) => string;
24
+ allResponses?: Record<string, any>;
25
+ numeroMembre?: number;
23
26
  }
24
27
  declare const RosterCheckInput: React.FC<RosterCheckInputProps>;
25
28
  export default RosterCheckInput;
@@ -1 +1 @@
1
- {"version":3,"file":"RosterCheckInput.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterCheckInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIxE,OAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAYD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA8LrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"RosterCheckInput.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterCheckInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIxE,OAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5G,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoMrD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -12,7 +12,7 @@ import { useMemo, useState, useEffect } from 'react';
12
12
  import { AlertCircle } from 'lucide-react';
13
13
  import { VariableValueConverter } from '../../lib/utils/variableValueConverter';
14
14
  import RosterPanel from './RosterPanel';
15
- const RosterCheckInput = ({ variable, value, onChange, onBlur, error, disabled, rosterVariables = [], services, isConsultationMode = false }) => {
15
+ const RosterCheckInput = ({ variable, value, onChange, onBlur, error, disabled, rosterVariables = [], services, isConsultationMode = false, interpolateVariableLabel, allResponses, numeroMembre }) => {
16
16
  // Parser les options depuis la propriété valeur (format: "01#Option1|02#Option2|...")
17
17
  const options = useMemo(() => {
18
18
  const optionsSource = variable.proprietes?.valeur || variable.valeurDefaut;
@@ -114,7 +114,7 @@ const RosterCheckInput = ({ variable, value, onChange, onBlur, error, disabled,
114
114
  }
115
115
  return (_jsxs("div", { className: "space-y-4", children: [_jsx("div", { children: _jsx("p", { className: "text-sm text-gray-500", children: "Renseignez les options" }) }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: options.map(option => {
116
116
  const isChecked = checkedOptions.has(option.code);
117
- return (_jsx(RosterPanel, { option: option, rosterVariables: sortedRosterVariables, value: currentData[option.code] || {}, onChange: (variableCode, variableValue) => handleVariableChange(option.code, variableCode, variableValue), disabled: disabled, showCheckbox: true, isChecked: isChecked, onCheckChange: (checked) => handleCheckChange(option.code, checked), services: services, isConsultationMode: isConsultationMode }, option.code));
117
+ return (_jsx(RosterPanel, { option: option, rosterVariables: sortedRosterVariables, value: currentData[option.code] || {}, onChange: (variableCode, variableValue) => handleVariableChange(option.code, variableCode, variableValue), disabled: disabled, showCheckbox: true, isChecked: isChecked, onCheckChange: (checked) => handleCheckChange(option.code, checked), services: services, isConsultationMode: isConsultationMode, interpolateVariableLabel: interpolateVariableLabel, allResponses: allResponses, numeroMembre: numeroMembre }, option.code));
118
118
  }) }), checkedOptions.size > 0 && (_jsx("div", { className: "p-2 bg-green-50 border border-green-200 rounded text-sm", children: _jsxs("span", { className: "text-green-800 font-medium", children: [checkedOptions.size, " option(s) coch\u00E9e(s)", Object.keys(currentData).length > 0 && ` · ${Object.keys(currentData).length} avec des données`] }) })), error && (_jsxs("div", { className: "flex items-center space-x-1 text-red-600 text-sm", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), _jsx("span", { children: error })] }))] }));
119
119
  };
120
120
  export default RosterCheckInput;
@@ -20,6 +20,9 @@ export interface RosterListInputProps {
20
20
  rosterVariables?: RosterVariable[];
21
21
  services?: FormRendererServices;
22
22
  isConsultationMode?: boolean;
23
+ interpolateVariableLabel?: (label: string, responses: Record<string, any>, numeroMembre?: number) => string;
24
+ allResponses?: Record<string, any>;
25
+ numeroMembre?: number;
23
26
  }
24
27
  declare const RosterListInput: React.FC<RosterListInputProps>;
25
28
  export default RosterListInput;
@@ -1 +1 @@
1
- {"version":3,"file":"RosterListInput.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterListInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIxE,OAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAYD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAiJnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"RosterListInput.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterListInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIxE,OAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAEnC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5G,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuJnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -12,7 +12,7 @@ import { useMemo } from 'react';
12
12
  import { AlertCircle } from 'lucide-react';
13
13
  import { VariableValueConverter } from '../../lib/utils/variableValueConverter';
14
14
  import RosterPanel from './RosterPanel';
15
- const RosterListInput = ({ variable, value, onChange, onBlur, error, disabled, rosterVariables = [], services, isConsultationMode = false }) => {
15
+ const RosterListInput = ({ variable, value, onChange, onBlur, error, disabled, rosterVariables = [], services, isConsultationMode = false, interpolateVariableLabel, allResponses, numeroMembre }) => {
16
16
  // Parser les options depuis la propriété valeur (format: "01#Option1|02#Option2|...")
17
17
  const options = useMemo(() => {
18
18
  const optionsSource = variable.proprietes?.valeur || variable.valeurDefaut;
@@ -81,6 +81,6 @@ const RosterListInput = ({ variable, value, onChange, onBlur, error, disabled, r
81
81
  if (sortedRosterVariables.length === 0) {
82
82
  return (_jsx("div", { className: "p-3 bg-yellow-50 border border-yellow-200 rounded-lg", children: _jsx("p", { className: "text-yellow-800 text-sm", children: "Aucune variable de roster d\u00E9finie. Veuillez configurer les variables du roster." }) }));
83
83
  }
84
- return (_jsxs("div", { className: "space-y-4", children: [_jsx("div", { children: _jsx("p", { className: "text-sm text-gray-500", children: "Renseignez les options" }) }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: options.map(option => (_jsx(RosterPanel, { option: option, rosterVariables: sortedRosterVariables, value: currentData[option.code] || {}, onChange: (variableCode, newValue) => handleVariableChange(option.code, variableCode, newValue), disabled: disabled, services: services, isConsultationMode: isConsultationMode }, option.code))) }), Object.keys(currentData).length > 0 && (_jsx("div", { className: "p-2 bg-green-50 border border-green-200 rounded text-sm", children: _jsxs("span", { className: "text-green-800 font-medium", children: [Object.keys(currentData).length, " option(s) avec des s\u00E9lections"] }) })), error && (_jsxs("div", { className: "flex items-center space-x-1 text-red-600 text-sm", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), _jsx("span", { children: error })] }))] }));
84
+ return (_jsxs("div", { className: "space-y-4", children: [_jsx("div", { children: _jsx("p", { className: "text-sm text-gray-500", children: "Renseignez les options" }) }), _jsx("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4", children: options.map(option => (_jsx(RosterPanel, { option: option, rosterVariables: sortedRosterVariables, value: currentData[option.code] || {}, onChange: (variableCode, newValue) => handleVariableChange(option.code, variableCode, newValue), disabled: disabled, services: services, isConsultationMode: isConsultationMode, interpolateVariableLabel: interpolateVariableLabel, allResponses: allResponses, numeroMembre: numeroMembre }, option.code))) }), Object.keys(currentData).length > 0 && (_jsx("div", { className: "p-2 bg-green-50 border border-green-200 rounded text-sm", children: _jsxs("span", { className: "text-green-800 font-medium", children: [Object.keys(currentData).length, " option(s) avec des s\u00E9lections"] }) })), error && (_jsxs("div", { className: "flex items-center space-x-1 text-red-600 text-sm", children: [_jsx(AlertCircle, { className: "h-4 w-4" }), _jsx("span", { children: error })] }))] }));
85
85
  };
86
86
  export default RosterListInput;
@@ -6,6 +6,7 @@
6
6
  * (RADIO, COMBOBOX, STRING, etc.) au lieu de simples checkboxes/selects
7
7
  */
8
8
  import React from 'react';
9
+ import { EnqueteReponse } from '../../types/enquete';
9
10
  import { FormRendererServices } from '../../types/services';
10
11
  interface RosterOption {
11
12
  code: string;
@@ -33,6 +34,9 @@ export interface RosterPanelProps {
33
34
  onCheckChange?: (checked: boolean) => void;
34
35
  services?: FormRendererServices;
35
36
  isConsultationMode?: boolean;
37
+ interpolateVariableLabel?: (label: string, responses: Record<string, EnqueteReponse>, numeroMembre?: number) => string;
38
+ allResponses?: Record<string, EnqueteReponse>;
39
+ numeroMembre?: number;
36
40
  }
37
41
  declare const RosterPanel: React.FC<RosterPanelProps>;
38
42
  export default RosterPanel;
@@ -1 +1 @@
1
- {"version":3,"file":"RosterPanel.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM5D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqL3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"RosterPanel.d.ts","sourceRoot":"","sources":["../../../src/components/roster/RosterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAsB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM5D,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2L3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -11,7 +11,7 @@ import { useMemo } from 'react';
11
11
  import VariableRenderer from '../VariableRenderer';
12
12
  import { cn } from '../../lib/utils/cn';
13
13
  import { RosterConditionEngine } from '../../lib/roster-condition-engine';
14
- const RosterPanel = ({ option, rosterVariables, value, onChange, disabled, showCheckbox = false, isChecked = true, onCheckChange, services, isConsultationMode = false }) => {
14
+ const RosterPanel = ({ option, rosterVariables, value, onChange, disabled, showCheckbox = false, isChecked = true, onCheckChange, services, isConsultationMode = false, interpolateVariableLabel, allResponses, numeroMembre }) => {
15
15
  // Trier les variables par ordre
16
16
  const sortedVariables = [...rosterVariables].sort((a, b) => a.ordre - b.ordre);
17
17
  // Calculer les variables masquées par les jumps
@@ -105,7 +105,7 @@ const RosterPanel = ({ option, rosterVariables, value, onChange, disabled, showC
105
105
  newValueType: typeof newValue
106
106
  });
107
107
  onChange(rosterVar.code, newValue);
108
- }, disabled: disabled, services: services, isConsultationMode: isConsultationMode }) }, rosterVar.code));
108
+ }, disabled: disabled, services: services, isConsultationMode: isConsultationMode, interpolateVariableLabel: interpolateVariableLabel, allResponses: allResponses, numeroMembre: numeroMembre }) }, rosterVar.code));
109
109
  }) })) : (_jsx("div", { className: "p-4 text-center text-gray-500 bg-gray-50 rounded border border-gray-200", children: _jsx("p", { className: "text-sm", children: "\u2713 Cochez l'option ci-dessus pour renseigner les variables" }) }))] }));
110
110
  };
111
111
  export default RosterPanel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsuci/shared-form-components",
3
- "version": "1.0.48",
3
+ "version": "1.0.49",
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",