@inseefr/lunatic 2.0.0 → 2.0.1-v2
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/LICENSE +21 -21
- package/README.md +25 -22
- package/lib/components/button/button.scss +24 -0
- package/lib/components/button/index.js +15 -0
- package/lib/components/button/lunatic-button.js +66 -0
- package/lib/components/checkbox/checkbox-boolean/checkbox-boolean.js +36 -0
- package/lib/components/checkbox/checkbox-boolean/index.js +15 -0
- package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +48 -0
- package/lib/components/checkbox/checkbox-group/checkbox-group.js +96 -0
- package/lib/components/checkbox/checkbox-group/checkbox.scss +4 -0
- package/lib/components/checkbox/checkbox-group/index.js +15 -0
- package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +42 -0
- package/lib/components/checkbox/checkbox-one/index.js +15 -0
- package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +39 -0
- package/lib/components/checkbox/commons/checkbox-option.js +68 -0
- package/lib/components/checkbox/commons/checkbox-option.scss +3 -0
- package/lib/components/checkbox/commons/index.js +15 -0
- package/lib/components/checkbox/index.js +31 -0
- package/lib/components/commons/build-style-object.js +36 -0
- package/lib/components/commons/components/combo-box/combo-box-container.js +37 -0
- package/lib/components/commons/components/combo-box/combo-box-content.js +73 -0
- package/lib/components/commons/components/combo-box/combo-box.js +222 -0
- package/lib/components/commons/components/combo-box/combo-box.scss +205 -0
- package/lib/components/commons/components/combo-box/index.js +15 -0
- package/lib/components/commons/components/combo-box/panel/index.js +15 -0
- package/lib/components/commons/components/combo-box/panel/option-container.js +77 -0
- package/lib/components/commons/components/combo-box/panel/panel-container.js +31 -0
- package/lib/components/commons/components/combo-box/panel/panel.js +70 -0
- package/lib/components/commons/components/combo-box/selection/delete.js +69 -0
- package/lib/components/commons/components/combo-box/selection/displayLabelOrInput.js +30 -0
- package/lib/components/commons/components/combo-box/selection/index.js +15 -0
- package/lib/components/commons/components/combo-box/selection/input.js +68 -0
- package/lib/components/commons/components/combo-box/selection/label-selection.js +39 -0
- package/lib/components/commons/components/combo-box/selection/selection-container.js +40 -0
- package/lib/components/commons/components/combo-box/selection/selection.js +71 -0
- package/lib/components/commons/components/combo-box/state-management/actions.js +98 -0
- package/lib/components/commons/components/combo-box/state-management/combo-box-context.js +20 -0
- package/lib/components/commons/components/combo-box/state-management/index.js +42 -0
- package/lib/components/commons/components/combo-box/state-management/initial-state.js +14 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/index.js +15 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-blur.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-change.js +24 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-delete.js +23 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-focus.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-init.js +46 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/index.js +15 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/keyboard-key-codes.js +18 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-arrow-down.js +37 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-arrow-up.js +37 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-end.js +28 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-enter.js +23 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-escape.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-home.js +28 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-tab.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/reduce-on-keydown.js +59 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-select.js +24 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reducer.js +63 -0
- package/lib/components/commons/components/create-lunatic-component/create-lunatic-component.js +75 -0
- package/lib/components/commons/components/create-lunatic-component/index.js +14 -0
- package/lib/components/commons/components/default-label-renderer.js +54 -0
- package/lib/components/commons/components/default-option-renderer.js +43 -0
- package/lib/components/commons/components/dragger/dragger.js +118 -0
- package/lib/components/commons/components/dragger/dragger.scss +8 -0
- package/lib/components/commons/components/dragger/index.js +15 -0
- package/lib/components/commons/components/errors/errors.js +55 -0
- package/lib/components/commons/components/errors/errors.scss +5 -0
- package/lib/components/commons/components/errors/index.js +15 -0
- package/lib/components/commons/components/fab/fab.js +56 -0
- package/lib/components/commons/components/fab/fab.scss +32 -0
- package/lib/components/commons/components/fab/index.js +15 -0
- package/lib/components/commons/components/field-container/field-container.js +48 -0
- package/lib/components/commons/components/field-container/field-container.scss +0 -0
- package/lib/components/commons/components/field-container/index.js +15 -0
- package/lib/components/commons/components/fieldset.js +26 -0
- package/lib/components/commons/components/fieldset.scss +5 -0
- package/lib/components/commons/components/html-table/index.js +55 -0
- package/lib/components/commons/components/html-table/table.js +38 -0
- package/lib/components/commons/components/html-table/tbody.js +38 -0
- package/lib/components/commons/components/html-table/td.js +50 -0
- package/lib/components/commons/components/html-table/th.js +48 -0
- package/lib/components/commons/components/html-table/thead.js +38 -0
- package/lib/components/commons/components/html-table/tr.js +40 -0
- package/lib/components/commons/components/is-network/index.js +15 -0
- package/lib/components/commons/components/is-network/is-network.js +70 -0
- package/lib/components/commons/components/is-network/use-online-status.js +55 -0
- package/lib/components/commons/components/label.js +35 -0
- package/lib/components/commons/components/lunatic-component.js +67 -0
- package/lib/components/commons/components/lunatic-fieldset-component.js +60 -0
- package/lib/components/commons/components/md-label/index.js +15 -0
- package/lib/components/commons/components/md-label/link.js +57 -0
- package/lib/components/commons/components/md-label/md-label.js +52 -0
- package/lib/components/commons/components/missing/index.js +15 -0
- package/lib/components/commons/components/missing/missing.js +90 -0
- package/lib/components/commons/components/missing/missing.scss +30 -0
- package/lib/components/commons/components/nothing-to-display.js +17 -0
- package/lib/components/commons/components/orchestrated-component.js +71 -0
- package/{src/components/tooltip → lib/components/commons/components/variable-status}/img/edited.png +0 -0
- package/{src/components/tooltip → lib/components/commons/components/variable-status}/img/forced.png +0 -0
- package/lib/components/commons/components/variable-status/img/index.js +23 -0
- package/lib/components/commons/components/variable-status/index.js +15 -0
- package/lib/components/commons/components/variable-status/variable-status.js +95 -0
- package/lib/components/commons/components/variable-status/variable-status.scss +39 -0
- package/lib/components/commons/create-customizable-field.js +38 -0
- package/lib/components/commons/create-row-orchestrator.js +60 -0
- package/lib/components/commons/icons/checkbox-checked.icon.js +41 -0
- package/lib/components/commons/icons/checkbox-unchecked.icon.js +41 -0
- package/lib/components/commons/icons/closed.icon.js +38 -0
- package/lib/components/commons/icons/cross.icon.js +38 -0
- package/lib/components/commons/icons/index.js +87 -0
- package/lib/components/commons/icons/load.icon.js +38 -0
- package/lib/components/commons/icons/lunatic-icon.js +25 -0
- package/lib/components/commons/icons/lunatic-icon.scss +3 -0
- package/lib/components/commons/icons/network.icon.js +38 -0
- package/lib/components/commons/icons/on-drag.icon.js +38 -0
- package/lib/components/commons/icons/opened.icon.js +38 -0
- package/lib/components/commons/icons/radio-checked.icon.js +41 -0
- package/lib/components/commons/icons/radio-unchecked.icon.js +41 -0
- package/lib/components/commons/index.js +162 -0
- package/lib/components/commons/prop-types/declarations.js +27 -0
- package/lib/components/commons/prop-types/index.js +47 -0
- package/lib/components/commons/prop-types/lines.js +17 -0
- package/lib/components/commons/prop-types/options.js +17 -0
- package/lib/components/commons/prop-types/response.js +17 -0
- package/lib/components/commons/prop-types/value-type.js +22 -0
- package/lib/components/commons/safety-label.js +34 -0
- package/lib/components/commons/use-document-add-event-listener.js +108 -0
- package/lib/components/commons/use-on-handle-change.js +22 -0
- package/lib/components/commons/use-options-keydown.js +29 -0
- package/lib/components/commons/use-previous.js +19 -0
- package/lib/components/components.js +188 -0
- package/lib/components/datepicker/datepicker.js +56 -0
- package/lib/components/datepicker/datepicker.scss +1 -0
- package/lib/components/datepicker/index.js +15 -0
- package/lib/components/datepicker/lunatic-datepicker.js +39 -0
- package/lib/components/declarations/declaration.js +26 -0
- package/lib/components/declarations/declarations-after-text.js +29 -0
- package/lib/components/declarations/declarations-before-text.js +29 -0
- package/lib/components/declarations/declarations-detachable.js +29 -0
- package/lib/components/declarations/declarations.js +61 -0
- package/lib/components/declarations/declarations.scss +36 -0
- package/lib/components/declarations/index.js +51 -0
- package/lib/components/dropdown/dropdown-simple/dropdown-simple.js +43 -0
- package/lib/components/dropdown/dropdown-simple/index.js +15 -0
- package/lib/components/dropdown/dropdown-simple/simple-label-renderer.js +53 -0
- package/lib/components/dropdown/dropdown-simple/simple-option-renderer.js +42 -0
- package/lib/components/dropdown/dropdown-writable/dropdown-writable.js +79 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/filter-options.js +47 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/letters-matching.js +40 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/match.js +27 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/prepare-prefix.js +17 -0
- package/lib/components/dropdown/dropdown-writable/index.js +15 -0
- package/lib/components/dropdown/dropdown-writable/writable-label-renderer.js +53 -0
- package/lib/components/dropdown/dropdown-writable/writable-option-renderer.js +170 -0
- package/lib/components/dropdown/dropdown.js +58 -0
- package/lib/components/dropdown/dropdown.scss +41 -0
- package/lib/components/dropdown/index.js +15 -0
- package/lib/components/dropdown/lunatic-dropdown.js +62 -0
- package/lib/components/filter-description/component.js +26 -0
- package/lib/components/filter-description/index.js +15 -0
- package/lib/components/index.js +32 -0
- package/lib/components/index.scss +136 -0
- package/lib/components/input/index.js +15 -0
- package/lib/components/input/input.js +61 -0
- package/lib/components/input/input.scss +32 -0
- package/lib/components/input/lunatic-input.js +43 -0
- package/lib/components/input-number/index.js +15 -0
- package/lib/components/input-number/input-number.js +61 -0
- package/lib/components/input-number/input-number.scss +7 -0
- package/lib/components/input-number/lunatic-input-number.js +37 -0
- package/lib/components/loop/block-for-loop/block-for-loop-ochestrator.js +16 -0
- package/lib/components/loop/block-for-loop/block-for-loop.js +179 -0
- package/lib/components/loop/block-for-loop/index.js +15 -0
- package/lib/components/loop/block-for-loop/row.js +84 -0
- package/lib/components/loop/commons/get-init-length.js +19 -0
- package/lib/components/loop/commons/handle-row-button.js +25 -0
- package/lib/components/loop/commons/index.js +23 -0
- package/lib/components/loop/commons/row-component.js +86 -0
- package/lib/components/loop/index.js +15 -0
- package/lib/components/loop/loop.js +94 -0
- package/lib/components/loop/roster-for-loop/body.js +69 -0
- package/lib/components/loop/roster-for-loop/header.js +42 -0
- package/lib/components/loop/roster-for-loop/index.js +15 -0
- package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +16 -0
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +153 -0
- package/lib/components/loop/roster-for-loop/roster-table.js +61 -0
- package/lib/components/loop/roster-for-loop/roster.scss +42 -0
- package/lib/components/loop/roster-for-loop/row.js +88 -0
- package/lib/components/modal-controls/close-or-skip.js +46 -0
- package/lib/components/modal-controls/index.js +15 -0
- package/lib/components/modal-controls/modal-container.js +24 -0
- package/lib/components/modal-controls/modal-controls.js +94 -0
- package/lib/components/modal-controls/modal-controls.scss +46 -0
- package/lib/components/pairwise/index.js +15 -0
- package/lib/components/pairwise/links/index.js +15 -0
- package/lib/components/pairwise/links/orchestrator.js +16 -0
- package/lib/components/pairwise/links/pairwise-links.js +75 -0
- package/lib/components/pairwise/links/row.js +95 -0
- package/lib/components/radio/index.js +15 -0
- package/lib/components/radio/lunatic-radio-group.js +45 -0
- package/lib/components/radio/radio-group.js +48 -0
- package/lib/components/radio/radio-option.js +94 -0
- package/lib/components/radio/radio.scss +66 -0
- package/lib/components/sequence/index.js +15 -0
- package/lib/components/sequence/sequence.js +41 -0
- package/lib/components/sequence/sequence.scss +10 -0
- package/lib/components/subsequence/index.js +15 -0
- package/lib/components/subsequence/subsequence.js +38 -0
- package/lib/components/suggester/check-store.js +149 -0
- package/lib/components/suggester/default-style.scss +125 -0
- package/lib/components/suggester/find-best-label/find-best-label.js +67 -0
- package/lib/components/suggester/find-best-label/index.js +15 -0
- package/lib/components/suggester/idb-suggester.js +95 -0
- package/lib/components/suggester/index.js +15 -0
- package/lib/components/suggester/lunatic-suggester.js +94 -0
- package/lib/components/suggester/searching/create-searching.js +88 -0
- package/lib/components/suggester/searching/index.js +15 -0
- package/lib/components/suggester/suggester.js +172 -0
- package/lib/components/suggester-loader-widget/index.js +15 -0
- package/lib/components/suggester-loader-widget/loader-row.js +150 -0
- package/lib/components/suggester-loader-widget/loader.js +180 -0
- package/lib/components/suggester-loader-widget/progress.js +45 -0
- package/lib/components/suggester-loader-widget/tools/action-tool.js +35 -0
- package/lib/components/suggester-loader-widget/tools/index.js +23 -0
- package/lib/components/suggester-loader-widget/tools/tools.js +20 -0
- package/lib/components/suggester-loader-widget/widget-container.js +48 -0
- package/lib/components/suggester-loader-widget/widget.js +170 -0
- package/lib/components/suggester-loader-widget/widget.scss +176 -0
- package/lib/components/switch/index.js +15 -0
- package/lib/components/switch/lunatic-switch.js +59 -0
- package/lib/components/switch/switch.js +92 -0
- package/lib/components/switch/switch.scss +47 -0
- package/lib/components/table/cell.js +113 -0
- package/lib/components/table/components/cell.js +113 -0
- package/lib/components/table/components/header.js +48 -0
- package/lib/components/table/components/row.js +47 -0
- package/lib/components/table/components/table.js +38 -0
- package/lib/components/table/components/table.scss +27 -0
- package/lib/components/table/index.js +15 -0
- package/lib/components/table/lunatic-table.js +97 -0
- package/lib/components/table/table-orchestrator.js +55 -0
- package/lib/components/textarea/index.js +15 -0
- package/lib/components/textarea/lunatic-textarea.js +52 -0
- package/lib/components/textarea/textarea.js +54 -0
- package/lib/components/textarea/textarea.scss +8 -0
- package/lib/constants/component-types.js +8 -0
- package/lib/constants/declarations.js +26 -0
- package/lib/constants/event-types.js +28 -0
- package/lib/constants/index.js +70 -0
- package/lib/constants/supported-preferences.js +18 -0
- package/lib/constants/value-types.js +16 -0
- package/lib/constants/variable-types.js +12 -0
- package/lib/i18n/build-dictionary.js +56 -0
- package/lib/i18n/dictionary.js +26 -0
- package/lib/i18n/index.js +19 -0
- package/lib/index.js +21 -4164
- package/lib/stories/Introduction.stories.mdx +114 -0
- package/lib/stories/checkboxOne/checkboxOne.stories.js +35 -0
- package/lib/stories/checkboxOne/source.json +36 -0
- package/lib/stories/custom-mui/checkbox-boolean-mui.js +39 -0
- package/lib/stories/custom-mui/checkbox-group-mui.js +80 -0
- package/lib/stories/custom-mui/checkbox-one-mui.js +17 -0
- package/lib/stories/custom-mui/index.js +127 -0
- package/lib/stories/custom-mui/input-mui.js +61 -0
- package/lib/stories/custom-mui/input-number-mui.js +47 -0
- package/lib/stories/custom-mui/radio-mui.js +75 -0
- package/lib/stories/custom-mui/suggester-mui/index.js +15 -0
- package/lib/stories/custom-mui/suggester-mui/suggester-mui.js +328 -0
- package/lib/stories/custom-mui/switch-mui.js +51 -0
- package/lib/stories/custom-mui/table-mui.js +33 -0
- package/lib/stories/custom-mui/tbody-mui.js +27 -0
- package/lib/stories/custom-mui/td-mui.js +29 -0
- package/lib/stories/custom-mui/textarea-mui.js +51 -0
- package/lib/stories/custom-mui/th-mui.js +28 -0
- package/lib/stories/custom-mui/thead-mui.js +27 -0
- package/lib/stories/custom-mui/tr-mui.js +38 -0
- package/lib/stories/date-picker/data.json +3 -0
- package/lib/stories/date-picker/datepicker.stories.js +38 -0
- package/lib/stories/date-picker/source.json +140 -0
- package/lib/stories/dropdown/data.json +16 -0
- package/lib/stories/dropdown/dropdown.stories.js +38 -0
- package/lib/stories/dropdown/source.json +122 -0
- package/lib/stories/filter-description/filter-description.stories.js +58 -0
- package/lib/stories/filter-description/source-options.json +81 -0
- package/lib/stories/filter-description/source.json +11 -0
- package/lib/stories/input/data.json +1 -0
- package/lib/stories/input/input.stories.js +38 -0
- package/lib/stories/input/source.json +28 -0
- package/lib/stories/input-number/input-number.stories.js +43 -0
- package/lib/stories/input-number/source-euros.json +38 -0
- package/lib/stories/input-number/source.json +37 -0
- package/lib/stories/pairwise/data.json +13 -0
- package/lib/stories/pairwise/links.json +207 -0
- package/lib/stories/pairwise/pairwise-links.stories.js +39 -0
- package/lib/stories/paste-questionnaire/source.json +6290 -0
- package/lib/stories/paste-questionnaire/test.stories.js +91 -0
- package/lib/stories/questionnaires/logement/data.json +2691 -0
- package/lib/stories/questionnaires/logement/logement.stories.js +86 -0
- package/lib/stories/questionnaires/logement/source-sequence.json +34181 -0
- package/lib/stories/questionnaires/logement/source-sum.json +34612 -0
- package/lib/stories/questionnaires/logement/source.json +34191 -0
- package/lib/stories/questionnaires/simpsons/simpsons.stories.js +71 -0
- package/lib/stories/questionnaires/simpsons/source.json +6290 -0
- package/lib/stories/questionnaires-test/V2_DeclarationsSimples.json +848 -0
- package/lib/stories/questionnaires-test/V2_MinMaxSum_Boucles.json +509 -0
- package/lib/stories/questionnaires-test/V2_QuestSimple_Boucles.json +4091 -0
- package/lib/stories/questionnaires-test/V2_TCMRallyeGames.json +2892 -0
- package/lib/stories/questionnaires-test/controls/V2_ControlesNonNum_horsBoucle_PasPageFin.json +666 -0
- package/lib/stories/questionnaires-test/controls/V2_ControlesNum_horsBoucle_PasPageFin.json +1957 -0
- package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees2_PasPageFin.json +709 -0
- package/lib/stories/questionnaires-test/controls/V2_Controles_BouclesLiees_PasPageFin.json +533 -0
- package/lib/stories/questionnaires-test/controls/boucles-n.json +202 -0
- package/lib/stories/questionnaires-test/controls/controls.stories.js +108 -0
- package/lib/stories/questionnaires-test/test-dylan.json +558 -0
- package/lib/stories/questionnaires-test/test.stories.js +104 -0
- package/lib/stories/radio/radio.stories.js +35 -0
- package/lib/stories/radio/source.json +36 -0
- package/lib/stories/roster-for-loop/roster-for-loop.stories.js +35 -0
- package/lib/stories/roster-for-loop/source.json +114 -0
- package/lib/stories/suggester/source.json +234 -0
- package/lib/stories/suggester/suggester.stories.js +59 -0
- package/{src/stories/checkbox-one → lib/stories/switch}/README.md +31 -31
- package/lib/stories/switch/SwitchMaterialUI.js +51 -0
- package/{src/stories/checkbox-boolean/data.json → lib/stories/switch/data-forced.json} +48 -48
- package/lib/stories/switch/data.json +80 -0
- package/lib/stories/switch/switch.js +108 -0
- package/lib/stories/table/data-roster.json +1 -0
- package/lib/stories/table/data.json +1 -0
- package/{src/stories/table/data-roster.json → lib/stories/table/source-roster.json} +504 -461
- package/{src/stories/table/data-default.json → lib/stories/table/source.json} +19 -19
- package/lib/stories/table/table.stories.js +65 -0
- package/lib/stories/utils/custom-lunatic.scss +28 -0
- package/lib/stories/utils/default-arg-types.js +23 -0
- package/lib/stories/utils/options.js +32 -0
- package/lib/stories/utils/orchestrator.js +188 -0
- package/lib/stories/utils/waiting/index.js +15 -0
- package/lib/stories/utils/waiting/preloader.svg +1 -0
- package/lib/stories/utils/waiting/waiting.js +40 -0
- package/lib/stories/utils/waiting/waiting.scss +21 -0
- package/lib/tests/sample.spec.js +7 -0
- package/lib/use-lunatic/actions.js +102 -0
- package/lib/use-lunatic/commons/calculated-variables.js +124 -0
- package/lib/use-lunatic/commons/check-loops.js +111 -0
- package/lib/use-lunatic/commons/compose.js +28 -0
- package/lib/use-lunatic/commons/create-map-pages.js +108 -0
- package/lib/use-lunatic/commons/execute-condition-filter.js +34 -0
- package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +308 -0
- package/lib/use-lunatic/commons/execute-expression/create-memoizer.js +78 -0
- package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +160 -0
- package/lib/use-lunatic/commons/execute-expression/execute-expression.js +118 -0
- package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.js +51 -0
- package/lib/use-lunatic/commons/execute-expression/get-safety-expression.js +37 -0
- package/lib/use-lunatic/commons/execute-expression/index.js +15 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +149 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-value.js +26 -0
- package/lib/use-lunatic/commons/fill-components/fill-components.js +47 -0
- package/lib/use-lunatic/commons/fill-components/fill-errors.js +31 -0
- package/lib/use-lunatic/commons/fill-components/fill-from-state.js +26 -0
- package/lib/use-lunatic/commons/fill-components/fill-management.js +27 -0
- package/lib/use-lunatic/commons/fill-components/fill-missing-response.js +37 -0
- package/lib/use-lunatic/commons/fill-components/fill-pagination.js +23 -0
- package/lib/use-lunatic/commons/fill-components/index.js +15 -0
- package/lib/use-lunatic/commons/get-compatible-vtl-expression.js +32 -0
- package/lib/use-lunatic/commons/get-component-value/get-component-value.js +217 -0
- package/lib/use-lunatic/commons/get-component-value/index.js +15 -0
- package/lib/use-lunatic/commons/get-components-from-state.js +44 -0
- package/lib/use-lunatic/commons/get-data.js +90 -0
- package/lib/use-lunatic/commons/get-errors-without-empty-value.js +31 -0
- package/lib/use-lunatic/commons/index.js +123 -0
- package/lib/use-lunatic/commons/is-First-last-page.js +20 -0
- package/lib/use-lunatic/commons/is-paginated-loop.js +15 -0
- package/lib/use-lunatic/commons/load-suggesters.js +199 -0
- package/lib/use-lunatic/commons/page-tag.js +83 -0
- package/lib/use-lunatic/commons/use-components-from-state.js +49 -0
- package/lib/use-lunatic/index.js +15 -0
- package/lib/use-lunatic/initial-state.js +44 -0
- package/lib/use-lunatic/reducer/commons/index.js +41 -0
- package/lib/use-lunatic/reducer/commons/is-empty-on-empty-page.js +49 -0
- package/lib/use-lunatic/reducer/commons/resize-array-variable.js +48 -0
- package/lib/use-lunatic/reducer/commons/validate-condition-filter.js +41 -0
- package/lib/use-lunatic/reducer/index.js +15 -0
- package/lib/use-lunatic/reducer/reduce-go-next-page.js +218 -0
- package/lib/use-lunatic/reducer/reduce-go-previous-page.js +165 -0
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +60 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/index.js +15 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.js +77 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +142 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.js +53 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-missing.js +90 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-resizing.js +118 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.js +50 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +29 -0
- package/lib/use-lunatic/reducer/reduce-on-init.js +260 -0
- package/lib/use-lunatic/reducer/reduce-on-set-waiting.js +23 -0
- package/lib/use-lunatic/reducer/reducer.js +58 -0
- package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +69 -0
- package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +100 -0
- package/lib/use-lunatic/reducer/validate-controls/index.js +23 -0
- package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +73 -0
- package/lib/use-lunatic/use-lunatic.js +215 -0
- package/lib/utils/constants/features.js +12 -0
- package/lib/utils/constants/index.js +70 -0
- package/lib/utils/constants/links.js +10 -0
- package/lib/utils/constants/missing.js +10 -0
- package/lib/utils/constants/variable-status.js +16 -0
- package/lib/utils/constants/variable-types.js +8 -0
- package/lib/utils/idb-tools/clear-store.js +52 -0
- package/lib/utils/idb-tools/create-db-opener.js +60 -0
- package/lib/utils/idb-tools/create-open-db.js +35 -0
- package/lib/utils/idb-tools/get-entity.js +25 -0
- package/lib/utils/idb-tools/get-idb.js +15 -0
- package/lib/utils/idb-tools/idb-bulk-insert.js +157 -0
- package/lib/utils/idb-tools/index.js +75 -0
- package/lib/utils/idb-tools/insert-entity.js +25 -0
- package/lib/utils/idb-tools/open-db.js +29 -0
- package/lib/utils/idb-tools/open-or-create-db.js +49 -0
- package/lib/utils/is-element.js +12 -0
- package/lib/utils/store-tools/auto-load.js +209 -0
- package/lib/utils/store-tools/clear-store-data.js +46 -0
- package/lib/utils/store-tools/clear-store-info.js +46 -0
- package/lib/utils/store-tools/constantes.js +31 -0
- package/lib/utils/store-tools/create/create.js +70 -0
- package/lib/utils/store-tools/create/index.js +23 -0
- package/lib/utils/store-tools/create/update-store-info.js +33 -0
- package/lib/utils/store-tools/get-store-count.js +29 -0
- package/lib/utils/store-tools/index.js +66 -0
- package/lib/utils/store-tools/open-or-create-store.js +60 -0
- package/lib/utils/store-tools/use-store-index.js +82 -0
- package/lib/utils/suggester-workers/append-to-index/append.js +96 -0
- package/lib/utils/suggester-workers/append-to-index/append.worker.js +31 -0
- package/lib/utils/suggester-workers/append-to-index/create-append-task.js +66 -0
- package/lib/utils/suggester-workers/append-to-index/index.js +23 -0
- package/lib/utils/suggester-workers/append-to-index/prepare-entities.js +114 -0
- package/lib/utils/suggester-workers/append-to-index/store-messages.js +48 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +64 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +103 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +47 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +24 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +47 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +16 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +24 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +18 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.js +34 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +25 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.js +17 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +25 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.js +29 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +18 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +71 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +15 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +19 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +16 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/index.js +23 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/stop-words.js +9 -0
- package/lib/utils/suggester-workers/commons-tokenizer/get-regexp-from-pattern.js +17 -0
- package/lib/utils/suggester-workers/commons-tokenizer/get-stemmer.js +31 -0
- package/lib/utils/suggester-workers/commons-tokenizer/index.js +79 -0
- package/lib/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +24 -0
- package/lib/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +15 -0
- package/lib/utils/suggester-workers/create-worker.js +64 -0
- package/lib/utils/suggester-workers/find-best-label/find-best-label.js +81 -0
- package/lib/utils/suggester-workers/find-best-label/find-best-label.worker.js +67 -0
- package/lib/utils/suggester-workers/find-best-label/index.js +1 -0
- package/lib/utils/suggester-workers/find-best-label/tokenize.js +62 -0
- package/lib/utils/suggester-workers/find-best-label/tokenize.spec.js +26 -0
- package/lib/utils/suggester-workers/searching/compute-score.js +63 -0
- package/lib/utils/suggester-workers/searching/get-db.js +64 -0
- package/lib/utils/suggester-workers/searching/index.js +15 -0
- package/lib/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +33 -0
- package/lib/utils/suggester-workers/searching/order/index.js +33 -0
- package/lib/utils/suggester-workers/searching/query-parser/index.js +23 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.js +15 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.spec.js +28 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +51 -0
- package/lib/utils/suggester-workers/searching/resolve-query-parser.js +73 -0
- package/lib/utils/suggester-workers/searching/search-in-index.js +25 -0
- package/lib/utils/suggester-workers/searching/searching.js +170 -0
- package/lib/utils/suggester-workers/searching/searching.worker.js +23 -0
- package/lib/utils/vtl/dataset-builder.js +28 -0
- package/lib/utils/vtl/index.js +15 -0
- package/package.json +160 -137
- package/lib/index.js.map +0 -1
- package/src/components/breadcrumb/breadcrumb.scss +0 -22
- package/src/components/breadcrumb/component.js +0 -29
- package/src/components/breadcrumb/index.js +0 -1
- package/src/components/button/button.scss +0 -26
- package/src/components/button/component.js +0 -25
- package/src/components/button/index.js +0 -1
- package/src/components/checkbox/boolean.js +0 -139
- package/src/components/checkbox/checkbox.scss +0 -43
- package/src/components/checkbox/group.js +0 -171
- package/src/components/checkbox/index.js +0 -3
- package/src/components/checkbox/one.js +0 -27
- package/src/components/components.js +0 -16
- package/src/components/datepicker/component.js +0 -10
- package/src/components/datepicker/datepicker.scss +0 -16
- package/src/components/datepicker/index.js +0 -1
- package/src/components/declarations/component.js +0 -38
- package/src/components/declarations/declarations.scss +0 -34
- package/src/components/declarations/index.js +0 -1
- package/src/components/declarations/wrappers/index.js +0 -3
- package/src/components/declarations/wrappers/input-declarations-wrapper.js +0 -164
- package/src/components/declarations/wrappers/list-declarations-wrapper.js +0 -162
- package/src/components/declarations/wrappers/simple-declarations-wrapper.js +0 -54
- package/src/components/dropdown/commons/actions.js +0 -56
- package/src/components/dropdown/commons/children-to-option.js +0 -9
- package/src/components/dropdown/commons/cleaner-callbacks.js +0 -58
- package/src/components/dropdown/commons/components/closed.icon.js +0 -24
- package/src/components/dropdown/commons/components/dropdown-container.js +0 -169
- package/src/components/dropdown/commons/components/label.js +0 -21
- package/src/components/dropdown/commons/components/opened.icon.js +0 -24
- package/src/components/dropdown/commons/components/panel.js +0 -78
- package/src/components/dropdown/commons/event-callbacks/index.js +0 -5
- package/src/components/dropdown/commons/event-callbacks/on-keydown-callback.js +0 -30
- package/src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js +0 -11
- package/src/components/dropdown/commons/reducer.js +0 -149
- package/src/components/dropdown/commons/tools/index.js +0 -17
- package/src/components/dropdown/component.js +0 -117
- package/src/components/dropdown/dropdown-edit/cross.icon.js +0 -20
- package/src/components/dropdown/dropdown-edit/dropdown-edit.js +0 -174
- package/src/components/dropdown/dropdown-edit/icone.js +0 -33
- package/src/components/dropdown/dropdown-edit/index.js +0 -11
- package/src/components/dropdown/dropdown-edit/option.js +0 -62
- package/src/components/dropdown/dropdown-edit/prefix-tools.js +0 -51
- package/src/components/dropdown/dropdown-simple/dropdown.js +0 -155
- package/src/components/dropdown/dropdown-simple/index.js +0 -20
- package/src/components/dropdown/dropdown-simple/option.js +0 -15
- package/src/components/dropdown/dropdown.scss +0 -183
- package/src/components/dropdown/index.js +0 -1
- package/src/components/filter-description/component.js +0 -41
- package/src/components/filter-description/index.js +0 -1
- package/src/components/index.js +0 -4
- package/src/components/index.scss +0 -76
- package/src/components/input/index.js +0 -2
- package/src/components/input/input-number.js +0 -228
- package/src/components/input/input.js +0 -10
- package/src/components/input/input.scss +0 -27
- package/src/components/loop/build-components.js +0 -33
- package/src/components/loop/component.js +0 -94
- package/src/components/loop/index.js +0 -1
- package/src/components/loop/loop.scss +0 -17
- package/src/components/loop/wrapper.js +0 -11
- package/src/components/loop-constructor/block/block.scss +0 -10
- package/src/components/loop-constructor/block/component.js +0 -8
- package/src/components/loop-constructor/block/index.js +0 -1
- package/src/components/loop-constructor/index.js +0 -1
- package/src/components/loop-constructor/roster/component.js +0 -7
- package/src/components/loop-constructor/roster/index.js +0 -1
- package/src/components/loop-constructor/wrapper/body-component.js +0 -118
- package/src/components/loop-constructor/wrapper/build-components.js +0 -33
- package/src/components/loop-constructor/wrapper/component.js +0 -152
- package/src/components/loop-constructor/wrapper/index.js +0 -1
- package/src/components/progress-bar/component.js +0 -28
- package/src/components/progress-bar/index.js +0 -1
- package/src/components/progress-bar/progress-bar.scss +0 -54
- package/src/components/radio/component.js +0 -8
- package/src/components/radio/index.js +0 -1
- package/src/components/radio/radio.scss +0 -24
- package/src/components/sequence/component.js +0 -41
- package/src/components/sequence/index.js +0 -1
- package/src/components/sequence/sequence.scss +0 -15
- package/src/components/subsequence/component.js +0 -48
- package/src/components/subsequence/index.js +0 -1
- package/src/components/subsequence/subsequence.scss +0 -15
- package/src/components/table/index.js +0 -1
- package/src/components/table/table.js +0 -160
- package/src/components/table/table.scss +0 -23
- package/src/components/textarea/component.js +0 -10
- package/src/components/textarea/index.js +0 -1
- package/src/components/textarea/textarea.scss +0 -16
- package/src/components/tooltip/img/index.js +0 -4
- package/src/components/tooltip/index.js +0 -1
- package/src/components/tooltip/response.js +0 -42
- package/src/components/tooltip/tooltip.scss +0 -35
- package/src/constants/component-types.js +0 -1
- package/src/constants/declarations.js +0 -14
- package/src/constants/index.js +0 -4
- package/src/constants/supported-preferences.js +0 -10
- package/src/constants/value-types.js +0 -5
- package/src/constants/variable-types.js +0 -4
- package/src/stories/breadcrumb/README.md +0 -14
- package/src/stories/breadcrumb/breadcrumb.stories.js +0 -33
- package/src/stories/button/README.md +0 -14
- package/src/stories/button/button.stories.js +0 -63
- package/src/stories/checkbox-boolean/README.md +0 -27
- package/src/stories/checkbox-boolean/checkbox-boolean.stories.js +0 -33
- package/src/stories/checkbox-group/README.md +0 -29
- package/src/stories/checkbox-group/checkbox-group.stories.js +0 -81
- package/src/stories/checkbox-group/data-vtl.json +0 -89
- package/src/stories/checkbox-group/data.json +0 -89
- package/src/stories/checkbox-one/checkbox-one.stories.js +0 -77
- package/src/stories/checkbox-one/data-vtl.json +0 -33
- package/src/stories/checkbox-one/data.json +0 -33
- package/src/stories/datepicker/README.md +0 -31
- package/src/stories/datepicker/data.json +0 -28
- package/src/stories/datepicker/datepicker.stories.js +0 -65
- package/src/stories/declarations/README.md +0 -19
- package/src/stories/declarations/declarations.stories.js +0 -112
- package/src/stories/dropdown/README.md +0 -44
- package/src/stories/dropdown/data-naf.json +0 -6963
- package/src/stories/dropdown/data-props.json +0 -81
- package/src/stories/dropdown/data.json +0 -78
- package/src/stories/dropdown/dropdown.stories.js +0 -65
- package/src/stories/filter-description/README.md +0 -15
- package/src/stories/filter-description/filter-description.stories.js +0 -70
- package/src/stories/input/README.md +0 -33
- package/src/stories/input/data.json +0 -28
- package/src/stories/input/input.stories.js +0 -67
- package/src/stories/input-number/README.md +0 -37
- package/src/stories/input-number/data.json +0 -30
- package/src/stories/input-number/input-number.stories.js +0 -75
- package/src/stories/loop/README.md +0 -25
- package/src/stories/loop/loop.stories.js +0 -80
- package/src/stories/loop/with-loop/data-loop-deeper.json +0 -298
- package/src/stories/loop/with-loop/data-loop.json +0 -211
- package/src/stories/loop/with-loop/data-vqs.json +0 -1384
- package/src/stories/loop/with-loop/index.js +0 -3
- package/src/stories/loop/with-roster/data-loop-deeper.json +0 -298
- package/src/stories/loop/with-roster/data-loop.json +0 -213
- package/src/stories/loop/with-roster/data-vqs.json +0 -1383
- package/src/stories/loop/with-roster/index.js +0 -3
- package/src/stories/loop-constructor/README.md +0 -27
- package/src/stories/loop-constructor/data-loop.json +0 -66
- package/src/stories/loop-constructor/data-roster.json +0 -68
- package/src/stories/loop-constructor/loop-constructor.stories.js +0 -42
- package/src/stories/progress-bar/README.md +0 -13
- package/src/stories/progress-bar/progress-bar.stories.js +0 -24
- package/src/stories/radio/README.md +0 -31
- package/src/stories/radio/data-vtl.json +0 -32
- package/src/stories/radio/data.json +0 -32
- package/src/stories/radio/radio.stories.js +0 -81
- package/src/stories/sequence/README.md +0 -18
- package/src/stories/sequence/sequence.stories.js +0 -58
- package/src/stories/subsequence/README.md +0 -18
- package/src/stories/subsequence/subsequence.stories.js +0 -58
- package/src/stories/table/README.md +0 -29
- package/src/stories/table/data-one-axis-one-measure.json +0 -124
- package/src/stories/table/data-one-axis-two-measures.json +0 -193
- package/src/stories/table/data-one-hierarchical-axis.json +0 -204
- package/src/stories/table/data-two-axis-one-measure.json +0 -492
- package/src/stories/table/table.stories.js +0 -77
- package/src/stories/textarea/README.md +0 -33
- package/src/stories/textarea/data-forced.json +0 -28
- package/src/stories/textarea/data.json +0 -28
- package/src/stories/textarea/textarea.stories.js +0 -90
- package/src/stories/tooltip-response/README.md +0 -14
- package/src/stories/tooltip-response/tooltip.stories.js +0 -43
- package/src/stories/utils/custom-lunatic.scss +0 -787
- package/src/stories/utils/img/arrow.png +0 -0
- package/src/stories/utils/img/check_box.svg +0 -1
- package/src/stories/utils/img/check_box_outline.svg +0 -1
- package/src/stories/utils/img/lunatic-logo.png +0 -0
- package/src/stories/utils/img/menu-down.svg +0 -1
- package/src/stories/utils/img/menu-up.svg +0 -1
- package/src/stories/utils/img/radio_button_checked.svg +0 -1
- package/src/stories/utils/img/radio_button_unchecked.svg +0 -1
- package/src/stories/utils/options.js +0 -21
- package/src/stories/utils/orchestrator.js +0 -53
- package/src/tests/components/breadcrumb.spec.js +0 -13
- package/src/tests/components/button.spec.js +0 -11
- package/src/tests/components/checkbox-boolean.spec.js +0 -40
- package/src/tests/components/checkbox-group.spec.js +0 -48
- package/src/tests/components/checkbox-one.spec.js +0 -32
- package/src/tests/components/datepicker.spec.js +0 -22
- package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +0 -65
- package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +0 -47
- package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +0 -21
- package/src/tests/components/declarations.spec.js +0 -46
- package/src/tests/components/input-number.spec.js +0 -173
- package/src/tests/components/input.spec.js +0 -18
- package/src/tests/components/progress-bar.spec.js +0 -15
- package/src/tests/components/radio.spec.js +0 -27
- package/src/tests/components/sequence.spec.js +0 -9
- package/src/tests/components/subsequence.spec.js +0 -9
- package/src/tests/components/table.spec.js +0 -11
- package/src/tests/components/textarea.spec.js +0 -18
- package/src/tests/components/tooltip.spec.js +0 -25
- package/src/tests/setup/setupTests.js +0 -4
- package/src/tests/utils/lib/alphabet.spec.js +0 -36
- package/src/tests/utils/lib/checkbox/group.spec.js +0 -72
- package/src/tests/utils/lib/decorator/title-decorator.spec.js +0 -12
- package/src/tests/utils/lib/items-positioning.spec.js +0 -17
- package/src/tests/utils/lib/label-position.spec.js +0 -22
- package/src/tests/utils/lib/loops/bindings.spec.js +0 -60
- package/src/tests/utils/lib/loops/shared.spec.js +0 -77
- package/src/tests/utils/lib/responses.spec.js +0 -58
- package/src/tests/utils/lib/style.spec.js +0 -26
- package/src/tests/utils/lib/table/roster.spec.js +0 -25
- package/src/tests/utils/lib/tooltip/build-response.spec.js +0 -95
- package/src/tests/utils/lib/tooltip/content.spec.js +0 -109
- package/src/tests/utils/to-expose/handler/handler.spec.js +0 -86
- package/src/tests/utils/to-expose/handler/questionnaire.json +0 -154
- package/src/tests/utils/to-expose/handler/results/index.js +0 -6
- package/src/tests/utils/to-expose/handler/results/res-double.json +0 -157
- package/src/tests/utils/to-expose/handler/results/res-input-collected.json +0 -154
- package/src/tests/utils/to-expose/handler/results/res-input-edited.json +0 -157
- package/src/tests/utils/to-expose/handler/results/res-loop.json +0 -157
- package/src/tests/utils/to-expose/handler/results/res-matrix.json +0 -157
- package/src/tests/utils/to-expose/handler/results/res-responses.json +0 -157
- package/src/tests/utils/to-expose/init-questionnaire/data.json +0 -12
- package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +0 -19
- package/src/tests/utils/to-expose/init-questionnaire/questionnaire.json +0 -129
- package/src/tests/utils/to-expose/init-questionnaire/result.json +0 -162
- package/src/tests/utils/to-expose/interpret.spec.js +0 -42
- package/src/tests/utils/to-expose/state/questionnaire.json +0 -61
- package/src/tests/utils/to-expose/state/results.js +0 -78
- package/src/tests/utils/to-expose/state/state.spec.js +0 -59
- package/src/utils/lib/alphabet.js +0 -1
- package/src/utils/lib/checkbox/group.js +0 -21
- package/src/utils/lib/checkbox/index.js +0 -1
- package/src/utils/lib/decorator/index.js +0 -1
- package/src/utils/lib/decorator/title-decorator.js +0 -16
- package/src/utils/lib/index.js +0 -12
- package/src/utils/lib/label-position.js +0 -12
- package/src/utils/lib/loops/bindings.js +0 -47
- package/src/utils/lib/loops/index.js +0 -2
- package/src/utils/lib/loops/shared.js +0 -43
- package/src/utils/lib/memo-check.js +0 -24
- package/src/utils/lib/options-positioning.js +0 -9
- package/src/utils/lib/prop-types/declarations.js +0 -22
- package/src/utils/lib/prop-types/index.js +0 -5
- package/src/utils/lib/prop-types/lines.js +0 -6
- package/src/utils/lib/prop-types/options.js +0 -8
- package/src/utils/lib/prop-types/response.js +0 -6
- package/src/utils/lib/prop-types/value-type.js +0 -9
- package/src/utils/lib/responses.js +0 -9
- package/src/utils/lib/style.js +0 -10
- package/src/utils/lib/table/index.js +0 -1
- package/src/utils/lib/table/roster.js +0 -18
- package/src/utils/lib/tooltip/build-response.js +0 -23
- package/src/utils/lib/tooltip/content.js +0 -52
- package/src/utils/lib/tooltip/index.js +0 -5
- package/src/utils/to-expose/handler.js +0 -99
- package/src/utils/to-expose/hook.js +0 -65
- package/src/utils/to-expose/index.js +0 -11
- package/src/utils/to-expose/init-questionnaire.js +0 -114
- package/src/utils/to-expose/interpret.js +0 -53
- package/src/utils/to-expose/state.js +0 -58
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/constants/declarations.js","../src/constants/value-types.js","../src/constants/variable-types.js","../src/utils/lib/prop-types/declarations.js","../src/utils/lib/prop-types/options.js","../src/utils/lib/prop-types/response.js","../src/utils/lib/prop-types/value-type.js","../src/utils/lib/prop-types/lines.js","../src/utils/lib/tooltip/content.js","../src/utils/lib/tooltip/build-response.js","../src/utils/lib/alphabet.js","../src/utils/lib/label-position.js","../src/utils/lib/options-positioning.js","../src/utils/lib/responses.js","../src/utils/lib/style.js","../src/utils/lib/table/roster.js","../src/utils/lib/loops/bindings.js","../src/utils/lib/loops/shared.js","../src/utils/lib/memo-check.js","../src/utils/lib/checkbox/group.js","../node_modules/style-inject/dist/style-inject.es.js","../src/components/breadcrumb/component.js","../src/components/button/component.js","../src/utils/to-expose/interpret.js","../src/utils/to-expose/init-questionnaire.js","../src/utils/to-expose/state.js","../src/constants/supported-preferences.js","../src/utils/to-expose/handler.js","../src/utils/to-expose/hook.js","../src/components/declarations/component.js","../src/components/tooltip/img/edited.png","../src/components/tooltip/img/forced.png","../src/components/tooltip/response.js","../src/components/checkbox/group.js","../src/components/checkbox/boolean.js","../src/components/declarations/wrappers/input-declarations-wrapper.js","../src/components/declarations/wrappers/list-declarations-wrapper.js","../src/components/declarations/wrappers/simple-declarations-wrapper.js","../src/components/checkbox/one.js","../src/components/datepicker/component.js","../node_modules/classnames/index.js","../src/components/dropdown/commons/actions.js","../src/components/dropdown/commons/components/panel.js","../src/components/dropdown/commons/components/closed.icon.js","../src/components/dropdown/commons/components/opened.icon.js","../src/components/dropdown/commons/components/label.js","../src/components/dropdown/commons/cleaner-callbacks.js","../src/components/dropdown/commons/event-callbacks/on-keydown-callback.js","../src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js","../src/components/dropdown/commons/components/dropdown-container.js","../src/components/dropdown/commons/tools/index.js","../src/components/dropdown/dropdown-edit/prefix-tools.js","../src/components/dropdown/commons/reducer.js","../src/components/dropdown/dropdown-simple/option.js","../src/components/dropdown/dropdown-simple/dropdown.js","../src/components/dropdown/dropdown-simple/index.js","../src/components/dropdown/dropdown-edit/option.js","../src/components/dropdown/dropdown-edit/cross.icon.js","../src/components/dropdown/dropdown-edit/icone.js","../src/components/dropdown/dropdown-edit/dropdown-edit.js","../src/components/dropdown/commons/children-to-option.js","../src/components/dropdown/dropdown-edit/index.js","../src/components/dropdown/component.js","../src/components/input/input.js","../src/components/input/input-number.js","../src/components/filter-description/component.js","../src/components/progress-bar/component.js","../src/components/radio/component.js","../src/components/loop/build-components.js","../src/components/loop/component.js","../src/components/loop-constructor/wrapper/build-components.js","../src/components/loop-constructor/wrapper/body-component.js","../src/components/loop-constructor/wrapper/component.js","../src/components/loop-constructor/block/component.js","../src/components/loop/wrapper.js","../src/components/loop-constructor/roster/component.js","../src/components/sequence/component.js","../src/components/subsequence/component.js","../src/components/textarea/component.js","../src/components/table/table.js"],"sourcesContent":["// Declaration position\r\n\r\nexport const BEFORE_QUESTION_TEXT = 'BEFORE_QUESTION_TEXT';\r\nexport const AFTER_QUESTION_TEXT = 'AFTER_QUESTION_TEXT';\r\nexport const DETACHABLE = 'DETACHABLE';\r\n\r\n// Declaration types\r\n\r\nexport const INSTRUCTION = 'INSTRUCTION';\r\nexport const COMMENT = 'COMMENT';\r\nexport const HELP = 'HELP';\r\nexport const WARNING = 'WARNING';\r\nexport const MESSAGE_FILTER = 'MESSAGE_FILTER';\r\nexport const STATEMENT = 'STATEMENT';\r\n","export const PREVIOUS = 'PREVIOUS';\r\nexport const COLLECTED = 'COLLECTED';\r\nexport const FORCED = 'FORCED';\r\nexport const EDITED = 'EDITED';\r\nexport const INPUTED = 'INPUTED';\r\n","export const EXTERNAL = 'EXTERNAL';\r\nexport const CALCULATED = 'CALCULATED';\r\n// Already define in value-types\r\n//export const COLLECTED = 'COLLECTED';\r\n","import PropTypes from 'prop-types';\r\nimport * as C from '../../../constants';\r\n\r\nexport default PropTypes.arrayOf(\r\n\tPropTypes.shape({\r\n\t\tid: PropTypes.string.isRequired,\r\n\t\tdeclarationType: PropTypes.oneOf([\r\n\t\t\tC.INSTRUCTION,\r\n\t\t\tC.COMMENT,\r\n\t\t\tC.HELP,\r\n\t\t\tC.WARNING,\r\n\t\t\tC.MESSAGE_FILTER,\r\n\t\t\tC.STATEMENT,\r\n\t\t]),\r\n\t\tposition: PropTypes.oneOf([\r\n\t\t\tC.BEFORE_QUESTION_TEXT,\r\n\t\t\tC.AFTER_QUESTION_TEXT,\r\n\t\t\tC.DETACHABLE,\r\n\t\t]),\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t})\r\n).isRequired;\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.arrayOf(\r\n\tPropTypes.shape({\r\n\t\tlabel: PropTypes.string.isRequired,\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\t})\r\n);\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.shape({\r\n\tname: PropTypes.string,\r\n\tvalues: PropTypes.shape({}),\r\n});\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.oneOf([\r\n\t'COLLECTED',\r\n\t'PREVIOUS',\r\n\t'FORCED',\r\n\t'EDITED',\r\n\t'INPUTED',\r\n]);\r\n","import PropTypes from 'prop-types';\r\n\r\nexport default PropTypes.shape({\r\n\tmin: PropTypes.number,\r\n\tmax: PropTypes.number,\r\n});\r\n","import * as C from '../../../constants';\r\n\r\nexport const buildTooltip = (response) => {\r\n\tif (\r\n\t\t!response ||\r\n\t\t!response.values ||\r\n\t\tObject.keys(response.values).length === 0\r\n\t)\r\n\t\treturn {};\r\n\tconst { values } = response;\r\n\tconst edited = values[C.EDITED];\r\n\tconst forced = values[C.FORCED];\r\n\tconst collected = values[C.COLLECTED];\r\n\tif (has(edited)) {\r\n\t\tif (!has(forced))\r\n\t\t\treturn {\r\n\t\t\t\tcontent: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\timgName: 'editedImg',\r\n\t\t\t};\r\n\t\treturn {\r\n\t\t\tcontent: [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Correction automatique',\r\n\t\t\t\t\tvalue: forced,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\timgName: 'editedImg',\r\n\t\t};\r\n\t}\r\n\tif (has(forced))\r\n\t\treturn {\r\n\t\t\tcontent: [\r\n\t\t\t\t{\r\n\t\t\t\t\tkey: 'Brute',\r\n\t\t\t\t\tvalue: collected || ' - ',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\timgName: 'forcedImg',\r\n\t\t};\r\n\treturn {};\r\n};\r\n\r\nconst has = (status) => status !== undefined && status !== null;\r\n","export const buildMultiTooltipResponse = (options) => (response) => {\r\n\tif (!response || Object.keys(response).length === 0 || !options) return {};\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [k, v]) =>\r\n\t\t\tv === null\r\n\t\t\t\t? { ...acc, [k]: v }\r\n\t\t\t\t: { ...acc, [k]: options.find((o) => o.value === v).label },\r\n\t\t{}\r\n\t);\r\n\treturn { name, values: newValues };\r\n};\r\n\r\nexport const buildBooleanTooltipResponse = (response) => {\r\n\tif (!response || Object.keys(response).length === 0) return {};\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [k, v]) =>\r\n\t\t\tv === null ? { ...acc, [k]: v } : { ...acc, [k]: v ? 'Vrai' : 'Faux' },\r\n\t\t{}\r\n\t);\r\n\treturn { name, values: newValues };\r\n};\r\n","export const getAlphabet = () => 'abcdefghijklmnopqrstuvwxyz'.split('');\r\n","export const getLabelPositionClass = (position) => {\r\n\tswitch (position) {\r\n\t\tcase 'LEFT':\r\n\t\t\treturn 'label-left';\r\n\t\tcase 'BOTTOM':\r\n\t\t\treturn 'label-bottom';\r\n\t\tcase 'RIGHT':\r\n\t\t\treturn 'label-right';\r\n\t\tdefault:\r\n\t\t\treturn 'label-top';\r\n\t}\r\n};\r\n","export const getItemsPositioningClass = positioning => {\r\n\tswitch (positioning) {\r\n\t\tcase 'HORIZONTAL':\r\n\t\t\treturn 'horizontal-options';\r\n\t\tcase 'VERTICAL':\r\n\t\tdefault:\r\n\t\t\treturn '';\r\n\t}\r\n};\r\n","export const getResponseName = (response) => (response && response.name) || '';\r\n\r\nexport const getResponseByPreference = (preferences) => (response) => {\r\n\tif (!(response && response.values)) return '';\r\n\treturn preferences.reduce((acc, p) => {\r\n\t\tconst value = response.values[p];\r\n\t\treturn value !== null ? value : acc;\r\n\t}, '');\r\n};\r\n","import camelCase from 'lodash.camelcase';\r\n\r\nexport const buildStyleObject = obj =>\r\n\tobj\r\n\t\t? Object.entries(obj).reduce((_, [key, value]) => {\r\n\t\t\t\tif (key.startsWith(':')) _[key] = buildStyleObject(value);\r\n\t\t\t\telse _[camelCase(key)] = value;\r\n\t\t\t\treturn _;\r\n\t\t }, {})\r\n\t\t: {};\r\n","const isResponseEmpty = (response) =>\r\n\tObject.values(response.values).filter((v) => v !== null).length === 0;\r\n\r\nexport const getRosterInitLines = (cells) =>\r\n\tArray.isArray(cells)\r\n\t\t? cells\r\n\t\t\t\t.reduce(\r\n\t\t\t\t\t(_, line) => [\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\tline.reduce((__, component) => {\r\n\t\t\t\t\t\t\tif (!component.response || __) return __;\r\n\t\t\t\t\t\t\treturn !isResponseEmpty(component.response);\r\n\t\t\t\t\t\t}, false),\r\n\t\t\t\t\t],\r\n\t\t\t\t\t[]\r\n\t\t\t\t)\r\n\t\t\t\t.filter((b) => b).length\r\n\t\t: 0;\r\n","export const buildBindingsForDeeperComponents = (index) => (bindings) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce((_, [name, value]) => {\r\n\t\t\t\tif (Array.isArray(value)) return { ..._, [name]: value[index] || null };\r\n\t\t\t\treturn { ..._, [name]: value };\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nconst getDefaultDatasetStructure = (name, value) => ({\r\n\t[name]: { dataStructure: {}, dataPoints: { [name]: value } },\r\n});\r\n\r\nexport const buildVectorialBindings = (bindings) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce((_, [name, value]) => {\r\n\t\t\t\tif (Array.isArray(value))\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\t...getDefaultDatasetStructure(name, value),\r\n\t\t\t\t\t};\r\n\t\t\t\treturn { ..._, [name]: value };\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nexport const displayLoop = (dependencyList) => (bindings) => {\r\n\tif (!Array.isArray(dependencyList) || !bindings) return false;\r\n\treturn !(\r\n\t\tdependencyList\r\n\t\t\t.map((iv) =>\r\n\t\t\t\tArray.isArray(bindings[iv][0])\r\n\t\t\t\t\t? bindings[iv][0].flat()[0]\r\n\t\t\t\t\t: bindings[iv][0]\r\n\t\t\t)\r\n\t\t\t.filter((v) => v).length === 0\r\n\t);\r\n};\r\n\r\nexport const displayLoopQuestion = (dependencyList) => (bindings) => {\r\n\tif (!Array.isArray(dependencyList) || !bindings) return false;\r\n\treturn !(\r\n\t\tdependencyList\r\n\t\t\t.map((iv) =>\r\n\t\t\t\tArray.isArray(bindings[iv]) ? bindings[iv].flat()[0] : bindings[iv]\r\n\t\t\t)\r\n\t\t\t.filter((v) => v).length === 0\r\n\t);\r\n};\r\n","import * as C from '../../../constants';\r\n\r\nexport const getLoopConstructorInitLines = (components) =>\r\n\tArray.isArray(components)\r\n\t\t? components.reduce(\r\n\t\t\t\t(_, c) =>\r\n\t\t\t\t\tc.response &&\r\n\t\t\t\t\tc.response.values[C.COLLECTED] &&\r\n\t\t\t\t\tc.response.values[C.COLLECTED].length > _\r\n\t\t\t\t\t\t? c.response.values[C.COLLECTED].length\r\n\t\t\t\t\t\t: _,\r\n\t\t\t\t0\r\n\t\t )\r\n\t\t: 0;\r\n\r\nexport const getInvolvedVariables = (parentComponents) =>\r\n\tArray.isArray(parentComponents)\r\n\t\t? parentComponents\r\n\t\t\t\t.reduce((_, c) => {\r\n\t\t\t\t\tconst { response, responses, components, depth } = c;\r\n\t\t\t\t\tif (response && response.name)\r\n\t\t\t\t\t\treturn [..._, { name: response.name, depth }];\r\n\t\t\t\t\tif (responses || components)\r\n\t\t\t\t\t\treturn [..._, getInvolvedVariables(responses || components)];\r\n\t\t\t\t\treturn _;\r\n\t\t\t\t}, [])\r\n\t\t\t\t.flat()\r\n\t\t: [];\r\n\r\nexport const lastLoopChildLineIsEmpty = (bindings) => (involvedVariables) =>\r\n\tbindings && involvedVariables\r\n\t\t? involvedVariables\r\n\t\t\t\t.map((iv) => iv.name)\r\n\t\t\t\t.filter((iv) => bindings[iv] && bindings[iv][bindings[iv].length - 1])\r\n\t\t\t\t.length === 0\r\n\t\t: true;\r\n\r\nexport const buildEmptyValue = (depth) => {\r\n\tif (!depth || depth === 1) return null;\r\n\treturn new Array(depth - 1)\r\n\t\t.fill(null)\r\n\t\t.reduce((acc) => new Array(1).fill(acc), null);\r\n};\r\n","import isEqual from 'lodash.isequal';\r\n\r\nconst VarsHasBeenUpdated = (prevProps, props) => {\r\n\tconst { response: oldR, responses: oldRs, cells: oldC } = prevProps;\r\n\tconst { response: newR, responses: newRs, cells: newC } = props;\r\n\tif (!newR && !newRs && !newC) return true;\r\n\treturn !(\r\n\t\t(newR && isEqual(oldR, newR)) ||\r\n\t\t(newRs && isEqual(oldRs, newRs)) ||\r\n\t\t(newC && isEqual(oldC, newC))\r\n\t);\r\n};\r\nexport const areEqual = (prevProps, props) => {\r\n\tif (VarsHasBeenUpdated(prevProps, props)) return false;\r\n\tconst { bindingDependencies } = props;\r\n\tif (Array.isArray(bindingDependencies) && bindingDependencies.length > 0) {\r\n\t\tconst { bindings: oldB } = prevProps;\r\n\t\tconst { bindings: newB } = props;\r\n\t\treturn !bindingDependencies\r\n\t\t\t.map((d) => isEqual(oldB[d], newB[d]))\r\n\t\t\t.includes(false);\r\n\t}\r\n\treturn true;\r\n};\r\n","export const responseToClean = (response) => (preferences) => {\r\n\tif (!preferences || !response.values) return false;\r\n\tconst { values } = response;\r\n\tif (!values) return false;\r\n\tconst cutedValues = {\r\n\t\t...values,\r\n\t\t[preferences[preferences.length - 1]]: null,\r\n\t};\r\n\treturn Object.values(cutedValues).filter((v) => v !== null).length === 0;\r\n};\r\n\r\nexport const responsesToClean = (responses) => (preferences) => (key) => {\r\n\tif (!preferences || !key) return false;\r\n\tconst values = responses.find((r) => r.response.name === key).response.values;\r\n\tif (!values) return false;\r\n\tconst cutedValues = {\r\n\t\t...values,\r\n\t\t[preferences[preferences.length - 1]]: null,\r\n\t};\r\n\treturn Object.values(cutedValues).filter((v) => v !== null).length === 0;\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './breadcrumb.scss';\r\n\r\nconst Breadcrumb = ({ elements, style }) => (\r\n\t<div\r\n\t\taria-label={`breadcrumb`}\r\n\t\tclassName=\"breadcrumb-lunatic\"\r\n\t\tstyle={buildStyleObject(style)}\r\n\t>\r\n\t\t{elements.map((e, i) => (\r\n\t\t\t<React.Fragment key={`breadcrumb-${e.toLowerCase()}`}>\r\n\t\t\t\t{e && (\r\n\t\t\t\t\t<span className={i !== 0 ? 'breadcrumb-element-lunatic' : undefined}>\r\n\t\t\t\t\t\t{e}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t)}\r\n\t\t\t</React.Fragment>\r\n\t\t))}\r\n\t</div>\r\n);\r\n\r\nBreadcrumb.propTypes = {\r\n\telements: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default Breadcrumb;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './button.scss';\r\n\r\nconst Button = ({ label, value, onClick, disabled, style }) => (\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\taria-label={label || 'button'}\r\n\t\tclassName=\"button-lunatic\"\r\n\t\tstyle={buildStyleObject(style)}\r\n\t\tdisabled={disabled}\r\n\t\tonClick={onClick}\r\n\t>\r\n\t\t{value}\r\n\t</button>\r\n);\r\n\r\nButton.propTypes = {\r\n\tvalue: PropTypes.string.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tonClick: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Button;\r\n","import { interpret as interpretVtl } from '@inseefr/vtl-2.1-engine';\r\n\r\nexport const interpret = (features) => (bindings, doNotReplaceNullBindings) => (\r\n\texpression\r\n) => {\r\n\tif (!expression) return '';\r\n\tif (!Array.isArray(features)) return expression;\r\n\tif (features.includes('VTL')) {\r\n\t\ttry {\r\n\t\t\tconst VTLExpr = interpretVtl(\r\n\t\t\t\texpression,\r\n\t\t\t\tdoNotReplaceNullBindings ? bindings : replaceNullBindings(bindings)\r\n\t\t\t);\r\n\t\t\tif (!VTLExpr) return expression;\r\n\t\t\treturn VTLExpr;\r\n\t\t} catch (e) {\r\n\t\t\treturn expression;\r\n\t\t}\r\n\t}\r\n\treturn expression;\r\n};\r\n\r\nexport const interpretWithEmptyDefault = (\r\n\tfeatures,\r\n\tdoNotReplaceNullBindings\r\n) => (bindings, replaceNullBindings) => (expression) => {\r\n\tif (!expression) return '';\r\n\tif (!Array.isArray(features)) return expression;\r\n\tif (features.includes('VTL')) {\r\n\t\ttry {\r\n\t\t\tconst VTLExpr = interpretVtl(\r\n\t\t\t\texpression,\r\n\t\t\t\tdoNotReplaceNullBindings ? bindings : replaceNullBindings(bindings, '')\r\n\t\t\t);\r\n\t\t\tif (!VTLExpr) return '';\r\n\t\t\treturn VTLExpr;\r\n\t\t} catch (e) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n};\r\n\r\nexport const replaceNullBindings = (bindings, defaultValue) =>\r\n\tbindings\r\n\t\t? Object.entries(bindings).reduce(\r\n\t\t\t\t(acc, [key, value]) => ({\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[key]: value === null ? defaultValue || key : value,\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t )\r\n\t\t: {};\r\n","import * as C from '../../constants';\r\nimport { interpret } from './interpret';\r\n\r\nexport const mergeQuestionnaireAndData = (questionnaire) => (data) => {\r\n\tif (!questionnaire || !questionnaire.components) return {};\r\n\tif (questionnaire.components.length === 0) return questionnaire;\r\n\tconst { components, variables, ...props } = questionnaire;\r\n\r\n\tconst vars = buildVars(data || {})(variables);\r\n\tconst filledComponents = buildFilledComponents(vars[C.COLLECTED])(components)(\r\n\t\t0\r\n\t);\r\n\r\n\treturn { ...props, components: filledComponents, variables: vars };\r\n};\r\n\r\nconst buildVars = (data) => (variables) => {\r\n\tif (!Array.isArray(variables)) return {};\r\n\tconst { COLLECTED: collectedData } = data;\r\n\tconst collected = variables\r\n\t\t.filter(({ variableType }) => variableType === C.COLLECTED)\r\n\t\t.reduce((acc, { values, name, componentRef }) => {\r\n\t\t\tconst d = (collectedData && collectedData[name]) || {};\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[name]: {\r\n\t\t\t\t\tcomponentRef,\r\n\t\t\t\t\tvalues: { ...values, ...d },\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}, {});\r\n\tconst EXTERNAL = variables\r\n\t\t.filter(({ variableType }) => variableType === C.EXTERNAL)\r\n\t\t.reduce((_, v) => ({ ..._, ...initExternalVariable(v)(data) }), {});\r\n\treturn {\r\n\t\tEXTERNAL,\r\n\t\tCOLLECTED: collected,\r\n\t\tCALCULATED: variables\r\n\t\t\t.filter(({ variableType }) => variableType === C.CALCULATED)\r\n\t\t\t.reduce(\r\n\t\t\t\t(_, v) => ({\r\n\t\t\t\t\t..._,\r\n\t\t\t\t\t...initCalculatedVariable(v)({ ...EXTERNAL, ...collected }),\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t\t),\r\n\t};\r\n};\r\n\r\nconst buildFilledComponents = (vars) => (components) => (depth) =>\r\n\tcomponents.map((c) => {\r\n\t\tconst component = { depth, ...c };\r\n\t\treturn buildFilledComponent(vars)(component);\r\n\t});\r\n\r\nexport const buildFilledComponent = (vars) => (component) => {\r\n\tif (component.response) return buildResponseComponent(vars)(component);\r\n\telse if (component.responses) return buildResponsesComponent(vars)(component);\r\n\telse if (component.cells) return buildCellsComponent(vars)(component);\r\n\telse if (component.components)\r\n\t\treturn buildComponentsComponent(vars)(component);\r\n\treturn component;\r\n};\r\n\r\nexport const buildResponseComponent = (vars) => (c) => ({\r\n\t...c,\r\n\tresponse: {\r\n\t\tname: c.response.name,\r\n\t\tvalues: vars[c.response.name].values,\r\n\t},\r\n});\r\n\r\nexport const buildResponsesComponent = (vars) => (c) => {\r\n\tconst { responses, ...rest } = c;\r\n\tconst filledResponses = responses.map((r) => buildResponseComponent(vars)(r));\r\n\treturn { ...rest, responses: filledResponses };\r\n};\r\n\r\nexport const buildCellsComponent = (vars) => (c) => {\r\n\tconst { cells, depth, ...rest } = c;\r\n\tconst filledCells = cells.map((row) =>\r\n\t\tbuildFilledComponents(vars)(row)(depth)\r\n\t);\r\n\treturn { ...rest, depth, cells: filledCells };\r\n};\r\n\r\nexport const buildComponentsComponent = (vars) => (component) => {\r\n\tconst { components, depth, ...rest } = component;\r\n\tconst filledComponents = buildFilledComponents(vars)(components)(depth + 1);\r\n\treturn { ...rest, depth, components: filledComponents };\r\n};\r\n\r\nconst initExternalVariable = ({ name }) => (data) => ({\r\n\t[name]: (data && data.EXTERNAL && data.EXTERNAL[name]) || null,\r\n});\r\n\r\nconst initCalculatedVariable = ({ name, expression }) => (data) => {\r\n\tconst bindings = Object.entries(data).reduce(\r\n\t\t(acc, [key, value]) => ({\r\n\t\t\t...acc,\r\n\t\t\t[key]:\r\n\t\t\t\ttypeof value === 'string' || value === null\r\n\t\t\t\t\t? value\r\n\t\t\t\t\t: value.values[C.COLLECTED],\r\n\t\t}),\r\n\t\t{}\r\n\t);\r\n\treturn {\r\n\t\t[name]: {\r\n\t\t\texpression,\r\n\t\t\tvalue: interpret(['VTL'])(bindings)(expression),\r\n\t\t},\r\n\t};\r\n};\r\n","import * as C from '../../constants';\r\n\r\nexport const getState = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn {\r\n\t\t[C.CALCULATED]: getCalculatedFromVariables(variables),\r\n\t\t[C.COLLECTED]: getCollectedState(questionnaire),\r\n\t\t[C.EXTERNAL]: getExternalFromVariables(variables),\r\n\t};\r\n};\r\n\r\nexport const getCollectedState = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn (\r\n\t\t(variables &&\r\n\t\t\tvariables[C.COLLECTED] &&\r\n\t\t\tObject.entries(variables[C.COLLECTED]).reduce(\r\n\t\t\t\t(acc, [name, { values }]) => ({ ...acc, [name]: values }),\r\n\t\t\t\t{}\r\n\t\t\t)) ||\r\n\t\t{}\r\n\t);\r\n};\r\n\r\nconst getCalculatedFromVariables = (variables) =>\r\n\tvariables && variables[C.CALCULATED]\r\n\t\t? Object.entries(variables[C.CALCULATED]).reduce(\r\n\t\t\t\t(_, [name, { value }]) => ({ ..._, [name]: value }),\r\n\t\t\t\t{}\r\n\t\t )\r\n\t\t: {};\r\n\r\nconst getExternalFromVariables = (variables) =>\r\n\t(variables && variables[C.EXTERNAL]) || {};\r\n\r\nexport const getCollectedStateByValueType = (questionnaire) => (\r\n\tvalueType,\r\n\tdisplayNull\r\n) =>\r\n\t['PREVIOUS', 'COLLECTED', 'FORCED', 'EDITED', 'INPUTED'].includes(valueType)\r\n\t\t? Object.entries(getCollectedState(questionnaire)).reduce((_, v) => {\r\n\t\t\t\tif (displayNull || v[1][valueType] !== null)\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\t[v[0]]: v[1][valueType],\r\n\t\t\t\t\t};\r\n\t\t\t\treturn _;\r\n\t\t }, {})\r\n\t\t: {};\r\n\r\nexport const getBindings = (questionnaire) => {\r\n\tconst { variables } = questionnaire;\r\n\treturn {\r\n\t\t...getCollectedStateByValueType(questionnaire)('COLLECTED', true),\r\n\t\t...getCalculatedFromVariables(variables),\r\n\t\t...getExternalFromVariables(variables),\r\n\t};\r\n};\r\n","import * as C from './value-types';\r\n\r\n// ORDERED ARRAY\r\nexport const supportedPreferences = [\r\n\tC.PREVIOUS,\r\n\tC.COLLECTED,\r\n\tC.FORCED,\r\n\tC.EDITED,\r\n\tC.INPUTED,\r\n];\r\n","import * as C from '../../constants';\r\nimport { buildFilledComponent } from './init-questionnaire';\r\nimport { supportedPreferences } from '../../constants/supported-preferences';\r\nimport { interpret } from './interpret';\r\nimport { buildVectorialBindings } from '../lib/loops/bindings';\r\n\r\nexport const updateQuestionnaire = (valueType) => (questionnaire) => (\r\n\tpreferences\r\n) => (updatedValues) => {\r\n\tif (\r\n\t\t!supportedPreferences.includes(valueType) ||\r\n\t\tpreferences.length === 0 ||\r\n\t\t!updatedValues\r\n\t)\r\n\t\treturn questionnaire;\r\n\tconst { variables, components, ...other } = questionnaire;\r\n\tif (!components || components.length === 0) return questionnaire;\r\n\tconst varsAndRefs = Object.entries(updatedValues).reduce(\r\n\t\t(acc, [key, value]) => {\r\n\t\t\tconst {\r\n\t\t\t\tnewVariables: { COLLECTED, ...otherVars },\r\n\t\t\t\trefs,\r\n\t\t\t} = acc;\r\n\t\t\tconst { componentRef, values } = COLLECTED[key];\r\n\t\t\tconst updated = {\r\n\t\t\t\tcomponentRef,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t...values,\r\n\t\t\t\t\t[valueType]: buildNewValue(preferences)(valueType)(values)(value),\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\tconst newCollected = { ...COLLECTED, [key]: updated };\r\n\t\t\treturn {\r\n\t\t\t\tnewVariables: {\r\n\t\t\t\t\t...otherVars,\r\n\t\t\t\t\tCOLLECTED: newCollected,\r\n\t\t\t\t},\r\n\t\t\t\trefs: [...refs, componentRef],\r\n\t\t\t};\r\n\t\t},\r\n\t\t{ newVariables: variables, refs: [] }\r\n\t);\r\n\tconst { newVariables, refs: r } = varsAndRefs;\r\n\tconst newVariablesWithCalculated =\r\n\t\tvalueType === C.COLLECTED ? addCalculatedVars(newVariables) : newVariables;\r\n\tconst collectedVars = newVariables[C.COLLECTED];\r\n\tconst newComponents = components.map((c) => {\r\n\t\tif (r.includes(c.id)) return buildFilledComponent(collectedVars)(c);\r\n\t\treturn c;\r\n\t});\r\n\treturn {\r\n\t\t...other,\r\n\t\tvariables: newVariablesWithCalculated,\r\n\t\tcomponents: newComponents,\r\n\t};\r\n};\r\n\r\nconst buildNewValue = (preferences) => (valueType) => (oldValues) => (\r\n\tvalue\r\n) => {\r\n\tif (preferences.length === 1) return value;\r\n\tconst index = preferences.indexOf(valueType);\r\n\tif (index < 1) return value;\r\n\tconst valuesByPreference = preferences\r\n\t\t.slice(0, index)\r\n\t\t.map((p) => oldValues[p])\r\n\t\t.filter((v) => v !== null);\r\n\tconst lastValue = valuesByPreference[valuesByPreference.length - 1];\r\n\treturn lastValue === value ? null : value;\r\n};\r\n\r\nconst addCalculatedVars = (variables) => {\r\n\tif (\r\n\t\t!variables[C.CALCULATED] ||\r\n\t\tObject.keys(variables[C.CALCULATED]).length === 0\r\n\t)\r\n\t\treturn variables;\r\n\tconst { COLLECTED, EXTERNAL, CALCULATED } = variables;\r\n\tconst collected = Object.entries(COLLECTED).reduce(\r\n\t\t(acc, [key, { values }]) => ({ ...acc, [key]: values[C.COLLECTED] }),\r\n\t\t{}\r\n\t);\r\n\tconst bindings = buildVectorialBindings({ ...collected, ...EXTERNAL });\r\n\tconst calculated = Object.entries(CALCULATED).reduce(\r\n\t\t(acc, [key, { expression }]) => {\r\n\t\t\t// Assume that a calculated variable has a first level scope\r\n\t\t\t// If we need to handle deep calculated variables, we have to\r\n\t\t\t// update the shape of bindings, grouping vars by type\r\n\t\t\tconst res = interpret(['VTL'])(bindings)(expression);\r\n\t\t\tconst value = Array.isArray(res) ? res.join(',') : res;\r\n\t\t\treturn {\r\n\t\t\t\t...acc,\r\n\t\t\t\t[key]: { expression, value },\r\n\t\t\t};\r\n\t\t},\r\n\t\t{}\r\n\t);\r\n\treturn { EXTERNAL, COLLECTED, CALCULATED: calculated };\r\n};\r\n","import { useState, useEffect, useCallback } from 'react';\r\nimport { interpret } from './interpret';\r\nimport { mergeQuestionnaireAndData } from './init-questionnaire';\r\nimport { getBindings } from './state';\r\nimport { updateQuestionnaire } from './handler';\r\nimport { COLLECTED } from '../../constants';\r\n\r\nconst filterComponents = (components, management, bindings, features) => {\r\n\tconst filteredComponents = management\r\n\t\t? components\r\n\t\t: components.filter(\r\n\t\t\t\t({ conditionFilter }) =>\r\n\t\t\t\t\t!conditionFilter ||\r\n\t\t\t\t\tinterpret(features)(bindings, true)(conditionFilter) === 'normal'\r\n\t\t );\r\n\treturn filteredComponents;\r\n};\r\n\r\nconst useLunatic = (\r\n\tsource,\r\n\tdata,\r\n\t{\r\n\t\tsavingType = COLLECTED,\r\n\t\tpreferences = [COLLECTED],\r\n\t\tfeatures = ['VTL'],\r\n\t\tmanagement = false,\r\n\t}\r\n) => {\r\n\tconst [questionnaire, setQuestionnaire] = useState(\r\n\t\tmergeQuestionnaireAndData(source)(data || {})\r\n\t);\r\n\tconst [todo, setTodo] = useState({});\r\n\r\n\tconst handleChange = useCallback((updatedValue) => {\r\n\t\tsetTodo(updatedValue);\r\n\t}, []);\r\n\r\n\t// Assume we only want to handle source update\r\n\tuseEffect(() => {\r\n\t\tsetQuestionnaire(mergeQuestionnaireAndData(source)(data));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [source]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst newQ = updateQuestionnaire(savingType)(questionnaire)(preferences)(\r\n\t\t\t\ttodo\r\n\t\t\t);\r\n\t\t\tsetQuestionnaire(newQ);\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [todo, preferences, questionnaire, savingType, features, management]);\r\n\r\n\tconst bindings = getBindings(questionnaire);\r\n\tconst components = filterComponents(\r\n\t\tquestionnaire.components,\r\n\t\tmanagement,\r\n\t\tbindings,\r\n\t\tfeatures\r\n\t);\r\n\r\n\treturn { questionnaire, handleChange, components, bindings };\r\n};\r\n\r\nexport default useLunatic;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './declarations.scss';\r\n\r\nconst Declarations = ({ id, type, declarations, features, bindings }) => {\r\n\tconst filtered = declarations.filter(({ position }) => position === type);\r\n\treturn (\r\n\t\t<div id={`declarations-${id}-${type}`} className=\"declarations-lunatic\">\r\n\t\t\t{filtered.map(({ id: idD, label, declarationType }) => (\r\n\t\t\t\t<div\r\n\t\t\t\t\tkey={`${idD}`}\r\n\t\t\t\t\tclassName={`declaration-lunatic declaration-${declarationType.toLowerCase()}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t</div>\r\n\t\t\t))}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nDeclarations.defaultProps = {\r\n\ttype: 'AFTER_QUESTION_TEXT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n};\r\n\r\nDeclarations.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\ttype: PropTypes.string,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n};\r\n\r\nexport default Declarations;\r\n","var img = new Image(); img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAAGEMEXHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABjUExURf///8Xn9XrH6Va44zKp3Eiy4GW+5b7j9Kja8Bme2CSj2p7W7vH5/UGv34XM69vw+czq9iCh2ZbT7bfg82W94+33/Njt92zB5k+14XPE6On2+4vN6sLl9Mno9i+n3Cum2wAAAIfAWccAAAAhdFJOU///////////////////////////////////////////AJ/B0CEAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAEVSURBVChTVVIBcsMgDFODm2JKIFnTbvv/Ryfb0F11Z4ptWYBSYL8wFBk34A7kLwDCUIbBfkcIHppsM2tIVy61exRoQ0LFaa2NhLSiP7l/MA7no6rsdd+UI5SINQSvZKVsBXSB7N4plnFRyihxxrFdtxeep5qwYRFZx1ZK6735IMrmJSQOZR9sXKWZSKeaVdQVfftOirdG8kHjhXlFxZ0ZWezpwrclo4Q69ZUWZj28BPyobmbCQPYxR6HdE53leLyBpGIGEELHP7GGtB/DIyds+mathZ/BEBefyNSRMJxDwRggcXbMlSlGsPM9uWHpgKnRgPB/zBCd/yStLB3z1hK6wO+8zn7o+7sx47v/s9oOdgdoLAD8AWlNC8M57XWRAAAAAElFTkSuQmCC'; export default img;","var img = new Image(); img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAMAAAFiGY6DAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABUUExURf///6zc8Uiy4PH5/d/x+b7j9Bme2DKp3CSj2la442W+5YnN61O34nrH6Z7W7tDr9yCh2bfg8+33/HPE6EGv35bT7U+14czq9nDD56XZ7+n2+wAAAJWny4EAAAAcdFJOU////////////////////////////////////wAXsuLXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKElEQVQoU2VSC3bDIAwzJRM0hCb0ldfd/6STDFm7TgnEX2GbGHExQ4PZoc0scT0MgC/6xkqZ+tC0x6y4E4zlU5VAs8I2Wrv0/PL/xzih4gKsCJVB1RZKsvXYrJntG7gXrM/ddgZ3JPDtBRHFSQYG1Ylgy9cUhStwdaGKO6tAdX0wCQi5tUyzK6oYYNHB+aDDBXhHcjtu09uHKgfTYGTUXMRDtCOU7HUU8ShH1CdWdj1FoS/3k+4vyB3Se6KV8tv6Bamm2Z3d+GWvuNmel4WC7A9+OUcV9AKr5PHEJHIxavjui4mOisf0/B7uiqwTrp9/gisa0wuycLTs3zlI2yl7QpTvDR8FlXy3jWq3hqBYjYpXPy/A7Lmu33GIMR1r3z6OPnFngYFXbfYDTw4LkdQNpj4AAAAASUVORK5CYII='; export default img;","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as U from '../../utils/lib';\r\nimport * as img from './img';\r\nimport './tooltip.scss';\r\n\r\nconst TooltipResponse = ({ id, response }) => {\r\n\tconst [tooltipElements, setTooltipElements] = useState(() =>\r\n\t\tU.buildTooltip(response)\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetTooltipElements(U.buildTooltip(response));\r\n\t}, [response]);\r\n\r\n\tconst { content, imgName } = tooltipElements;\r\n\r\n\tif (!content) return null;\r\n\treturn (\r\n\t\t<div className=\"tooltip-lunatic\">\r\n\t\t\t<img id={id} alt=\"img-tooltip\" src={img[imgName].src || img[imgName]} />\r\n\t\t\t<span className=\"tooltip-text\">\r\n\t\t\t\t<ul>\r\n\t\t\t\t\t{content.map(({ key, value }) => (\r\n\t\t\t\t\t\t<li key={`tooltip-${id}-content-${key}`}>{`${key} : ${value}`}</li>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</ul>\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nTooltipResponse.defaultProps = {\r\n\tresponse: {},\r\n};\r\n\r\nTooltipResponse.propTypes = {\r\n\tid: PropTypes.string,\r\n\tresponse: U.responsePropTypes,\r\n};\r\n\r\nexport default TooltipResponse;\r\n","import React, { useRef, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxGroup = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponses,\r\n\thandleChange,\r\n\tdisabled,\r\n\tfocused,\r\n\tkeyboardSelection,\r\n\tpositioning,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n}) => {\r\n\tconst { fieldsetStyle, modalityStyle } = style;\r\n\tconst inputRef = useRef();\r\n\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tif (value === false && U.responsesToClean(responses)(preferences)(key))\r\n\t\t\thandleChange({ [key]: null });\r\n\t\telse handleChange(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst checkedArray = [];\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<fieldset\r\n\t\t\t\tkey={`checkbox-${id}`}\r\n\t\t\t\tclassName=\"checkbox-group\"\r\n\t\t\t\tstyle={U.buildStyleObject(fieldsetStyle)}\r\n\t\t\t>\r\n\t\t\t\t<legend>{interpret(features)(bindings)(label)}</legend>\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t{responses.map(({ id: modId, label: modLabel, response }, i) => {\r\n\t\t\t\t\tconst checked = U.getResponseByPreference(preferences)(response);\r\n\t\t\t\t\tif (checked) checkedArray.push(modId);\r\n\t\t\t\t\tconst toRef =\r\n\t\t\t\t\t\ti === 0 || (checkedArray[0] && checkedArray[0] === modId);\r\n\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(modLabel);\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={`${U.getItemsPositioningClass(positioning)}`}\r\n\t\t\t\t\t\t\tkey={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tclassName={`${management ? 'field-with-tooltip' : 'field'}`}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tclassName={`checkbox-modality ${\r\n\t\t\t\t\t\t\t\t\t\t\tchecked ? 'content-checked' : ''\r\n\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\t\t\t\tid={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tref={toRef ? inputRef : null}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\taria-labelledby={`input-label-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"checkbox-lunatic\"\r\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tspecificHandleChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t[U.getResponseName(response)]: e.target.checked,\r\n\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<label\r\n\t\t\t\t\t\t\t\t\t\t\thtmlFor={`checkbox-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tid={`input-label-${id}-${modId}`}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={checked ? U.buildStyleObject(modalityStyle) : {}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{keyboardSelection && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"code-modality\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{responses.length < 10\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? i + 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: U.getAlphabet()[i].toUpperCase()}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{interpretedLabel}\r\n\t\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\t\t\t\t\tresponse={U.buildBooleanTooltipResponse(response)}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</fieldset>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nCheckboxGroup.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponses: [],\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\tkeyboardSelection: false,\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: { fieldsetStyle: {}, modalityStyle: {} },\r\n};\r\n\r\nCheckboxGroup.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tkeyboardSelection: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(CheckboxGroup, U.areEqual);\r\n","import React, { useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxBoolean = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\thandleChange,\r\n\tdisabled,\r\n\tpositioning,\r\n\tfocused,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tif (value === false && U.responseToClean(response)(preferences))\r\n\t\t\thandleChange({ [key]: null });\r\n\t\telse handleChange(e);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst isVertical = positioning === 'VERTICAL';\r\n\tconst isHorizontal = positioning === 'HORIZONTAL';\r\n\tconst input = (\r\n\t\t<>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\tid={`checkbox-boolean-${id}`}\r\n\t\t\t\tref={inputRef}\r\n\t\t\t\ttitle={label ? label : 'empty-label'}\r\n\t\t\t\tclassName={`checkbox-boolean-lunatic${isVertical ? '-no-margin' : ''}`}\r\n\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\tchecked={U.getResponseByPreference(preferences)(response)}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\tspecificHandleChange({\r\n\t\t\t\t\t\t[U.getResponseName(response)]: e.target.checked,\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t{label && (\r\n\t\t\t\t<label htmlFor={`checkbox-boolean-${id}`}>\r\n\t\t\t\t\t{isHorizontal ? interpret(features)(bindings)(label) : ''}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n\treturn (\r\n\t\t<div key={`checkbox-boolean-${id}`} className={`checkbox-boolean-modality`}>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{label && !isHorizontal && (\r\n\t\t\t\t<label htmlFor={`checkbox-boolean-${id}`}>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className=\"field-container\">\r\n\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t{isVertical ? <div>{input}</div> : input}\r\n\t\t\t\t</div>\r\n\t\t\t\t{management && (\r\n\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\tresponse={U.buildBooleanTooltipResponse(response)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nCheckboxBoolean.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tdisabled: false,\r\n\tpositioning: 'DEFAULT',\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: {},\r\n};\r\n\r\nCheckboxBoolean.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(CheckboxBoolean, U.areEqual);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../';\r\nimport { TooltipResponse } from '../../tooltip';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst InputDeclarationsWrapper = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\tplaceholder,\r\n\thandleChange,\r\n\tmaxLength,\r\n\treadOnly,\r\n\tdisabled,\r\n\tautoComplete,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tfocused,\r\n\tmanagement,\r\n\tstyle,\r\n\ttype,\r\n\troleType,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\t// Assume we only want to handle enable external updates\r\n\t// Don't need to check all value changes\r\n\tuseEffect(() => {\r\n\t\tif (U.getResponseByPreference(preferences)(response) !== value)\r\n\t\t\tsetValue(U.getResponseByPreference(preferences)(response));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [response, preferences]);\r\n\r\n\tconst handleChangeOnBlur = () => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: value,\r\n\t\t});\r\n\t};\r\n\r\n\tconst Component = roleType === 'textarea' ? 'textarea' : 'input';\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className={U.getLabelPositionClass(labelPosition)}>\r\n\t\t\t\t{label && (\r\n\t\t\t\t\t<label\r\n\t\t\t\t\t\thtmlFor={`${roleType}-${id}`}\r\n\t\t\t\t\t\tid={`${roleType}-label-${id}`}\r\n\t\t\t\t\t\tclassName={`${mandatory ? 'mandatory' : ''}`}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\tid={`${roleType}-${id}`}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tautoComplete={autoComplete ? 'on' : 'off'}\r\n\t\t\t\t\t\t\tclassName={`${roleType}-lunatic`}\r\n\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\treadOnly={readOnly}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\tmaxLength={maxLength || 524288}\r\n\t\t\t\t\t\t\trequired={mandatory}\r\n\t\t\t\t\t\t\taria-required={mandatory}\r\n\t\t\t\t\t\t\tonChange={({ target: { value: v } }) => {\r\n\t\t\t\t\t\t\t\tsetValue(v === '' ? null : v);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonBlur={handleChangeOnBlur}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t<TooltipResponse id={id} response={response} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nInputDeclarationsWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tplaceholder: '',\r\n\treadOnly: false,\r\n\tdisabled: false,\r\n\tautoComplete: false,\r\n\tlabelPosition: 'DEFAULT',\r\n\tmandatory: false,\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: {},\r\n};\r\n\r\nInputDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\tplaceholder: PropTypes.string,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\treadOnly: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tmaxLength: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n\tautoComplete: PropTypes.bool,\r\n\tlabelPosition: PropTypes.oneOf(['DEFAULT', 'TOP', 'BOTTOM', 'LEFT', 'RIGHT']),\r\n\tmandatory: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\ttype: PropTypes.oneOf(['text', 'date', null]),\r\n\troleType: PropTypes.oneOf(['input', 'datepicker', 'textarea']),\r\n};\r\n\r\nexport default InputDeclarationsWrapper;\r\n","import React, { useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../';\r\nimport { TooltipResponse } from '../../tooltip';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst ListDeclarationsWrapper = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\toptions,\r\n\thandleChange,\r\n\tdisabled,\r\n\tfocused,\r\n\tkeyboardSelection,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tstyle,\r\n\tpositioning,\r\n\ttype,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tconst { fieldsetStyle, modalityStyle } = style;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className=\"field-container\">\r\n\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t<fieldset\r\n\t\t\t\t\t\tkey={`${type}-${id}`}\r\n\t\t\t\t\t\tclassName={`${type}-group`}\r\n\t\t\t\t\t\tstyle={U.buildStyleObject(fieldsetStyle)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<legend>{interpret(features)(bindings)(label)}</legend>\r\n\t\t\t\t\t\t<Declarations\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{options.map(({ label: optionLabel, value: optionValue }, i) => {\r\n\t\t\t\t\t\t\tconst checked =\r\n\t\t\t\t\t\t\t\tU.getResponseByPreference(preferences)(response) ===\r\n\t\t\t\t\t\t\t\toptionValue;\r\n\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(\r\n\t\t\t\t\t\t\t\toptionLabel\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tkey={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\tclassName={`${type}-modality ${U.getItemsPositioningClass(\r\n\t\t\t\t\t\t\t\t\t\tpositioning\r\n\t\t\t\t\t\t\t\t\t)} ${checked ? 'content-checked' : ''}`}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\t\t\t\tname={`${type}-${id}`}\r\n\t\t\t\t\t\t\t\t\t\tref={i === 0 || checked ? inputRef : null}\r\n\t\t\t\t\t\t\t\t\t\tid={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\taria-labelledby={`input-label-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tclassName={`${type}-lunatic`}\r\n\t\t\t\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\t\t\t\tchecked={checked}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t\t\tonChange={() =>\r\n\t\t\t\t\t\t\t\t\t\t\thandleChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t[U.getResponseName(response)]: optionValue,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<label\r\n\t\t\t\t\t\t\t\t\t\thtmlFor={`${type}-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tid={`input-label-${id}-${optionValue}`}\r\n\t\t\t\t\t\t\t\t\t\tstyle={checked ? U.buildStyleObject(modalityStyle) : {}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{keyboardSelection && (\r\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"code-modality\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{options.length < 10\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? i + 1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: U.getAlphabet()[i].toUpperCase()}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t{interpretedLabel}\r\n\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t</fieldset>\r\n\t\t\t\t</div>\r\n\t\t\t\t{management && (\r\n\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\tresponse={U.buildMultiTooltipResponse(options)(response)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nListDeclarationsWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\toptions: [],\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\tkeyboardSelection: false,\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tmanagement: false,\r\n\tstyle: { fieldsetStyle: {}, modalityStyle: {} },\r\n};\r\n\r\nListDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\toptions: U.optionsPropTypes,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tkeyboardSelection: PropTypes.bool,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\ttype: PropTypes.oneOf(['radio', 'checkbox']),\r\n};\r\n\r\nexport default ListDeclarationsWrapper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\n\r\nconst SimpleDeclarationsWrapper = ({\r\n\tid,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tchildren,\r\n}) => (\r\n\t<>\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t\t{children}\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t\t<Declarations\r\n\t\t\tid={id}\r\n\t\t\ttype={C.DETACHABLE}\r\n\t\t\tdeclarations={declarations}\r\n\t\t\tfeatures={features}\r\n\t\t\tbindings={bindings}\r\n\t\t/>\r\n\t</>\r\n);\r\n\r\nSimpleDeclarationsWrapper.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n};\r\n\r\nSimpleDeclarationsWrapper.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tchildren: PropTypes.element.isRequired,\r\n};\r\n\r\nexport default SimpleDeclarationsWrapper;\r\n","import React from 'react';\r\nimport { ListDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './checkbox.scss';\r\n\r\nconst CheckboxOne = (props) => {\r\n\tconst specificHandleChange = (e) => {\r\n\t\tconst {\r\n\t\t\tpreferences,\r\n\t\t\tresponse: { values },\r\n\t\t\thandleChange,\r\n\t\t} = props;\r\n\t\tconst [key, value] = Object.entries(e)[0];\r\n\t\tif (values[preferences[preferences.length - 1]] === value)\r\n\t\t\thandleChange({ [key]: null });\r\n\t\telse handleChange(e);\r\n\t};\r\n\treturn (\r\n\t\t<ListDeclarationsWrapper\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t{...props}\r\n\t\t\thandleChange={specificHandleChange}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default React.memo(CheckboxOne, areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './datepicker.scss';\r\n\r\nconst Datepicker = (props) => (\r\n\t<InputDeclarationsWrapper type=\"date\" roleType=\"datepicker\" {...props} />\r\n);\r\n\r\nexport default React.memo(Datepicker, areEqual);\r\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const SHOW_PANEL = \"dropdown/show-panel\";\r\nexport const showPanel = () => ({ type: SHOW_PANEL });\r\n\r\nexport const HIDE_PANEL = \"dropdown/hide-panel\";\r\nexport const hidePanel = () => ({ type: HIDE_PANEL });\r\n\r\nexport const SET_ACTIVE_OPTION = \"dropdown/set-active-option\";\r\nexport const setActiveOption = index => ({\r\n type: SET_ACTIVE_OPTION,\r\n payload: { index }\r\n});\r\n\r\nexport const SET_OPTIONS = \"dropdown/set-options\";\r\nexport const setOptions = options => ({\r\n type: SET_OPTIONS,\r\n payload: { options }\r\n});\r\n\r\nexport const SET_VALUE = \"dropdown/set-value\";\r\nexport const setValue = value => ({ type: SET_VALUE, payload: { value } });\r\n\r\nexport const SET_FOCUSED = \"dropdown/set-focused\";\r\nexport const setFocused = focused => ({\r\n type: SET_FOCUSED,\r\n payload: { focused }\r\n});\r\n\r\nexport const SET_SELECTED_OPTION = \"dropdown/set-selectted-option\";\r\nexport const setSelectedOption = option => ({\r\n type: SET_SELECTED_OPTION,\r\n payload: { option }\r\n});\r\n\r\nexport const RESET_SELECTION = \"dropdown/reset-selection\";\r\nexport const resetSelection = option => ({\r\n type: RESET_SELECTION\r\n});\r\n\r\n/* */\r\nexport const ARROW_UP_PRESSED = \"dropdown/arrow-up-ressed\";\r\nexport const arrowUpPressed = () => ({ type: ARROW_UP_PRESSED });\r\n\r\n/* */\r\nexport const ARROW_DOWN_PRESSED = \"dropdown/arrow-down-pressed\";\r\nexport const arrowDownPressed = () => ({ type: ARROW_DOWN_PRESSED });\r\n\r\n/* */\r\nexport const ENTER_PRESSED = \"dropdown/enter-pressed\";\r\nexport const enterPressed = callback => ({\r\n type: ENTER_PRESSED,\r\n payload: { callback }\r\n});\r\n\r\n/* */\r\nexport const SET_PREFIX = \"dropdown/set-prefix\";\r\nexport const setPrefix = prefix => ({ type: SET_PREFIX, payload: { prefix } });\r\n","import React, { useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n/**\r\n *\r\n */\r\nfunction Panel({\r\n\toptions = [],\r\n\tdisplay,\r\n\thandleActive,\r\n\tprefix,\r\n\tactiveIndex,\r\n\tselectedOption,\r\n\tonSelect,\r\n\tidDropdown,\r\n\toptionComponent: Option,\r\n}) {\r\n\tconst ulRef = useRef();\r\n\r\n\treturn display ? (\r\n\t\t<div className=\"lunatic-dropdown-panel-container\">\r\n\t\t\t<ul className=\"lunatic-dropdown-panel\" ref={ulRef} tabIndex=\"-1\">\r\n\t\t\t\t{options.map(({ label, value }, index) => (\r\n\t\t\t\t\t<li\r\n\t\t\t\t\t\tkey={value}\r\n\t\t\t\t\t\tid={`${idDropdown}-option-${value}`}\r\n\t\t\t\t\t\tonMouseEnter={() => handleActive(index)}\r\n\t\t\t\t\t\tonMouseDown={(e) => {\r\n\t\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\tif (e.button === 0) {\r\n\t\t\t\t\t\t\t\tonSelect({ label, value });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Option\r\n\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tprefix={prefix}\r\n\t\t\t\t\t\t\tactive={activeIndex === index}\r\n\t\t\t\t\t\t\tselected={selectedOption && selectedOption.value === value}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t))}\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t) : null;\r\n}\r\n\r\nconst propTypesOption = PropTypes.shape({\r\n\tlabel: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.object,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.symbol,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n});\r\n\r\nPanel.propTypes = {\r\n\tidDropdown: PropTypes.string.isRequired,\r\n\tprefix: PropTypes.string,\r\n\tonSelect: PropTypes.func,\r\n\thandleActive: PropTypes.func.isRequired,\r\n\tactiveIndex: PropTypes.number,\r\n\tselectedOption: propTypesOption,\r\n\tdisplay: PropTypes.bool.isRequired,\r\n\toptions: PropTypes.arrayOf(propTypesOption),\r\n};\r\n\r\nPanel.defaultProps = {\r\n\toptions: [],\r\n\tonSelect: () => null,\r\n\tselectedOption: undefined,\r\n};\r\n\r\nexport default Panel;\r\n","import React from \"react\";\r\n\r\nfunction Icon({ height = 20, width = 20, color = \"#aaa\" }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 292.362 292.362\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","import React from \"react\";\r\n\r\nfunction Icon({ height = 20, width = 20, color = \"#aaa\" }) {\r\n return (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 292.362 292.362\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 292.362 292.362\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M286.935 197.286L159.028 69.379c-3.613-3.617-7.895-5.424-12.847-5.424s-9.233 1.807-12.85 5.424L5.424 197.286C1.807 200.9 0 205.184 0 210.132s1.807 9.233 5.424 12.847c3.621 3.617 7.902 5.428 12.85 5.428h255.813c4.949 0 9.233-1.811 12.848-5.428 3.613-3.613 5.427-7.898 5.427-12.847s-1.814-9.232-5.427-12.846z\"\r\n ></path>\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Label = ({ content, focused, mandatory }) => (\r\n\t<div className={classnames('lunatic-dropdown-label', { focused, mandatory })}>\r\n\t\t{content}\r\n\t</div>\r\n);\r\n\r\nLabel.defaultProps = {\r\n\tmandatory: false,\r\n};\r\n\r\nLabel.propTypes = {\r\n\tcontent: PropTypes.string.isRequired,\r\n\tfocused: PropTypes.bool.isRequired,\r\n\tmandatory: PropTypes.bool,\r\n};\r\n\r\nexport default Label;\r\n","let CLEANER_CALLBACKS = {};\r\n\r\n/**\r\n *\r\n * @param {string} id identifiant de dropdown\r\n * @param {function} hook fonction de rappelle à invoquer\r\n */\r\nexport const setCallback = (id, hook) => {\r\n CLEANER_CALLBACKS[id] = hook;\r\n};\r\n\r\n/**\r\n *\r\n * @param {...any} execpt identifiants de dropdownn a ne pas appliquer\r\n */\r\nexport const applyAll = (...execpt) => {\r\n Object.entries(CLEANER_CALLBACKS).forEach(([k, todo]) => {\r\n if (execpt.indexOf(k) === -1) {\r\n apply(k);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * Applique une fonction pour l'identifiant transmis\r\n * @param {string} id\r\n */\r\nexport const apply = id => {\r\n if (id in CLEANER_CALLBACKS && typeof CLEANER_CALLBACKS[id] === \"function\") {\r\n CLEANER_CALLBACKS[id]();\r\n }\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} id\r\n * @param {function} callback\r\n */\r\nexport const add = (id, callback) => {\r\n if (typeof callback === \"function\") {\r\n CLEANER_CALLBACKS[id] = callback;\r\n }\r\n};\r\n\r\n/**\r\n *\r\n */\r\nexport const clearAll = () => {\r\n CLEANER_CALLBACKS = [];\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} id\r\n */\r\nexport const clear = id => {\r\n delete CLEANER_CALLBACKS[id];\r\n};\r\n","import * as actions from \"../actions\";\r\n\r\nexport const BINDED_KEYS = {\r\n arrowUp: \"ArrowUp\",\r\n arrowDown: \"ArrowDown\",\r\n enter: \"Enter\",\r\n tab: \"Tab\"\r\n};\r\n\r\n/** */\r\nexport default (_, dispatch, onSelect) => key => {\r\n switch (key) {\r\n case BINDED_KEYS.arrowUp:\r\n dispatch(actions.arrowUpPressed());\r\n // dispatch(actions.showPanel());\r\n break;\r\n case BINDED_KEYS.arrowDown:\r\n dispatch(actions.arrowDownPressed());\r\n dispatch(actions.showPanel());\r\n break;\r\n case BINDED_KEYS.enter:\r\n dispatch(actions.enterPressed(onSelect));\r\n break;\r\n case BINDED_KEYS.tab:\r\n dispatch(actions.setFocused(false));\r\n dispatch(actions.hidePanel());\r\n break;\r\n default:\r\n }\r\n};\r\n","import * as CLEAN from '../cleaner-callbacks';\r\nimport * as actions from '../actions';\r\n\r\n/** */\r\nexport default ({ visible, id, disabled }, dispatch) => e => {\r\n\te.stopPropagation();\r\n\tif (!visible && !disabled) {\r\n\t\tCLEAN.applyAll(id);\r\n\t\tdispatch(actions.showPanel());\r\n\t}\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classnames from 'classnames';\r\nimport Label from './label';\r\nimport { TooltipResponse } from '../../../tooltip';\r\nimport * as U from '../../../../utils/lib';\r\nimport * as CLEAN from '../cleaner-callbacks';\r\nimport * as actions from '../actions';\r\nimport {\r\n\tonKeyDownCallback,\r\n\tonMouseDownCallback,\r\n\tBINDED_KEYS,\r\n} from '../event-callbacks';\r\n\r\n/** */\r\nconst stopAndPrevent = (e) => {\r\n\te.preventDefault();\r\n\te.stopPropagation();\r\n};\r\n\r\n/** */\r\nconst onKeyDownCallback_ = (state, dispatch, onSelect) => (e) => {\r\n\tswitch (e.key) {\r\n\t\tcase BINDED_KEYS.enter:\r\n\t\tcase BINDED_KEYS.arrowUp:\r\n\t\tcase BINDED_KEYS.arrowDown:\r\n\t\t\tstopAndPrevent(e);\r\n\t\t\tonKeyDownCallback(state, dispatch, onSelect)(e.key);\r\n\t\t\tbreak;\r\n\t\tcase BINDED_KEYS.tab:\r\n\t\t\tonKeyDownCallback(state, dispatch, onSelect)(e.key);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t}\r\n};\r\n\r\nconst getZIndex = (z) => z || 0;\r\n\r\nconst DropdownContainer = ({\r\n\toptions,\r\n\tchildren,\r\n\tonSelect,\r\n\tresponse,\r\n\tclassName,\r\n\tlabel,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tvalue: valueFromProps,\r\n\tzIndex,\r\n\tmanagement,\r\n\tstate,\r\n\tdispatch,\r\n\trefs,\r\n}) => {\r\n\tconst { visible, focused, id, disabled } = state;\r\n\r\n\tCLEAN.add(id, () => {\r\n\t\tdispatch(actions.hidePanel());\r\n\t\tdispatch(actions.setFocused(false));\r\n\t});\r\n\tuseEffect(() => {\r\n\t\tconst hook = () => {\r\n\t\t\tdispatch(actions.hidePanel());\r\n\t\t\tdispatch(actions.setFocused(false));\r\n\t\t};\r\n\t\twindow.addEventListener('mousedown', hook);\r\n\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('mousedown', hook);\r\n\t\t\tCLEAN.clear(id);\r\n\t\t};\r\n\t}, [id, dispatch]);\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(actions.setOptions(options));\r\n\t}, [options, dispatch]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (valueFromProps) {\r\n\t\t\tconst { option, index } = options.reduce(\r\n\t\t\t\t(a, o, i) =>\r\n\t\t\t\t\to.value === valueFromProps && a.index === -1\r\n\t\t\t\t\t\t? { index: i, option: o }\r\n\t\t\t\t\t\t: a,\r\n\t\t\t\t{ index: -1, option: {} }\r\n\t\t\t);\r\n\t\t\tdispatch(actions.setSelectedOption(option));\r\n\t\t\tdispatch(actions.setActiveOption(index));\r\n\t\t}\r\n\t}, [valueFromProps, options, dispatch]);\r\n\r\n\tconst z = getZIndex(zIndex);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classnames(\r\n\t\t\t\t`${className} ${U.getLabelPositionClass(labelPosition)}`,\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused,\r\n\t\t\t\t\tdisabled,\r\n\t\t\t\t}\r\n\t\t\t)}\r\n\t\t\ttabIndex=\"-1\"\r\n\t\t\tid={id}\r\n\t\t\tonMouseDown={onMouseDownCallback(state, dispatch, 'id')}\r\n\t\t\tonKeyDown={onKeyDownCallback_(state, dispatch, onSelect)}\r\n\t\t\tonFocus={() => dispatch(actions.setFocused(true && !disabled))}\r\n\t\t\tonBlur={function () {\r\n\t\t\t\tdispatch(actions.setFocused(false));\r\n\t\t\t}}\r\n\t\t\tref={refs}\r\n\t\t>\r\n\t\t\t{label ? (\r\n\t\t\t\t<Label content={label} focused={focused} mandatory={mandatory} />\r\n\t\t\t) : null}\r\n\t\t\t<div className=\"field-container\">\r\n\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\t\t\tstyle={{ zIndex: focused ? z + 1 : z }}\r\n\t\t\t\t\t\tclassName=\"lunatic-dropdown-container\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclassName={classnames(`lunatic-dropdown-content`, {\r\n\t\t\t\t\t\t\t\tfocused,\r\n\t\t\t\t\t\t\t\tvisible,\r\n\t\t\t\t\t\t\t\tdisabled,\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{children}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t{management && (\r\n\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t<TooltipResponse\r\n\t\t\t\t\t\t\tid={id}\r\n\t\t\t\t\t\t\tresponse={U.buildMultiTooltipResponse(options)(response)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nDropdownContainer.propTypes = {\r\n\tzIndex: PropTypes.number,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.object,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdownContainer.defaultProps = {\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n};\r\n\r\nexport default React.forwardRef((props, ref) => (\r\n\t<DropdownContainer {...props} refs={ref} />\r\n));\r\n","/** */\r\nexport const scrollTo = id => {\r\n const li = document.getElementById(id);\r\n if (li) {\r\n const parent = li.parentNode;\r\n const pr = parent.getBoundingClientRect();\r\n const lr = li.getBoundingClientRect();\r\n const top = lr.top - pr.top + parent.scrollTop;\r\n const bottom = lr.bottom - pr.top + parent.scrollTop;\r\n\r\n if (bottom > parent.scrollTop + pr.height) {\r\n parent.scrollTo(0, bottom - pr.height);\r\n } else if (top < parent.scrollTop) {\r\n parent.scrollTo(0, top);\r\n }\r\n }\r\n};\r\n","import removeAccents from 'remove-accents';\r\n\r\nexport const preparePrefix = (prefix) =>\r\n\ttypeof prefix === 'string'\r\n\t\t? removeAccents(prefix.toLowerCase()).replace(/[- ']/g, '')\r\n\t\t: prefix;\r\n\r\nexport const lettersMatching = (label, prefix = '') => {\r\n\tconst pref = prefix.split('');\r\n\tlet pos = -1;\r\n\tconst clean = preparePrefix(label);\r\n\treturn clean.split('').reduce((a, c, idx) => {\r\n\t\tif (pos < pref.length && pref[pos + 1] === c) {\r\n\t\t\tpos++;\r\n\t\t\treturn [...a, c];\r\n\t\t}\r\n\t\treturn a;\r\n\t}, []);\r\n};\r\n\r\nexport const match = (label, prefix) => {\r\n\tconst pref = prefix.split('');\r\n\tlet pos = -1;\r\n\tconst clean = preparePrefix(label);\r\n\treturn (\r\n\t\tclean.split('').reduce((a, c, idx) => {\r\n\t\t\tif (pos < pref.length && pref[pos + 1] === c) {\r\n\t\t\t\tpos++;\r\n\t\t\t\treturn a + 1;\r\n\t\t\t}\r\n\t\t\treturn a / (idx * 0.0001 + 1);\r\n\t\t}, 0) / prefix.length\r\n\t);\r\n};\r\n\r\n/** */\r\nexport const filterOption = (options, prefix) => {\r\n\tif (!prefix || prefix.length === 0) {\r\n\t\treturn options;\r\n\t}\r\n\r\n\treturn options\r\n\t\t.reduce((acc, o) => {\r\n\t\t\tconst { label, search } = o;\r\n\t\t\tconst how = match(search || label, prefix);\r\n\t\t\treturn how >= 0.6\r\n\t\t\t\t? [{ o, how }, ...acc].sort((a, b) => a.how <= b.how)\r\n\t\t\t\t: acc;\r\n\t\t}, [])\r\n\t\t.map(({ o }) => o);\r\n};\r\n","import * as actions from './actions';\r\nimport { scrollTo } from './tools';\r\nimport { filterOption } from '../dropdown-edit/prefix-tools';\r\nimport { preparePrefix } from '../dropdown-edit/prefix-tools';\r\n\r\nexport const initial = {\r\n\tprefix: undefined,\r\n\toptions: [],\r\n\tvisibleOptions: [],\r\n\tvisible: false,\r\n\tactiveIndex: undefined,\r\n\tselectedOption: undefined,\r\n\tfocused: false,\r\n\tvalue: '',\r\n};\r\n\r\n/** */\r\nconst isPrefix = (prefix) => prefix !== undefined && prefix.length > 0;\r\n\r\n/** */\r\nconst reduceArrowDownPressed = (state) => {\r\n\tconst { visibleOptions, activeIndex } = state;\r\n\tconst next = visibleOptions.length\r\n\t\t? Math.min(\r\n\t\t\t\tvisibleOptions.length - 1,\r\n\t\t\t\tactiveIndex === undefined ? 0 : activeIndex + 1\r\n\t\t )\r\n\t\t: undefined;\r\n\tif (next !== undefined) {\r\n\t\tscrollTo(`${state.id}-option-${visibleOptions[next].value}`);\r\n\t}\r\n\treturn { ...state, activeIndex: next };\r\n};\r\n\r\n/** */\r\nconst reduceArrowUpPressed = (state) => {\r\n\tconst { visibleOptions, activeIndex } = state;\r\n\tconst next = visibleOptions.length\r\n\t\t? Math.max(0, activeIndex === undefined ? 0 : activeIndex - 1)\r\n\t\t: undefined;\r\n\r\n\tif (next !== undefined) {\r\n\t\tscrollTo(`${state.id}-option-${visibleOptions[next].value}`);\r\n\t}\r\n\treturn { ...state, activeIndex: next };\r\n};\r\n\r\n/** */\r\nconst reduceEnterPressed = (state, callback) => {\r\n\tconst { activeIndex, visibleOptions, visible } = state;\r\n\tif (!visible) {\r\n\t\treturn { ...state, visible: true };\r\n\t}\r\n\tif (activeIndex !== undefined) {\r\n\t\tconst option = visibleOptions[activeIndex];\r\n\t\tcallback(option);\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tselectedOption: option,\r\n\t\t\tvalue: option.label,\r\n\t\t\tprefix: preparePrefix(option.label),\r\n\t\t\tvisible: false,\r\n\t\t};\r\n\t}\r\n\treturn state;\r\n};\r\n\r\n/** */\r\nconst reducer = (state, action) => {\r\n\tconst { type, payload } = action;\r\n\tswitch (type) {\r\n\t\tcase actions.SHOW_PANEL: {\r\n\t\t\treturn { ...state, visible: true };\r\n\t\t}\r\n\t\tcase actions.HIDE_PANEL: {\r\n\t\t\treturn { ...state, visible: false };\r\n\t\t}\r\n\t\tcase actions.SET_ACTIVE_OPTION: {\r\n\t\t\tconst { index } = payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tactiveIndex: index,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_OPTIONS: {\r\n\t\t\tconst { options } = payload;\r\n\t\t\tconst { prefix } = state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\toptions,\r\n\t\t\t\tvisibleOptions: isPrefix(prefix) ? filterOption(options) : options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_PREFIX: {\r\n\t\t\tconst { prefix } = payload;\r\n\t\t\tconst { options } = state;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tprefix,\r\n\t\t\t\tactiveIndex: undefined,\r\n\t\t\t\tvisibleOptions: isPrefix(prefix)\r\n\t\t\t\t\t? filterOption(options, prefix)\r\n\t\t\t\t\t: options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_VALUE: {\r\n\t\t\tconst { value } = payload;\r\n\t\t\treturn { ...state, value };\r\n\t\t}\r\n\t\tcase actions.SET_SELECTED_OPTION: {\r\n\t\t\tconst { option } = payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tvalue: option.label,\r\n\t\t\t\tselectedOption: option,\r\n\t\t\t\tprefix: preparePrefix(option.label),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.SET_FOCUSED: {\r\n\t\t\tconst { focused } = payload;\r\n\t\t\treturn { ...state, focused };\r\n\t\t}\r\n\t\tcase actions.RESET_SELECTION: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tprefix: undefined,\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tselectedOption: undefined,\r\n\t\t\t\tactiveIndex: undefined,\r\n\t\t\t\tactiveOption: undefined,\r\n\t\t\t\tvisibleOptions: state.options,\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase actions.ARROW_UP_PRESSED: {\r\n\t\t\treturn reduceArrowUpPressed(state);\r\n\t\t}\r\n\t\tcase actions.ARROW_DOWN_PRESSED: {\r\n\t\t\treturn reduceArrowDownPressed(state);\r\n\t\t}\r\n\t\tcase actions.ENTER_PRESSED: {\r\n\t\t\tconst { callback } = payload;\r\n\t\t\treturn reduceEnterPressed(state, callback);\r\n\t\t}\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n};\r\n\r\nexport default reducer;\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\n\r\nexport default ({ label, active, selected }) => {\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={classnames('lunatic-dropdown-option', {\r\n\t\t\t\t'lunatic-dropdown-option-active': active,\r\n\t\t\t\t'lunatic-dropdown-option-selected': selected,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{label}\r\n\t\t</span>\r\n\t);\r\n};\r\n","import React, { useReducer, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport * as actions from '../commons/actions';\r\nimport Panel from '../commons/components/panel';\r\nimport ClosedIcon from '../commons/components/closed.icon';\r\nimport OpenedIcon from '../commons/components/opened.icon';\r\nimport DropdownContainer from '../commons/components/dropdown-container';\r\nimport reducer, { initial } from '../commons/reducer';\r\nimport Option from './option';\r\n\r\nconst Dropdown = ({\r\n\twidthAuto,\r\n\tid: initId,\r\n\tlabel,\r\n\tvalue,\r\n\toptions,\r\n\tresponse,\r\n\tonSelect,\r\n\tplaceholder,\r\n\tdisabled,\r\n\tfocused: initFocused,\r\n\tmandatory,\r\n\tlabelPosition,\r\n\tmanagement,\r\n\tclassName,\r\n\tzIndex,\r\n}) => {\r\n\tconst containerEl = useRef();\r\n\tconst [state, dispatch] = useReducer(reducer, {\r\n\t\t...initial,\r\n\t\tid: `dropdown-${initId}-${new Date().getMilliseconds()}`,\r\n\t\tdisabled,\r\n\t\tfocused: initFocused,\r\n\t});\r\n\tconst { focused, visible, activeIndex, id } = state;\r\n\tconst onSelect_ = createOnSelect(state, dispatch, onSelect);\r\n\tconst selectedOption = options.find((o) => o.value === value);\r\n\treturn (\r\n\t\t<DropdownContainer\r\n\t\t\tclassName={className || 'lunatic-dropdown'}\r\n\t\t\tref={containerEl}\r\n\t\t\tstate={state}\r\n\t\t\tdispatch={dispatch}\r\n\t\t\toptions={options}\r\n\t\t\tresponse={response}\r\n\t\t\tmanagement={management}\r\n\t\t\tlabel={label}\r\n\t\t\tlabelPosition={labelPosition}\r\n\t\t\tmandatory={mandatory}\r\n\t\t\tonSelect={onSelect_}\r\n\t\t\tvalue={value}\r\n\t\t\tzIndex={zIndex}\r\n\t\t>\r\n\t\t\t<span className={classnames('lunatic-dropdown-input', { focused })}>\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tvalue={selectedOption ? selectedOption.label : placeholder || ''}\r\n\t\t\t\t/>\r\n\t\t\t</span>\r\n\t\t\t{getIcon(state, dispatch)(visible, containerEl)}\r\n\t\t\t<div\r\n\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\tclassName={classnames('lunatic-transition', {\r\n\t\t\t\t\tvisible: isDisplay(state),\r\n\t\t\t\t\t'width-auto': widthAuto,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t<Panel\r\n\t\t\t\t\tidDropdown={id}\r\n\t\t\t\t\toptions={options}\r\n\t\t\t\t\tdisplay={isDisplay(state)}\r\n\t\t\t\t\tactiveIndex={activeIndex}\r\n\t\t\t\t\toptionComponent={Option}\r\n\t\t\t\t\tselectedOption={selectedOption}\r\n\t\t\t\t\tonSelect={onSelect_}\r\n\t\t\t\t\thandleActive={(index) => dispatch(actions.setActiveOption(index))}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</DropdownContainer>\r\n\t);\r\n};\r\n\r\nDropdown.propTypes = {\r\n\twidthAuto: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tzIndex: PropTypes.number,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tplaceholder: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n\tplaceholder: 'Search...',\r\n\twidthAuto: false,\r\n};\r\n\r\nexport default Dropdown;\r\n\r\n/* **/\r\nconst isDisplay = ({ visible, options }) => visible && options.length > 0;\r\n\r\n/** */\r\nconst getIcon = ({ disabled }, dispatch) => (visible, containerEl) => {\r\n\tif (disabled) {\r\n\t\treturn (\r\n\t\t\t<span className=\"lunatic-icone\">\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName=\"lunatic-icone\"\r\n\t\t\ttabIndex=\"-1\"\r\n\t\t\tonMouseDown={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif (visible) {\r\n\t\t\t\t\tdispatch(actions.hidePanel());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch(actions.showPanel());\r\n\t\t\t\t\tcontainerEl.current.focus();\r\n\t\t\t\t}\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{visible ? (\r\n\t\t\t\t<OpenedIcon width={10} height={10} />\r\n\t\t\t) : (\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t)}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nconst createOnSelect = (_, dispatch, onSelect) => (option) => {\r\n\tdispatch(actions.setSelectedOption(option));\r\n\tdispatch(actions.hidePanel());\r\n\tonSelect(option);\r\n};\r\n","import React from 'react';\r\nimport Dropdown from './dropdown';\r\n\r\nconst childrenToOption = (children = []) =>\r\n\t(Array.isArray(children) ? children : [children]).map(child => {\r\n\t\tconst { value } = child.props;\r\n\t\tconst label = child.props.children;\r\n\t\tif (label === undefined || value === undefined) {\r\n\t\t\tthrow new Error('Ooops');\r\n\t\t}\r\n\t\treturn { label, value };\r\n\t});\r\n\r\nconst createDropdown = Component => ({ children, options, ...props }) => {\r\n\tconst o = options || childrenToOption(children);\r\n\treturn <Component options={o} {...props} />;\r\n};\r\n\r\nexport default createDropdown(Dropdown);\r\nexport { default as Option } from './option';\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport { lettersMatching, preparePrefix } from './prefix-tools';\r\n\r\nexport default ({ label, active, prefix, selected }) => {\r\n\tconst initLetters = lettersMatching(label, prefix);\r\n\tconst what = label\r\n\t\t.split('')\r\n\t\t.reduce(\r\n\t\t\t({ letters, stack }, c) => {\r\n\t\t\t\tconst m = preparePrefix(c);\r\n\t\t\t\tconst [first, ...rest] = letters;\r\n\t\t\t\tif (m === first) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tletters: rest,\r\n\t\t\t\t\t\tstack: [...stack, { char: c, className: 'lunatic-prefix' }],\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tletters,\r\n\t\t\t\t\tstack: [...stack, { char: c, className: 'lunatic-normal' }],\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t{ letters: initLetters, stack: [] }\r\n\t\t)\r\n\t\t.stack.reduce(\r\n\t\t\t({ last, stack }, { char, className }) => {\r\n\t\t\t\tif (!last) {\r\n\t\t\t\t\treturn { last: className, stack: [{ part: char, className }] };\r\n\t\t\t\t}\r\n\t\t\t\tif (last !== className) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tlast: className,\r\n\t\t\t\t\t\tstack: [{ part: char, className }, ...stack],\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tconst [first, ...rest] = stack;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tlast: className,\r\n\t\t\t\t\tstack: [{ ...first, part: `${first.part}${char}` }, ...rest],\r\n\t\t\t\t};\r\n\t\t\t},\r\n\t\t\t{ last: undefined, stack: [] }\r\n\t\t)\r\n\t\t.stack.reverse()\r\n\t\t.map(({ part, className }, i) => (\r\n\t\t\t<span className={className} key={i}>\r\n\t\t\t\t{part}\r\n\t\t\t</span>\r\n\t\t));\r\n\treturn (\r\n\t\t<span\r\n\t\t\tclassName={classnames('lunatic-dropdown-option', {\r\n\t\t\t\t'lunatic-dropdown-option-active': active,\r\n\t\t\t\t'lunatic-dropdown-option-selected': selected,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t{what}\r\n\t\t</span>\r\n\t);\r\n};\r\n","import React from \"react\";\r\n\r\nexport default ({ width = 20, height = 20, color = \"#aaa\" }) => (\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={width}\r\n height={height}\r\n x=\"0\"\r\n y=\"0\"\r\n enableBackground=\"new 0 0 612 612\"\r\n version=\"1.1\"\r\n viewBox=\"0 0 612 612\"\r\n xmlSpace=\"preserve\"\r\n >\r\n <path\r\n fill={color}\r\n d=\"M444.644 306l138.644-138.644c38.284-38.284 38.284-100.36 0-138.644-38.283-38.284-100.359-38.284-138.644 0L306 167.356 167.356 28.713c-38.284-38.284-100.36-38.284-138.644 0s-38.284 100.36 0 138.644L167.356 306 28.713 444.644c-38.284 38.283-38.284 100.36 0 138.644 38.284 38.284 100.36 38.284 138.644 0L306 444.644l138.644 138.644c38.283 38.284 100.36 38.284 138.644 0 38.284-38.283 38.284-100.36 0-138.644L444.644 306z\"\r\n ></path>\r\n </svg>\r\n);\r\n","import React from 'react';\r\nimport OpenedIcon from '../commons/components/opened.icon';\r\nimport CrossIcon from './cross.icon';\r\nimport ClosedIcon from '../commons/components/closed.icon';\r\n\r\n/** */\r\nconst getIcon = visible =>\r\n\tvisible ? (\r\n\t\t<OpenedIcon width={10} height={10} />\r\n\t) : (\r\n\t\t<ClosedIcon width={10} height={10} />\r\n\t);\r\n\r\nconst Icone = ({ prefix, visible, disabled, onDelete, onSwitch }) => {\r\n\tif (disabled) {\r\n\t\treturn (\r\n\t\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onSwitch}>\r\n\t\t\t\t<ClosedIcon width={10} height={10} />\r\n\t\t\t</span>\r\n\t\t);\r\n\t}\r\n\treturn prefix && prefix.length > 0 ? (\r\n\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onDelete}>\r\n\t\t\t<CrossIcon width={10} height={10} />\r\n\t\t</span>\r\n\t) : (\r\n\t\t<span className=\"lunatic-icone\" tabIndex=\"-1\" onMouseDown={onSwitch}>\r\n\t\t\t{getIcon(visible)}\r\n\t\t</span>\r\n\t);\r\n};\r\n\r\nexport default Icone;\r\n","import React, { useReducer, useRef } from 'react';\r\nimport classnames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport * as actions from '../commons/actions';\r\nimport Panel from '../commons/components/panel';\r\nimport DropdownContainer from '../commons/components/dropdown-container';\r\nimport { preparePrefix } from './prefix-tools';\r\nimport reducer, { initial } from '../commons/reducer';\r\nimport Option from './option';\r\nimport Icone from './icone';\r\n\r\n/* **/\r\nconst isDisplay = ({ visible, visibleOptions }) =>\r\n\tvisible && visibleOptions.length > 0;\r\n\r\n/** */\r\nconst onChangeCallback = (state, dispatch) => (e) => {\r\n\te.stopPropagation();\r\n\te.preventDefault();\r\n\tdispatch(actions.setValue(e.target.value));\r\n\tdispatch(actions.setPrefix(preparePrefix(e.target.value)));\r\n};\r\n\r\n/** */\r\nconst createOnSelect = (_, dispatch, onSelect) => (option) => {\r\n\tdispatch(actions.setSelectedOption(option));\r\n\tdispatch(actions.hidePanel());\r\n\tonSelect(option);\r\n};\r\n\r\n/**\r\n *\r\n * @param {props}\r\n */\r\nfunction Dropdown({\r\n\twidthAuto,\r\n\toptions = [],\r\n\tonSelect,\r\n\tresponse,\r\n\tclassName,\r\n\tplaceholder,\r\n\tlabel,\r\n\tlabelPosition,\r\n\tmandatory,\r\n\tvalue: valueFromProps,\r\n\tzIndex,\r\n\tmanagement,\r\n\tdisabled,\r\n\tfocused: initFocused,\r\n}) {\r\n\tconst [state, dispatch] = useReducer(reducer, {\r\n\t\t...initial,\r\n\t\tid: `dropdown-${new Date().getMilliseconds()}`,\r\n\t\tdisabled,\r\n\t\tfocused: initFocused,\r\n\t});\r\n\tconst {\r\n\t\tprefix,\r\n\t\tvisible,\r\n\t\tactiveIndex,\r\n\t\tvisibleOptions,\r\n\t\tvalue,\r\n\t\tfocused,\r\n\t\tid,\r\n\t} = state;\r\n\tconst inputEl = useRef();\r\n\tconst containerEl = useRef();\r\n\tconst onSelect_ = createOnSelect(state, dispatch, onSelect);\r\n\tconst selectedOption = options.find((o) => o.value === value);\r\n\treturn (\r\n\t\t<DropdownContainer\r\n\t\t\tclassName={className || 'lunatic-dropdown'}\r\n\t\t\tstate={state}\r\n\t\t\tref={containerEl}\r\n\t\t\tdispatch={dispatch}\r\n\t\t\toptions={options}\r\n\t\t\tlabel={label}\r\n\t\t\tlabelPosition={labelPosition}\r\n\t\t\tmandatory={mandatory}\r\n\t\t\tresponse={response}\r\n\t\t\tonSelect={onSelect_}\r\n\t\t\tvalue={valueFromProps}\r\n\t\t\tzIndex={zIndex}\r\n\t\t\tmanagement={management}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classnames('lunatic-dropdown-input', { focused, disabled })}\r\n\t\t\t>\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\tref={inputEl}\r\n\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\tautoComplete=\"list\"\r\n\t\t\t\t\tautoCorrect=\"off\"\r\n\t\t\t\t\tautoCapitalize=\"off\"\r\n\t\t\t\t\tspellCheck=\"false\"\r\n\t\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\t\tonChange={onChangeCallback(state, dispatch)}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Icone\r\n\t\t\t\tprefix={prefix}\r\n\t\t\t\tvisible={visible}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonDelete={(e) => {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tinputEl.current.value = '';\r\n\t\t\t\t\tdispatch(actions.resetSelection());\r\n\t\t\t\t\tonSelect_({ value: null });\r\n\t\t\t\t}}\r\n\t\t\t\tonSwitch={(e) => {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif (visible) {\r\n\t\t\t\t\t\tdispatch(actions.hidePanel());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(actions.showPanel());\r\n\t\t\t\t\t\tcontainerEl.current.focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\ttabIndex=\"-1\"\r\n\t\t\t\tclassName={classnames('lunatic-transition', {\r\n\t\t\t\t\tvisible: isDisplay(state),\r\n\t\t\t\t\t'width-auto': widthAuto,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t<Panel\r\n\t\t\t\t\tidDropdown={id}\r\n\t\t\t\t\toptions={visibleOptions}\r\n\t\t\t\t\tdisplay={isDisplay(state) && !disabled}\r\n\t\t\t\t\tprefix={prefix}\r\n\t\t\t\t\tactiveIndex={activeIndex}\r\n\t\t\t\t\toptionComponent={Option}\r\n\t\t\t\t\tselectedOption={selectedOption}\r\n\t\t\t\t\tonSelect={onSelect_}\r\n\t\t\t\t\thandleActive={(index) => dispatch(actions.setActiveOption(index))}\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</DropdownContainer>\r\n\t);\r\n}\r\n\r\nDropdown.propTypes = {\r\n\twidthAuto: PropTypes.bool,\r\n\tzIndex: PropTypes.number,\r\n\tdisabled: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tclassName: PropTypes.string,\r\n\tid: PropTypes.string,\r\n\toptions: PropTypes.array.isRequired,\r\n\tonSelect: PropTypes.func,\r\n\tplaceholder: PropTypes.string,\r\n\tvalue: PropTypes.oneOfType([\r\n\t\tPropTypes.string,\r\n\t\tPropTypes.number,\r\n\t\tPropTypes.bool,\r\n\t]),\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\toptions: [],\r\n\tzIndex: 0,\r\n\tonSelect: () => null,\r\n\tplaceholder: 'Search...',\r\n\tdisabled: false,\r\n\tfocused: false,\r\n\twidthAuto: false,\r\n};\r\n\r\nexport default Dropdown;\r\n","export default (children = []) =>\r\n (Array.isArray(children) ? children : [children]).map(child => {\r\n const { value } = child.props;\r\n const label = child.props.children;\r\n if (label === undefined || value === undefined) {\r\n throw new Error(\"Ooops\");\r\n }\r\n return { label, value };\r\n });\r\n","import React from \"react\";\r\nimport DropdownEdit from \"./dropdown-edit\";\r\nimport childrenToOption from \"../commons/children-to-option\";\r\n\r\nconst createDropDown = Component => ({ children, options, ...props }) => {\r\n const o = options || childrenToOption(children);\r\n return <Component options={o} {...props} />;\r\n};\r\n\r\nexport default createDropDown(DropdownEdit);\r\nexport { default as Option } from \"./option\";\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport DropdownSimple from './dropdown-simple';\r\nimport DropdownEdit from './dropdown-edit';\r\nimport Declarations from '../declarations';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './dropdown.scss';\r\n\r\nconst Dropdown = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\thandleChange,\r\n\toptions,\r\n\twritable,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tfreezeOptions,\r\n\t...rest\r\n}) => {\r\n\tconst [opts, setOpts] = useState(options);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!freezeOptions) {\r\n\t\t\tconst featOptions = options.map(\r\n\t\t\t\t({ label: labelOption, ...restOpts }) => ({\r\n\t\t\t\t\tlabel: interpret(features)(bindings)(labelOption),\r\n\t\t\t\t\t...restOpts,\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t\tsetOpts(featOptions);\r\n\t\t}\r\n\t}, [freezeOptions, features, bindings, options]);\r\n\r\n\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\tconst value = U.getResponseByPreference(preferences)(response);\r\n\r\n\tconst onSelect = (e) =>\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: e.value,\r\n\t\t});\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{writable ? (\r\n\t\t\t\t<DropdownEdit\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tresponse={response}\r\n\t\t\t\t\tlabel={interpretedLabel}\r\n\t\t\t\t\toptions={opts}\r\n\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t\tmanagement={management}\r\n\t\t\t\t/>\r\n\t\t\t) : (\r\n\t\t\t\t<DropdownSimple\r\n\t\t\t\t\t{...rest}\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\tvalue={value}\r\n\t\t\t\t\tresponse={response}\r\n\t\t\t\t\tlabel={interpretedLabel}\r\n\t\t\t\t\toptions={opts}\r\n\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t\tmanagement={management}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nDropdown.propTypes = {\r\n\tdisabled: PropTypes.bool,\r\n\twritable: PropTypes.bool,\r\n\thandleChange: PropTypes.func,\r\n\tlabel: PropTypes.string,\r\n\tclassName: PropTypes.string,\r\n\tzIndex: PropTypes.number,\r\n\tfreezeOptions: PropTypes.bool,\r\n};\r\n\r\nDropdown.defaultProps = {\r\n\twritable: false,\r\n\thandleChange: () => null,\r\n\tlabel: undefined,\r\n\tclassName: undefined,\r\n\tzIndex: 0,\r\n\tdisabled: false,\r\n\tfreezeOptions: false,\r\n};\r\n\r\nexport default React.memo(Dropdown, U.areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './input.scss';\r\n\r\nconst Input = (props) => (\r\n\t<InputDeclarationsWrapper type=\"text\" roleType=\"input\" {...props} />\r\n);\r\n\r\nexport default React.memo(Input, areEqual);\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Declarations from '../declarations';\r\nimport { TooltipResponse } from '../tooltip';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './input.scss';\r\n\r\nconst InputNumber = ({\r\n\tid,\r\n\tlabel,\r\n\tpreferences,\r\n\tresponse,\r\n\tmin,\r\n\tmax,\r\n\tdecimals,\r\n\tplaceholder,\r\n\thandleChange,\r\n\treadOnly,\r\n\tdisabled,\r\n\tautoComplete,\r\n\tfocused,\r\n\tstyle,\r\n\tunit,\r\n\tlabelPosition,\r\n\tunitPosition,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tmanagement,\r\n\tmandatory,\r\n\tvalidators,\r\n}) => {\r\n\tconst inputRef = useRef();\r\n\r\n\tconst [value, setValue] = useState(() =>\r\n\t\tU.getResponseByPreference(preferences)(response)\r\n\t);\r\n\r\n\tconst [messagesError, setMessagesError] = useState(\r\n\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t.map((v) => v(value))\r\n\t\t\t.filter((m) => m !== undefined)\r\n\t);\r\n\r\n\t// Assume we only want to handle enable external updates\r\n\t// Don't need to check all value changes\r\n\tuseEffect(() => {\r\n\t\tif (U.getResponseByPreference(preferences)(response) !== value)\r\n\t\t\tsetValue(U.getResponseByPreference(preferences)(response));\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [response, preferences]);\r\n\r\n\tconst handleChangeOnBlur = () => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: value,\r\n\t\t});\r\n\t};\r\n\r\n\tconst validate = (v) => {\r\n\t\tsetMessagesError(\r\n\t\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t\t.map((f) => f(v))\r\n\t\t\t\t.filter((m) => m !== undefined)\r\n\t\t);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (focused) inputRef.current.focus();\r\n\t}, [focused]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetMessagesError(\r\n\t\t\t[minMaxValidator({ min, max }), ...validators]\r\n\t\t\t\t.map((v) => v(value))\r\n\t\t\t\t.filter((m) => m !== undefined)\r\n\t\t);\r\n\t}, [value, min, max, validators]);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<div className={U.getLabelPositionClass(labelPosition)}>\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`input-${id}`}\r\n\t\t\t\t\tid={`input-label-${id}`}\r\n\t\t\t\t\tclassName={`${mandatory ? 'mandatory' : ''}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(label)}{' '}\r\n\t\t\t\t\t<span className=\"unit\">\r\n\t\t\t\t\t\t{unit && ['DEFAULT', 'BEFORE'].includes(unitPosition)\r\n\t\t\t\t\t\t\t? `(${unit})`\r\n\t\t\t\t\t\t\t: ''}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</label>\r\n\t\t\t\t<Declarations\r\n\t\t\t\t\tid={id}\r\n\t\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\t\tdeclarations={declarations}\r\n\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t/>\r\n\t\t\t\t<div className=\"field-container\">\r\n\t\t\t\t\t<div className={`${management ? 'field-with-tooltip' : 'field'}`}>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\ttype=\"number\"\r\n\t\t\t\t\t\t\tid={`input-${id}`}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t\taria-labelledby={`input-label-${id}`}\r\n\t\t\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\t\t\tmin={min}\r\n\t\t\t\t\t\t\tmax={max}\r\n\t\t\t\t\t\t\tstep={decimals ? `${Math.pow(10, -decimals)}` : '0'}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tclassName={`input-lunatic ${\r\n\t\t\t\t\t\t\t\tmessagesError.length > 0 ? 'warning' : ''\r\n\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t\t\t\t\t\treadOnly={readOnly}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\tautoComplete={autoComplete ? 'on' : 'off'}\r\n\t\t\t\t\t\t\trequired={mandatory}\r\n\t\t\t\t\t\t\taria-required={mandatory}\r\n\t\t\t\t\t\t\tonChange={({ target: { value: v } }) => {\r\n\t\t\t\t\t\t\t\tvalidate(v);\r\n\t\t\t\t\t\t\t\tsetValue(v === '' ? null : v);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonBlur={handleChangeOnBlur}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{unitPosition === 'AFTER' && <span className=\"unit\">{unit}</span>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{management && (\r\n\t\t\t\t\t\t<div className=\"tooltip\">\r\n\t\t\t\t\t\t\t<TooltipResponse id={id} response={response} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className=\"lunatic-input-number-errors\">\r\n\t\t\t\t\t{messagesError.map((m, i) => (\r\n\t\t\t\t\t\t<div key={i} className=\"error\">\r\n\t\t\t\t\t\t\t{m}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={id}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nconst minMaxValidator = ({ min, max }) => (value) => {\r\n\tif (!value) {\r\n\t\treturn undefined;\r\n\t}\r\n\tconst valueNumber = Number(value);\r\n\tif (!min && isDef(max) && valueNumber > max)\r\n\t\treturn <span>{`La valeur doit être inférieure à ${max}`}</span>;\r\n\telse if (isDef(min) && !max && valueNumber < min)\r\n\t\treturn <span>{`La valeur doit être supérieure à ${min}`}</span>;\r\n\telse if (isDef(min) && isDef(max) && (valueNumber < min || valueNumber > max))\r\n\t\treturn <span>{`La valeur doit être comprise entre ${min} et ${max}`}</span>;\r\n\treturn undefined;\r\n};\r\n\r\nconst isDef = (number) => number || number === 0;\r\n\r\nInputNumber.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tresponse: {},\r\n\tmin: undefined,\r\n\tmax: undefined,\r\n\tdecimals: 0,\r\n\tplaceholder: '',\r\n\treadOnly: false,\r\n\tdisabled: false,\r\n\tautoComplete: false,\r\n\tfocused: false,\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tlabelPosition: 'DEFAULT',\r\n\tunitPosition: 'DEFAULT',\r\n\tmandatory: false,\r\n\tmanagement: false,\r\n\tstyle: {},\r\n\tvalidators: [],\r\n};\r\n\r\nInputNumber.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tresponse: U.responsePropTypes,\r\n\tmin: PropTypes.number,\r\n\tmax: PropTypes.number,\r\n\tdecimals: PropTypes.number,\r\n\tplaceholder: PropTypes.string,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\treadOnly: PropTypes.bool,\r\n\tdisabled: PropTypes.bool,\r\n\tautoComplete: PropTypes.bool,\r\n\tfocused: PropTypes.bool,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tlabelPosition: PropTypes.oneOf(['DEFAULT', 'TOP', 'BOTTOM', 'LEFT', 'RIGHT']),\r\n\tunitPosition: PropTypes.oneOf(['DEFAULT', 'BEFORE', 'AFTER']),\r\n\tmandatory: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n\tvalidators: PropTypes.arrayOf(PropTypes.func),\r\n};\r\n\r\nexport default React.memo(InputNumber, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport { buildStyleObject } from '../../utils/lib';\r\n\r\nconst FilterDescription = ({\r\n\tid,\r\n\tlabel,\r\n\tfilterDescription,\r\n\tfeatures,\r\n\tbindings,\r\n\tstyle,\r\n}) =>\r\n\tfilterDescription ? (\r\n\t\t<div\r\n\t\t\tid={`filter-description-${id}`}\r\n\t\t\taria-label={`filter-description`}\r\n\t\t\tclassName=\"filter-description-lunatic\"\r\n\t\t\tstyle={buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t) : null;\r\n\r\nFilterDescription.defaultProps = {\r\n\tfilterDescription: false,\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nFilterDescription.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tfilterDescription: PropTypes.bool,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default FilterDescription;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { buildStyleObject } from '../../utils/lib';\r\nimport './progress-bar.scss';\r\n\r\nconst ProgressBar = ({ id, value, style }) => {\r\n\tlet controledValue = value;\r\n\tif (value < 0) controledValue = 0;\r\n\tif (value > 100) controledValue = 100;\r\n\treturn (\r\n\t\t<div\r\n\t\t\tid={`progress-${id}`}\r\n\t\t\tclassName=\"progress-lunatic\"\r\n\t\t\tstyle={buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{`${controledValue.toFixed(0)} %`}\r\n\t\t\t<span style={{ width: `${controledValue}%` }} />\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nProgressBar.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tvalue: PropTypes.number.isRequired,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default ProgressBar;\r\n","import React from 'react';\r\nimport { ListDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './radio.scss';\r\n\r\nconst Radio = (props) => <ListDeclarationsWrapper type=\"radio\" {...props} />;\r\n\r\nexport default React.memo(Radio, areEqual);\r\n","export const buildLoopComponents = (iterations) => (components) => {\r\n\tconst toFlat = [...Array(iterations).keys()].map((rowNumber) =>\r\n\t\tbuildFlatten(rowNumber)(components).map((c) => ({ ...c, rowNumber }))\r\n\t);\r\n\treturn toFlat.flat();\r\n};\r\n\r\nconst buildFlatten = (i) => (parentComponents) =>\r\n\tparentComponents.map((component) => {\r\n\t\tconst { response, responses, components } = component;\r\n\t\tif (response) return buildFlattenResponse(i)(component);\r\n\t\telse if (responses)\r\n\t\t\treturn {\r\n\t\t\t\t...component,\r\n\t\t\t\tresponses: responses.map((r) => buildFlattenResponse(i)(r)),\r\n\t\t\t};\r\n\t\telse if (components)\r\n\t\t\treturn { ...component, components: buildFlatten(i)(components) };\r\n\t\telse return component;\r\n\t});\r\n\r\nconst buildFlattenResponse = (i) => (component) => {\r\n\tconst { response, ...other } = component;\r\n\tconst { name, values } = response;\r\n\tconst newValues = Object.entries(values).reduce(\r\n\t\t(acc, [key, value]) => ({ ...acc, [key]: value ? value[i] : null }),\r\n\t\t{}\r\n\t);\r\n\treturn {\r\n\t\t...other,\r\n\t\tresponse: { name, values: newValues },\r\n\t};\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport * as lunatic from '../components';\r\nimport { buildLoopComponents } from './build-components';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport * as U from '../../utils/lib';\r\nimport './loop.scss';\r\n\r\nconst Loop = ({\r\n\tid,\r\n\tlabel,\r\n\titerations,\r\n\tcomponents,\r\n\tbindings,\r\n\thandleChange,\r\n\tloopDependencies,\r\n\t...orchetratorProps\r\n}) => {\r\n\tconst [todo, setTodo] = useState({});\r\n\tconst vectorialBindings = U.buildVectorialBindings(bindings);\r\n\tconst { features } = orchetratorProps;\r\n\tconst iterationNb = interpret(features)(vectorialBindings)(iterations);\r\n\tconst involvedVariables = U.getInvolvedVariables(components);\r\n\r\n\t/**\r\n\t * Handle the increase in the number of iterations\r\n\t * Assume we only want to update if iterationNb changes\r\n\t */\r\n\tuseEffect(() => {\r\n\t\tconst toUpdate = involvedVariables.reduce((acc, { name: iv, depth }) => {\r\n\t\t\tif (bindings[iv] && iterationNb > bindings[iv].length)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[iv]: [\r\n\t\t\t\t\t\t...bindings[iv],\r\n\t\t\t\t\t\t...new Array(iterationNb - bindings[iv].length).fill(\r\n\t\t\t\t\t\t\tU.buildEmptyValue(depth)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t],\r\n\t\t\t\t};\r\n\t\t\treturn acc;\r\n\t\t}, {});\r\n\t\tif (Object.keys(toUpdate).length !== 0) handleChange(toUpdate);\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [iterationNb]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst { up, rowNumber } = todo;\r\n\t\t\tconst [key, value] = Object.entries(up)[0];\r\n\t\t\tconst previousValue = bindings[key];\r\n\t\t\tconst newValue = previousValue.map((v, i) =>\r\n\t\t\t\ti === rowNumber ? value : v\r\n\t\t\t);\r\n\t\t\thandleChange({ [key]: newValue });\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [bindings, todo, handleChange]);\r\n\r\n\tconst flattenComponents = buildLoopComponents(iterationNb)(components);\r\n\r\n\tif (!U.displayLoop(loopDependencies)(bindings)) return null;\r\n\r\n\tconst loopComponents = flattenComponents.map(\r\n\t\t({ componentType, id: idC, rowNumber, conditionFilter, ...rest }) => {\r\n\t\t\tconst loopBindings = U.buildBindingsForDeeperComponents(rowNumber)(\r\n\t\t\t\tbindings\r\n\t\t\t);\r\n\t\t\tif (!U.displayLoopQuestion(loopDependencies)(loopBindings)) return null;\r\n\t\t\tconst Component = lunatic[componentType];\r\n\t\t\tif (interpret(features)(loopBindings, true)(conditionFilter) !== 'normal')\r\n\t\t\t\treturn null;\r\n\t\t\treturn (\r\n\t\t\t\t<div key={`${idC}-loop-${rowNumber}`} className=\"loop-component\">\r\n\t\t\t\t\t<Component\r\n\t\t\t\t\t\t{...orchetratorProps}\r\n\t\t\t\t\t\t{...rest}\r\n\t\t\t\t\t\tid={`${idC}-loop-${rowNumber}`}\r\n\t\t\t\t\t\thandleChange={(up) => setTodo({ up, rowNumber })}\r\n\t\t\t\t\t\tbindings={loopBindings}\r\n\t\t\t\t\t\tcomponentType={componentType}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t}\r\n\t);\r\n\r\n\treturn (\r\n\t\t<div id={`loop-${id}`} className=\"lunatic-loop\">\r\n\t\t\t{loopComponents}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default React.memo(Loop, U.areEqual);\r\n","import * as C from '../../../constants';\r\n\r\nexport const buildContentForLoopConstructor = ({ components, headers }) => {\r\n\t// Start hack to find interation number\r\n\t// Refactor if we have to handle complex components (vector, matrix)\r\n\tconst iterations =\r\n\t\tcomponents.find((c) => c.response).response.values[C.COLLECTED].length || 1;\r\n\t// End\r\n\tconst initialArray = [...Array(iterations).keys()];\r\n\tconst uiComponents = components.map((comp) => {\r\n\t\tconst { response, ...other } = comp;\r\n\t\tif (!response) return initialArray.map(() => comp);\r\n\t\t// Handle reponses & cells components ?\r\n\t\tconst { name, values } = response;\r\n\t\treturn initialArray.map((rowNumber) => {\r\n\t\t\tconst newValues = Object.entries(values).reduce(\r\n\t\t\t\t(acc, [key, value]) => ({\r\n\t\t\t\t\t...acc,\r\n\t\t\t\t\t[key]: value ? value[rowNumber] : null,\r\n\t\t\t\t}),\r\n\t\t\t\t{}\r\n\t\t\t);\r\n\t\t\treturn {\r\n\t\t\t\t...other,\r\n\t\t\t\tresponse: { name, values: newValues },\r\n\t\t\t\trowNumber,\r\n\t\t\t};\r\n\t\t});\r\n\t}, []);\r\n\tconst transpose = (m) => m[0].map((_, i) => m.map((x) => x[i]));\r\n\tconst rows = transpose(uiComponents);\r\n\treturn headers ? [headers, ...rows] : rows;\r\n};\r\n","import React from 'react';\r\nimport * as lunatic from '../../components';\r\nimport * as U from '../../../utils/lib';\r\nimport { interpret } from '../../../utils/to-expose';\r\nimport { buildContentForLoopConstructor } from './build-components';\r\n\r\nconst BodyComponent = ({\r\n\tcomponentType,\r\n\tmainId,\r\n\theaders,\r\n\tcomponents,\r\n\tbindings,\r\n\twidth,\r\n\tpreferences,\r\n\tpositioning,\r\n\tmanagement,\r\n\tfeatures,\r\n\tsetTodo,\r\n}) => {\r\n\tconst uiComponents = buildContentForLoopConstructor({\r\n\t\tcomponents,\r\n\t\theaders,\r\n\t});\r\n\tif (componentType === 'RosterForLoop')\r\n\t\treturn (\r\n\t\t\t<table id={`table-${mainId}`} className=\"table-lunatic\">\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t{uiComponents.map((row, i) => (\r\n\t\t\t\t\t\t<tr key={`table-${mainId}-row${i}`}>\r\n\t\t\t\t\t\t\t{row.map((component, j) => {\r\n\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\tlabel,\r\n\t\t\t\t\t\t\t\t\theaderCell,\r\n\t\t\t\t\t\t\t\t\tcolspan,\r\n\t\t\t\t\t\t\t\t\trowspan,\r\n\t\t\t\t\t\t\t\t\tcomponentType,\r\n\t\t\t\t\t\t\t\t\tid,\r\n\t\t\t\t\t\t\t\t\trowNumber,\r\n\t\t\t\t\t\t\t\t\t...componentProps\r\n\t\t\t\t\t\t\t\t} = component;\r\n\t\t\t\t\t\t\t\tconst localBindings = U.buildBindingsForDeeperComponents(\r\n\t\t\t\t\t\t\t\t\trowNumber\r\n\t\t\t\t\t\t\t\t)(bindings);\r\n\t\t\t\t\t\t\t\tif (componentType) {\r\n\t\t\t\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<td\r\n\t\t\t\t\t\t\t\t\t\t\tkey={`table-${mainId}-row-${i}-cell-${j}`}\r\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ width }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\t\t\t\tid={`${id}-row-${i}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\t\t\t\thandleChange={(up) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTodo({ up, rowNumber });\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\t\t\t\tbindings={localBindings}\r\n\t\t\t\t\t\t\t\t\t\t\t\tzIndex={uiComponents.length - i || 0}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst cellOptions = {\r\n\t\t\t\t\t\t\t\t\tkey: `table-${mainId}-row-${i}-cell-${j}`,\r\n\t\t\t\t\t\t\t\t\tstyle: { width },\r\n\t\t\t\t\t\t\t\t\tcolSpan: colspan || 1,\r\n\t\t\t\t\t\t\t\t\trowSpan: rowspan || 1,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\t\t\t\t\t\t\t\treturn headerCell ? (\r\n\t\t\t\t\t\t\t\t\t<th {...cellOptions}>{interpretedLabel}</th>\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<td {...cellOptions}>{interpretedLabel}</td>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t);\r\n\telse\r\n\t\treturn (\r\n\t\t\t<div className=\"block-for-loop\">\r\n\t\t\t\t{uiComponents.map((row, i) =>\r\n\t\t\t\t\trow.map(({ componentType, id, label, ...componentProps }) => {\r\n\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\tconst localBindings = U.buildBindingsForDeeperComponents(i)(\r\n\t\t\t\t\t\t\tbindings\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<div className=\"block-component\" key={`${id}-row-${i}`}>\r\n\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\tid={`${id}-row-${i}`}\r\n\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\thandleChange={(up) => {\r\n\t\t\t\t\t\t\t\t\t\tsetTodo({ up, rowNumber: i });\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\tbindings={localBindings}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t);\r\n};\r\n\r\nexport default BodyComponent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as lunatic from '../../components';\r\nimport BodyComponent from './body-component';\r\nimport Declarations from '../../declarations';\r\nimport * as U from '../../../utils/lib';\r\nimport * as C from '../../../constants';\r\nimport { interpret } from '../../../utils/to-expose';\r\n\r\nconst LoopConstructorWrapper = ({\r\n\tid: mainId,\r\n\tlabel: mainLabel,\r\n\tcomponents,\r\n\thandleChange,\r\n\tlines,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\taddBtnLabel,\r\n\thideBtn,\r\n\tcomponentType,\r\n\t...otherProps\r\n}) => {\r\n\tconst [todo, setTodo] = useState({});\r\n\tconst minLines = Math.max(\r\n\t\tlines.min || 0,\r\n\t\tU.getLoopConstructorInitLines(components)\r\n\t);\r\n\tconst maxLines = lines ? lines.max : undefined;\r\n\r\n\tconst width = `${100 / Math.max(...components.map((row) => row.length))}%`;\r\n\tconst Button = lunatic.Button;\r\n\tconst involvedVariables = U.getInvolvedVariables(components);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (Object.keys(todo).length !== 0) {\r\n\t\t\tconst { up, rowNumber } = todo;\r\n\t\t\tconst [key, value] = Object.entries(up)[0];\r\n\t\t\tconst previousValue = bindings[key];\r\n\t\t\tconst newValue = previousValue.map((v, i) =>\r\n\t\t\t\ti === rowNumber ? value : v\r\n\t\t\t);\r\n\t\t\thandleChange({ [key]: newValue });\r\n\t\t\tsetTodo({});\r\n\t\t}\r\n\t}, [bindings, todo, handleChange]);\r\n\r\n\tconst addLine = () => {\r\n\t\tconst toHandle = involvedVariables.reduce(\r\n\t\t\t(acc, { name: iv, depth }) => ({\r\n\t\t\t\t...acc,\r\n\t\t\t\t[iv]: [...bindings[iv], U.buildEmptyValue(depth)],\r\n\t\t\t}),\r\n\t\t\t{}\r\n\t\t);\r\n\t\thandleChange(toHandle);\r\n\t};\r\n\r\n\tconst customBtnLabel =\r\n\t\t(componentType === 'Loop' && interpret(features)(bindings)(mainLabel)) ||\r\n\t\taddBtnLabel;\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{componentType === 'RosterForLoop' && mainLabel && (\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`loops-constructor-${mainId}`}\r\n\t\t\t\t\tid={`loops-constructor-label-${mainId}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(mainLabel)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<BodyComponent\r\n\t\t\t\tmainId={mainId}\r\n\t\t\t\tcomponentType={componentType}\r\n\t\t\t\tcomponents={components}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t\twidth={width}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tsetTodo={setTodo}\r\n\t\t\t\t{...otherProps}\r\n\t\t\t/>\r\n\t\t\t{!hideBtn && (\r\n\t\t\t\t<Button\r\n\t\t\t\t\tlabel=\"addLine\"\r\n\t\t\t\t\tvalue={customBtnLabel}\r\n\t\t\t\t\tdisabled={\r\n\t\t\t\t\t\t(Number.isInteger(minLines) && minLines === maxLines) ||\r\n\t\t\t\t\t\tU.lastLoopChildLineIsEmpty(bindings)(involvedVariables)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tonClick={addLine}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={mainId}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nLoopConstructorWrapper.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tcomponents: [],\r\n\tlines: {},\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\taddBtnLabel: 'Add a line',\r\n\tmanagement: false,\r\n\thideBtn: false,\r\n\tstyle: {},\r\n};\r\n\r\nLoopConstructorWrapper.propTypes = {\r\n\tcomponentType: PropTypes.string.isRequired,\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tcomponents: PropTypes.array,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tlines: U.linesPropTypes,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\taddBtnLabel: PropTypes.string,\r\n\thideBtn: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(LoopConstructorWrapper, U.areEqual);\r\n","import React from 'react';\r\nimport LoopConstructorWrapper from '../wrapper';\r\nimport * as U from '../../../utils/lib';\r\nimport './block.scss';\r\n\r\nconst BlockForLoop = (props) => <LoopConstructorWrapper {...props} />;\r\n\r\nexport default React.memo(BlockForLoop, U.areEqual);\r\n","import React from 'react';\r\nimport Loop from '../loop/component';\r\nimport BlockForLoop from '../loop-constructor/block';\r\n\r\nconst LoopWrapper = (props) => {\r\n\tconst { iterations } = props;\r\n\tif (iterations) return <Loop {...props} />;\r\n\treturn <BlockForLoop {...props} />;\r\n};\r\n\r\nexport default LoopWrapper;\r\n","import React from 'react';\r\nimport LoopConstructorWrapper from '../wrapper';\r\nimport * as U from '../../../utils/lib';\r\n\r\nconst RosterForLoop = (props) => <LoopConstructorWrapper {...props} />;\r\n\r\nexport default React.memo(RosterForLoop, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SimpleDeclarationsWrapper } from '../declarations/wrappers';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './sequence.scss';\r\n\r\nconst Sequence = ({ id, label, declarations, features, bindings, style }) => (\r\n\t<SimpleDeclarationsWrapper\r\n\t\tid={id}\r\n\t\tdeclarations={declarations}\r\n\t\tfeatures={features}\r\n\t\tbindings={bindings}\r\n\t>\r\n\t\t<div\r\n\t\t\taria-label={`sequence-${id}`}\r\n\t\t\tclassName=\"sequence-lunatic\"\r\n\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t</SimpleDeclarationsWrapper>\r\n);\r\n\r\nSequence.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nSequence.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Sequence, U.areEqual);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { SimpleDeclarationsWrapper } from '../declarations/wrappers';\r\nimport * as U from '../../utils/lib';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './subsequence.scss';\r\n\r\nconst Subsequence = ({\r\n\tid,\r\n\tlabel,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\tstyle,\r\n}) => (\r\n\t<SimpleDeclarationsWrapper\r\n\t\tid={id}\r\n\t\tdeclarations={declarations}\r\n\t\tfeatures={features}\r\n\t\tbindings={bindings}\r\n\t>\r\n\t\t<div\r\n\t\t\taria-label={`subsequence-${id}`}\r\n\t\t\tclassName=\"subsequence-lunatic\"\r\n\t\t\tstyle={U.buildStyleObject(style)}\r\n\t\t>\r\n\t\t\t{interpret(features)(bindings)(label)}\r\n\t\t</div>\r\n\t</SimpleDeclarationsWrapper>\r\n);\r\n\r\nSubsequence.defaultProps = {\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\tstyle: {},\r\n};\r\n\r\nSubsequence.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string.isRequired,\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Subsequence, U.areEqual);\r\n","import React from 'react';\r\nimport { InputDeclarationsWrapper } from '../declarations/wrappers';\r\nimport { areEqual } from '../../utils/lib';\r\nimport './textarea.scss';\r\n\r\nconst Textarea = (props) => (\r\n\t<InputDeclarationsWrapper type={null} roleType=\"textarea\" {...props} />\r\n);\r\n\r\nexport default React.memo(Textarea, areEqual);\r\n","import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as lunatic from '../components';\r\nimport Declarations from '../declarations';\r\nimport * as U from '../../utils/lib';\r\nimport * as C from '../../constants';\r\nimport { interpret } from '../../utils/to-expose';\r\nimport './table.scss';\r\n\r\nconst Table = ({\r\n\tid: tableId,\r\n\tlabel: tableLabel,\r\n\tpreferences,\r\n\tcells,\r\n\thandleChange,\r\n\tlines: initLines,\r\n\tpositioning,\r\n\tdeclarations,\r\n\tfeatures,\r\n\tbindings,\r\n\taddBtnLabel,\r\n\thideBtn,\r\n\tmanagement,\r\n}) => {\r\n\tconst minLines = initLines\r\n\t\t? Math.max(initLines.min, U.getRosterInitLines(cells))\r\n\t\t: undefined;\r\n\tconst maxLines = initLines ? initLines.max : undefined;\r\n\tconst [lines, setLines] = useState(minLines);\r\n\r\n\tconst width = `${100 / Math.max(...cells.map((line) => line.length))}%`;\r\n\tconst Button = lunatic.Button;\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.BEFORE_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t{tableLabel && (\r\n\t\t\t\t<label\r\n\t\t\t\t\thtmlFor={`table-one-axis-${tableId}`}\r\n\t\t\t\t\tid={`table-one-axis-label-${tableId}`}\r\n\t\t\t\t>\r\n\t\t\t\t\t{interpret(features)(bindings)(tableLabel)}\r\n\t\t\t\t</label>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.AFTER_QUESTION_TEXT}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t\t<table id={`table-${tableId}`} className=\"table-lunatic\">\r\n\t\t\t\t<tbody>\r\n\t\t\t\t\t{(minLines || minLines === 0 ? cells.slice(0, lines + 1) : cells).map(\r\n\t\t\t\t\t\t(line, i) => (\r\n\t\t\t\t\t\t\t<tr key={`table-${tableId}-line${i}`}>\r\n\t\t\t\t\t\t\t\t{line.map((component, j) => {\r\n\t\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\t\tlabel,\r\n\t\t\t\t\t\t\t\t\t\theaderCell,\r\n\t\t\t\t\t\t\t\t\t\tcolspan,\r\n\t\t\t\t\t\t\t\t\t\trowspan,\r\n\t\t\t\t\t\t\t\t\t\tcomponentType,\r\n\t\t\t\t\t\t\t\t\t\t...componentProps\r\n\t\t\t\t\t\t\t\t\t} = component;\r\n\t\t\t\t\t\t\t\t\tif (componentType) {\r\n\t\t\t\t\t\t\t\t\t\tconst Component = lunatic[componentType];\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t<td\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`table-${tableId}-line${i}-cell-${j}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ width }}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Component\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={label}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleChange={handleChange}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreferences={preferences}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpositioning={positioning}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tmanagement={management}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tfeatures={features}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tbindings={bindings}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{...componentProps}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tzIndex={cells.length - i || 0}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tconst cellOptions = {\r\n\t\t\t\t\t\t\t\t\t\tkey: `table-${tableId}-line${i}-cell-${j}`,\r\n\t\t\t\t\t\t\t\t\t\tstyle: { width },\r\n\t\t\t\t\t\t\t\t\t\tcolSpan: colspan || 1,\r\n\t\t\t\t\t\t\t\t\t\trowSpan: rowspan || 1,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\tconst interpretedLabel = interpret(features)(bindings)(label);\r\n\t\t\t\t\t\t\t\t\treturn headerCell ? (\r\n\t\t\t\t\t\t\t\t\t\t<th {...cellOptions}>{interpretedLabel}</th>\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<td {...cellOptions}>{interpretedLabel}</td>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)}\r\n\t\t\t\t</tbody>\r\n\t\t\t</table>\r\n\t\t\t{Number.isInteger(minLines) && lines < maxLines && !hideBtn && (\r\n\t\t\t\t<Button\r\n\t\t\t\t\tlabel=\"addLine\"\r\n\t\t\t\t\tvalue={addBtnLabel}\r\n\t\t\t\t\tonClick={() => setLines(lines + 1)}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t<Declarations\r\n\t\t\t\tid={tableId}\r\n\t\t\t\ttype={C.DETACHABLE}\r\n\t\t\t\tdeclarations={declarations}\r\n\t\t\t\tfeatures={features}\r\n\t\t\t\tbindings={bindings}\r\n\t\t\t/>\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nTable.defaultProps = {\r\n\tlabel: '',\r\n\tpreferences: ['COLLECTED'],\r\n\tcells: [],\r\n\tlines: {},\r\n\tpositioning: 'DEFAULT',\r\n\tdeclarations: [],\r\n\tfeatures: [],\r\n\tbindings: {},\r\n\taddBtnLabel: 'Add a line',\r\n\tmanagement: false,\r\n\thideBtn: false,\r\n\tstyle: {},\r\n};\r\n\r\nTable.propTypes = {\r\n\tid: PropTypes.string.isRequired,\r\n\tlabel: PropTypes.string,\r\n\tpreferences: PropTypes.arrayOf(U.valueTypePropTypes),\r\n\tcells: PropTypes.array,\r\n\thandleChange: PropTypes.func.isRequired,\r\n\tlines: U.linesPropTypes,\r\n\tpositioning: PropTypes.oneOf(['DEFAULT', 'HORIZONTAL', 'VERTICAL']),\r\n\tdeclarations: U.declarationsPropTypes,\r\n\tfeatures: PropTypes.arrayOf(PropTypes.string),\r\n\tbindings: PropTypes.object,\r\n\taddBtnLabel: PropTypes.string,\r\n\thideBtn: PropTypes.bool,\r\n\tmanagement: PropTypes.bool,\r\n\tstyle: PropTypes.object,\r\n};\r\n\r\nexport default React.memo(Table, U.areEqual);\r\n"],"names":["BEFORE_QUESTION_TEXT","AFTER_QUESTION_TEXT","DETACHABLE","INSTRUCTION","COMMENT","HELP","WARNING","MESSAGE_FILTER","STATEMENT","PREVIOUS","COLLECTED","FORCED","EDITED","INPUTED","EXTERNAL","CALCULATED","PropTypes","arrayOf","shape","id","string","isRequired","declarationType","oneOf","C","position","label","value","name","values","min","number","max","buildTooltip","response","Object","keys","length","edited","forced","collected","has","content","key","imgName","status","undefined","buildMultiTooltipResponse","options","newValues","entries","reduce","acc","k","v","find","o","buildBooleanTooltipResponse","getAlphabet","split","getLabelPositionClass","getItemsPositioningClass","positioning","getResponseName","getResponseByPreference","preferences","p","buildStyleObject","obj","_","startsWith","camelCase","isResponseEmpty","filter","getRosterInitLines","cells","Array","isArray","line","__","component","b","buildBindingsForDeeperComponents","index","bindings","getDefaultDatasetStructure","dataStructure","dataPoints","buildVectorialBindings","displayLoop","dependencyList","map","iv","flat","displayLoopQuestion","getLoopConstructorInitLines","components","c","getInvolvedVariables","parentComponents","responses","depth","lastLoopChildLineIsEmpty","involvedVariables","buildEmptyValue","fill","VarsHasBeenUpdated","prevProps","props","oldR","oldRs","oldC","newR","newRs","newC","isEqual","areEqual","bindingDependencies","oldB","newB","d","includes","responseToClean","cutedValues","responsesToClean","r","Breadcrumb","elements","style","React","e","i","toLowerCase","propTypes","object","Button","onClick","disabled","bool","func","interpret","features","doNotReplaceNullBindings","expression","VTLExpr","interpretVtl","replaceNullBindings","interpretWithEmptyDefault","defaultValue","mergeQuestionnaireAndData","questionnaire","data","variables","vars","buildVars","filledComponents","buildFilledComponents","collectedData","variableType","componentRef","initExternalVariable","initCalculatedVariable","buildFilledComponent","buildResponseComponent","buildResponsesComponent","buildCellsComponent","buildComponentsComponent","rest","filledResponses","filledCells","row","getState","getCalculatedFromVariables","getCollectedState","getExternalFromVariables","getCollectedStateByValueType","valueType","displayNull","getBindings","supportedPreferences","updateQuestionnaire","updatedValues","other","varsAndRefs","newVariables","otherVars","refs","updated","buildNewValue","newCollected","newVariablesWithCalculated","addCalculatedVars","collectedVars","newComponents","oldValues","indexOf","valuesByPreference","slice","lastValue","calculated","res","join","filterComponents","management","filteredComponents","conditionFilter","useLunatic","source","savingType","useState","setQuestionnaire","todo","setTodo","handleChange","useCallback","updatedValue","useEffect","newQ","Declarations","type","declarations","filtered","idD","defaultProps","U","img","TooltipResponse","tooltipElements","setTooltipElements","src","CheckboxGroup","focused","keyboardSelection","fieldsetStyle","modalityStyle","inputRef","useRef","specificHandleChange","current","focus","checkedArray","modId","modLabel","checked","push","toRef","interpretedLabel","target","toUpperCase","memo","CheckboxBoolean","isVertical","isHorizontal","input","InputDeclarationsWrapper","placeholder","maxLength","readOnly","autoComplete","labelPosition","mandatory","roleType","setValue","handleChangeOnBlur","Component","oneOfType","ListDeclarationsWrapper","optionLabel","optionValue","SimpleDeclarationsWrapper","children","element","CheckboxOne","Datepicker","SHOW_PANEL","showPanel","HIDE_PANEL","hidePanel","SET_ACTIVE_OPTION","setActiveOption","payload","SET_OPTIONS","setOptions","SET_VALUE","SET_FOCUSED","setFocused","SET_SELECTED_OPTION","setSelectedOption","option","RESET_SELECTION","resetSelection","ARROW_UP_PRESSED","arrowUpPressed","ARROW_DOWN_PRESSED","arrowDownPressed","ENTER_PRESSED","enterPressed","callback","SET_PREFIX","setPrefix","prefix","Panel","display","handleActive","activeIndex","selectedOption","onSelect","idDropdown","Option","optionComponent","ulRef","stopPropagation","preventDefault","button","propTypesOption","symbol","Icon","height","width","color","Label","classnames","CLEANER_CALLBACKS","applyAll","execpt","forEach","apply","add","clear","BINDED_KEYS","arrowUp","arrowDown","enter","tab","dispatch","actions","visible","CLEAN","stopAndPrevent","onKeyDownCallback_","state","onKeyDownCallback","getZIndex","z","DropdownContainer","className","valueFromProps","zIndex","hook","window","addEventListener","removeEventListener","a","onMouseDownCallback","array","forwardRef","ref","scrollTo","li","document","getElementById","parent","parentNode","pr","getBoundingClientRect","lr","top","scrollTop","bottom","preparePrefix","removeAccents","replace","lettersMatching","pref","pos","clean","idx","match","filterOption","search","how","sort","initial","visibleOptions","isPrefix","reduceArrowDownPressed","next","Math","reduceArrowUpPressed","reduceEnterPressed","reducer","action","activeOption","active","selected","Dropdown","widthAuto","initId","initFocused","containerEl","useReducer","Date","getMilliseconds","onSelect_","createOnSelect","getIcon","isDisplay","ClosedIcon","OpenedIcon","childrenToOption","child","Error","createDropdown","initLetters","what","letters","stack","m","first","last","char","part","reverse","Icone","onDelete","onSwitch","onChangeCallback","inputEl","createDropDown","DropdownEdit","writable","freezeOptions","opts","setOpts","featOptions","labelOption","restOpts","Input","InputNumber","decimals","unit","unitPosition","validators","minMaxValidator","messagesError","setMessagesError","validate","f","pow","valueNumber","Number","isDef","FilterDescription","filterDescription","ProgressBar","controledValue","toFixed","Radio","buildLoopComponents","iterations","toFlat","rowNumber","buildFlatten","buildFlattenResponse","Loop","loopDependencies","orchetratorProps","vectorialBindings","iterationNb","toUpdate","up","previousValue","newValue","flattenComponents","loopComponents","componentType","idC","loopBindings","lunatic","buildContentForLoopConstructor","headers","initialArray","uiComponents","comp","transpose","x","rows","BodyComponent","mainId","j","headerCell","colspan","rowspan","componentProps","localBindings","cellOptions","colSpan","rowSpan","LoopConstructorWrapper","mainLabel","lines","addBtnLabel","hideBtn","otherProps","minLines","maxLines","addLine","toHandle","customBtnLabel","isInteger","BlockForLoop","LoopWrapper","RosterForLoop","Sequence","Subsequence","Textarea","Table","tableId","tableLabel","initLines","setLines"],"mappings":"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"}
|