@inseefr/lunatic 2.0.0-rc9 → 2.0.0-v2test
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 +13 -0
- package/lib/components/button/lunatic-button.js +52 -0
- package/lib/components/checkbox/checkbox-boolean/checkbox-boolean.js +29 -0
- package/lib/components/checkbox/checkbox-boolean/index.js +13 -0
- package/lib/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.js +40 -0
- package/lib/components/checkbox/checkbox-group/checkbox-group.js +84 -0
- package/lib/components/checkbox/checkbox-group/checkbox.scss +4 -0
- package/lib/components/checkbox/checkbox-group/index.js +13 -0
- package/lib/components/checkbox/checkbox-group/lunatic-checkbox-group.js +35 -0
- package/lib/components/checkbox/checkbox-one/index.js +13 -0
- package/lib/components/checkbox/checkbox-one/lunatic-checkbox-one.js +27 -0
- package/lib/components/checkbox/commons/checkbox-option.js +55 -0
- package/lib/components/checkbox/commons/checkbox-option.scss +3 -0
- package/lib/components/checkbox/commons/index.js +13 -0
- package/lib/components/checkbox/index.js +27 -0
- package/lib/components/commons/build-style-object.js +25 -0
- package/lib/components/commons/components/combo-box/combo-box-container.js +31 -0
- package/lib/components/commons/components/combo-box/combo-box-content.js +60 -0
- package/lib/components/commons/components/combo-box/combo-box.js +190 -0
- package/lib/components/commons/components/combo-box/combo-box.scss +205 -0
- package/lib/components/commons/components/combo-box/index.js +13 -0
- package/lib/components/commons/components/combo-box/panel/index.js +13 -0
- package/lib/components/commons/components/combo-box/panel/option-container.js +62 -0
- package/lib/components/commons/components/combo-box/panel/panel-container.js +26 -0
- package/lib/components/commons/components/combo-box/panel/panel.js +61 -0
- package/lib/components/commons/components/combo-box/selection/delete.js +53 -0
- package/lib/components/commons/components/combo-box/selection/displayLabelOrInput.js +22 -0
- package/lib/components/commons/components/combo-box/selection/index.js +13 -0
- package/lib/components/commons/components/combo-box/selection/input.js +55 -0
- package/lib/components/commons/components/combo-box/selection/label-selection.js +32 -0
- package/lib/components/commons/components/combo-box/selection/selection-container.js +35 -0
- package/lib/components/commons/components/combo-box/selection/selection.js +61 -0
- package/lib/components/commons/components/combo-box/state-management/actions.js +82 -0
- package/lib/components/commons/components/combo-box/state-management/combo-box-context.js +16 -0
- package/lib/components/commons/components/combo-box/state-management/index.js +33 -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 +13 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-blur.js +20 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-change.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-delete.js +21 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-focus.js +20 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-init.js +40 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/index.js +13 -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 +32 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-arrow-up.js +32 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-end.js +25 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-enter.js +21 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-escape.js +20 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-home.js +25 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/on-tab.js +20 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-keydown/reduce-on-keydown.js +40 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reduce-on-select.js +22 -0
- package/lib/components/commons/components/combo-box/state-management/reducer/reducer.js +41 -0
- package/lib/components/commons/components/create-lunatic-component/create-lunatic-component.js +64 -0
- package/lib/components/commons/components/create-lunatic-component/index.js +11 -0
- package/lib/components/commons/components/default-label-renderer.js +44 -0
- package/lib/components/commons/components/default-option-renderer.js +36 -0
- package/lib/components/commons/components/dragger/dragger.js +92 -0
- package/lib/components/commons/components/dragger/dragger.scss +8 -0
- package/lib/components/commons/components/dragger/index.js +13 -0
- package/lib/components/commons/components/errors/errors.js +41 -0
- package/lib/components/commons/components/errors/errors.scss +5 -0
- package/lib/components/commons/components/errors/index.js +13 -0
- package/lib/components/commons/components/fab/fab.js +48 -0
- package/lib/components/commons/components/fab/fab.scss +32 -0
- package/lib/components/commons/components/fab/index.js +13 -0
- package/lib/components/commons/components/field-container/field-container.js +39 -0
- package/lib/components/commons/components/field-container/field-container.scss +0 -0
- package/lib/components/commons/components/field-container/index.js +13 -0
- package/lib/components/commons/components/fieldset.js +18 -0
- package/lib/components/commons/components/fieldset.scss +5 -0
- package/lib/components/commons/components/html-table/index.js +48 -0
- package/lib/components/commons/components/html-table/table.js +29 -0
- package/lib/components/commons/components/html-table/tbody.js +29 -0
- package/lib/components/commons/components/html-table/td.js +41 -0
- package/lib/components/commons/components/html-table/th.js +39 -0
- package/lib/components/commons/components/html-table/thead.js +29 -0
- package/lib/components/commons/components/html-table/tr.js +31 -0
- package/lib/components/commons/components/is-network/index.js +13 -0
- package/lib/components/commons/components/is-network/is-network.js +51 -0
- package/lib/components/commons/components/is-network/use-online-status.js +46 -0
- package/lib/components/commons/components/label.js +27 -0
- package/lib/components/commons/components/lunatic-component.js +55 -0
- package/lib/components/commons/components/lunatic-fieldset-component.js +49 -0
- package/lib/components/commons/components/md-label/index.js +13 -0
- package/lib/components/commons/components/md-label/link.js +51 -0
- package/lib/components/commons/components/md-label/md-label.js +44 -0
- package/lib/components/commons/components/missing/index.js +13 -0
- package/lib/components/commons/components/missing/missing.js +76 -0
- package/lib/components/commons/components/missing/missing.scss +30 -0
- package/lib/components/commons/components/nothing-to-display.js +13 -0
- package/lib/components/commons/components/orchestrated-component.js +59 -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 +20 -0
- package/lib/components/commons/components/variable-status/index.js +13 -0
- package/lib/components/commons/components/variable-status/variable-status.js +78 -0
- package/lib/components/commons/components/variable-status/variable-status.scss +39 -0
- package/lib/components/commons/create-customizable-field.js +26 -0
- package/lib/components/commons/create-row-orchestrator.js +53 -0
- package/lib/components/commons/icons/checkbox-checked.icon.js +36 -0
- package/lib/components/commons/icons/checkbox-unchecked.icon.js +36 -0
- package/lib/components/commons/icons/closed.icon.js +33 -0
- package/lib/components/commons/icons/cross.icon.js +33 -0
- package/lib/components/commons/icons/index.js +76 -0
- package/lib/components/commons/icons/load.icon.js +33 -0
- package/lib/components/commons/icons/lunatic-icon.js +19 -0
- package/lib/components/commons/icons/lunatic-icon.scss +3 -0
- package/lib/components/commons/icons/network.icon.js +33 -0
- package/lib/components/commons/icons/on-drag.icon.js +33 -0
- package/lib/components/commons/icons/opened.icon.js +33 -0
- package/lib/components/commons/icons/radio-checked.icon.js +36 -0
- package/lib/components/commons/icons/radio-unchecked.icon.js +36 -0
- package/lib/components/commons/index.js +138 -0
- package/lib/components/commons/prop-types/declarations.js +19 -0
- package/lib/components/commons/prop-types/index.js +41 -0
- package/lib/components/commons/prop-types/lines.js +13 -0
- package/lib/components/commons/prop-types/options.js +13 -0
- package/lib/components/commons/prop-types/response.js +13 -0
- package/lib/components/commons/prop-types/value-type.js +14 -0
- package/lib/components/commons/safety-label.js +26 -0
- package/lib/components/commons/use-document-add-event-listener.js +84 -0
- package/lib/components/commons/use-on-handle-change.js +19 -0
- package/lib/components/commons/use-options-keydown.js +24 -0
- package/lib/components/commons/use-previous.js +16 -0
- package/lib/components/components.js +163 -0
- package/lib/components/datepicker/datepicker.js +45 -0
- package/lib/components/datepicker/datepicker.scss +1 -0
- package/lib/components/datepicker/index.js +13 -0
- package/lib/components/datepicker/lunatic-datepicker.js +27 -0
- package/lib/components/declarations/declaration.js +19 -0
- package/lib/components/declarations/declarations-after-text.js +20 -0
- package/lib/components/declarations/declarations-before-text.js +20 -0
- package/lib/components/declarations/declarations-detachable.js +20 -0
- package/lib/components/declarations/declarations.js +51 -0
- package/lib/components/declarations/declarations.scss +36 -0
- package/lib/components/declarations/index.js +43 -0
- package/lib/components/dropdown/dropdown-simple/dropdown-simple.js +36 -0
- package/lib/components/dropdown/dropdown-simple/index.js +13 -0
- package/lib/components/dropdown/dropdown-simple/simple-label-renderer.js +43 -0
- package/lib/components/dropdown/dropdown-simple/simple-option-renderer.js +35 -0
- package/lib/components/dropdown/dropdown-writable/dropdown-writable.js +59 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/filter-options.js +36 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/letters-matching.js +29 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/match.js +22 -0
- package/lib/components/dropdown/dropdown-writable/filter-tools/prepare-prefix.js +13 -0
- package/lib/components/dropdown/dropdown-writable/index.js +13 -0
- package/lib/components/dropdown/dropdown-writable/writable-label-renderer.js +43 -0
- package/lib/components/dropdown/dropdown-writable/writable-option-renderer.js +136 -0
- package/lib/components/dropdown/dropdown.js +47 -0
- package/lib/components/dropdown/dropdown.scss +41 -0
- package/lib/components/dropdown/index.js +13 -0
- package/lib/components/dropdown/lunatic-dropdown.js +53 -0
- package/lib/components/filter-description/component.js +20 -0
- package/lib/components/filter-description/index.js +13 -0
- package/lib/components/index.js +28 -0
- package/lib/components/index.scss +136 -0
- package/lib/components/input/index.js +13 -0
- package/lib/components/input/input.js +49 -0
- package/lib/components/input/input.scss +32 -0
- package/lib/components/input/lunatic-input.js +30 -0
- package/lib/components/input-number/index.js +13 -0
- package/lib/components/input-number/input-number.js +51 -0
- package/lib/components/input-number/input-number.scss +7 -0
- package/lib/components/input-number/lunatic-input-number.js +26 -0
- package/lib/components/loop/block-for-loop/block-for-loop-ochestrator.js +12 -0
- package/lib/components/loop/block-for-loop/block-for-loop.js +140 -0
- package/lib/components/loop/block-for-loop/index.js +13 -0
- package/lib/components/loop/block-for-loop/row.js +68 -0
- package/lib/components/loop/commons/get-init-length.js +16 -0
- package/lib/components/loop/commons/handle-row-button.js +20 -0
- package/lib/components/loop/commons/index.js +20 -0
- package/lib/components/loop/commons/row-component.js +65 -0
- package/lib/components/loop/index.js +13 -0
- package/lib/components/loop/loop.js +84 -0
- package/lib/components/loop/roster-for-loop/body.js +57 -0
- package/lib/components/loop/roster-for-loop/header.js +35 -0
- package/lib/components/loop/roster-for-loop/index.js +13 -0
- package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +12 -0
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +124 -0
- package/lib/components/loop/roster-for-loop/roster-table.js +50 -0
- package/lib/components/loop/roster-for-loop/roster.scss +42 -0
- package/lib/components/loop/roster-for-loop/row.js +75 -0
- package/lib/components/modal-controls/close-or-skip.js +40 -0
- package/lib/components/modal-controls/index.js +13 -0
- package/lib/components/modal-controls/modal-container.js +19 -0
- package/lib/components/modal-controls/modal-controls.js +71 -0
- package/lib/components/modal-controls/modal-controls.scss +48 -0
- package/lib/components/pairwise-links/index.js +13 -0
- package/lib/components/pairwise-links/orchestrator.js +72 -0
- package/lib/components/pairwise-links/pairwise-links.js +68 -0
- package/lib/components/pairwise-links/row.js +80 -0
- package/lib/components/radio/index.js +13 -0
- package/lib/components/radio/lunatic-radio-group.js +37 -0
- package/lib/components/radio/radio-group.js +41 -0
- package/lib/components/radio/radio-option.js +80 -0
- package/lib/components/radio/radio.scss +66 -0
- package/lib/components/sequence/index.js +13 -0
- package/lib/components/sequence/sequence.js +33 -0
- package/lib/components/sequence/sequence.scss +10 -0
- package/lib/components/subsequence/index.js +13 -0
- package/lib/components/subsequence/subsequence.js +31 -0
- package/lib/components/suggester/check-store.js +115 -0
- package/lib/components/suggester/default-style.scss +125 -0
- package/lib/components/suggester/find-best-label/find-best-label.js +55 -0
- package/lib/components/suggester/find-best-label/index.js +13 -0
- package/lib/components/suggester/idb-suggester.js +75 -0
- package/lib/components/suggester/index.js +13 -0
- package/lib/components/suggester/lunatic-suggester.js +80 -0
- package/lib/components/suggester/searching/create-searching.js +75 -0
- package/lib/components/suggester/searching/index.js +13 -0
- package/lib/components/suggester/suggester.js +138 -0
- package/lib/components/suggester-loader-widget/index.js +13 -0
- package/lib/components/suggester-loader-widget/loader-row.js +123 -0
- package/lib/components/suggester-loader-widget/loader.js +139 -0
- package/lib/components/suggester-loader-widget/progress.js +38 -0
- package/lib/components/suggester-loader-widget/tools/action-tool.js +28 -0
- package/lib/components/suggester-loader-widget/tools/index.js +20 -0
- package/lib/components/suggester-loader-widget/tools/tools.js +16 -0
- package/lib/components/suggester-loader-widget/widget-container.js +39 -0
- package/lib/components/suggester-loader-widget/widget.js +140 -0
- package/lib/components/suggester-loader-widget/widget.scss +176 -0
- package/lib/components/switch/index.js +13 -0
- package/lib/components/switch/lunatic-switch.js +47 -0
- package/lib/components/switch/switch.js +78 -0
- package/lib/components/switch/switch.scss +47 -0
- package/lib/components/table/cell.js +88 -0
- package/lib/components/table/components/cell.js +88 -0
- package/lib/components/table/components/header.js +41 -0
- package/lib/components/table/components/row.js +41 -0
- package/lib/components/table/components/table.js +31 -0
- package/lib/components/table/components/table.scss +27 -0
- package/lib/components/table/index.js +13 -0
- package/lib/components/table/lunatic-table.js +77 -0
- package/lib/components/table/table-orchestrator.js +47 -0
- package/lib/components/textarea/index.js +13 -0
- package/lib/components/textarea/lunatic-textarea.js +39 -0
- package/lib/components/textarea/textarea.js +42 -0
- package/lib/components/textarea/textarea.scss +8 -0
- package/lib/constants/component-types.js +8 -0
- package/lib/constants/declarations.js +28 -0
- package/lib/constants/event-types.js +29 -0
- package/lib/constants/index.js +60 -0
- package/lib/constants/supported-preferences.js +13 -0
- package/lib/constants/value-types.js +16 -0
- package/lib/constants/variable-types.js +12 -0
- package/lib/i18n/build-dictionary.js +50 -0
- package/lib/i18n/dictionary.js +34 -0
- package/lib/i18n/index.js +13 -0
- package/lib/index.js +21 -4040
- package/lib/stories/Introduction.stories.mdx +114 -0
- package/lib/stories/checkboxBoolean/checkboxBoolean.stories.js +27 -0
- package/lib/stories/checkboxBoolean/source.json +36 -0
- package/lib/stories/checkboxOne/checkboxOne.stories.js +27 -0
- package/lib/stories/checkboxOne/source.json +36 -0
- package/lib/stories/custom-mui/checkbox-boolean-mui.js +31 -0
- package/lib/stories/custom-mui/checkbox-group-mui.js +66 -0
- package/lib/stories/custom-mui/checkbox-one-mui.js +13 -0
- package/lib/stories/custom-mui/index.js +111 -0
- package/lib/stories/custom-mui/input-mui.js +51 -0
- package/lib/stories/custom-mui/input-number-mui.js +39 -0
- package/lib/stories/custom-mui/radio-mui.js +59 -0
- package/lib/stories/custom-mui/suggester-mui/index.js +13 -0
- package/lib/stories/custom-mui/suggester-mui/suggester-mui.js +290 -0
- package/lib/stories/custom-mui/switch-mui.js +41 -0
- package/lib/stories/custom-mui/table-mui.js +25 -0
- package/lib/stories/custom-mui/tbody-mui.js +21 -0
- package/lib/stories/custom-mui/td-mui.js +23 -0
- package/lib/stories/custom-mui/textarea-mui.js +42 -0
- package/lib/stories/custom-mui/th-mui.js +22 -0
- package/lib/stories/custom-mui/thead-mui.js +21 -0
- package/lib/stories/custom-mui/tr-mui.js +31 -0
- package/lib/stories/date-picker/data.json +3 -0
- package/lib/stories/date-picker/datepicker.stories.js +31 -0
- package/lib/stories/date-picker/source.json +91 -0
- package/lib/stories/dropdown/data.json +16 -0
- package/lib/stories/dropdown/dropdown.stories.js +32 -0
- package/lib/stories/dropdown/source.json +122 -0
- package/lib/stories/filter-description/filter-description.stories.js +49 -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 +29 -0
- package/lib/stories/input/source.json +28 -0
- package/lib/stories/input-number/input-number.stories.js +34 -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 +12 -0
- package/lib/stories/pairwise/links.json +270 -0
- package/lib/stories/pairwise/pairwise-links.stories.js +30 -0
- package/lib/stories/paste-questionnaire/source.json +6290 -0
- package/lib/stories/paste-questionnaire/test.stories.js +83 -0
- package/lib/stories/questionnaires/logement/data.json +2686 -0
- package/lib/stories/questionnaires/logement/logement.stories.js +75 -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/recensement/data.json +12 -0
- package/lib/stories/questionnaires/recensement/recensement.stories.js +58 -0
- package/lib/stories/questionnaires/recensement/source.json +15202 -0
- package/lib/stories/questionnaires/rp/data.json +5 -0
- package/lib/stories/questionnaires/rp/rp.stories.js +36 -0
- package/lib/stories/questionnaires/rp/source.json +262 -0
- package/lib/stories/questionnaires/simpsons/simpsons.stories.js +63 -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 +96 -0
- package/lib/stories/questionnaires-test/test-dylan.json +558 -0
- package/lib/stories/questionnaires-test/test.stories.js +92 -0
- package/lib/stories/radio/radio.stories.js +27 -0
- package/lib/stories/radio/source.json +36 -0
- package/lib/stories/roster-for-loop/roster-for-loop.stories.js +34 -0
- package/lib/stories/roster-for-loop/source-with-header.json +127 -0
- package/lib/stories/roster-for-loop/source.json +114 -0
- package/lib/stories/suggester/source.json +234 -0
- package/lib/stories/suggester/suggester-workers.stories.js +201 -0
- package/lib/stories/suggester/suggester.stories.js +49 -0
- package/{src/stories/checkbox-one → lib/stories/switch}/README.md +31 -31
- package/lib/stories/switch/SwitchMaterialUI.js +41 -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 +85 -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-dynamique.json +67 -0
- package/lib/stories/table/table.stories.js +57 -0
- package/lib/stories/utils/custom-lunatic.scss +28 -0
- package/lib/stories/utils/default-arg-types.js +22 -0
- package/lib/stories/utils/options.js +32 -0
- package/lib/stories/utils/orchestrator.js +165 -0
- package/lib/stories/utils/waiting/index.js +13 -0
- package/lib/stories/utils/waiting/preloader.svg +1 -0
- package/lib/stories/utils/waiting/waiting.js +30 -0
- package/lib/stories/utils/waiting/waiting.scss +21 -0
- package/lib/tests/sample.spec.js +7 -0
- package/lib/use-lunatic/actions.js +90 -0
- package/lib/use-lunatic/commons/calculated-variables.js +100 -0
- package/lib/use-lunatic/commons/check-loops.js +87 -0
- package/lib/use-lunatic/commons/compose.js +24 -0
- package/lib/use-lunatic/commons/create-map-pages.js +87 -0
- package/lib/use-lunatic/commons/execute-condition-filter.js +27 -0
- package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +265 -0
- package/lib/use-lunatic/commons/execute-expression/create-memoizer.js +57 -0
- package/lib/use-lunatic/commons/execute-expression/create-refresh-calculated.js +138 -0
- package/lib/use-lunatic/commons/execute-expression/execute-expression.js +87 -0
- package/lib/use-lunatic/commons/execute-expression/get-expressions-variables.js +37 -0
- package/lib/use-lunatic/commons/execute-expression/get-safety-expression.js +30 -0
- package/lib/use-lunatic/commons/execute-expression/index.js +13 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +123 -0
- package/lib/use-lunatic/commons/fill-components/fill-component-value.js +22 -0
- package/lib/use-lunatic/commons/fill-components/fill-components.js +34 -0
- package/lib/use-lunatic/commons/fill-components/fill-errors.js +27 -0
- package/lib/use-lunatic/commons/fill-components/fill-from-state.js +24 -0
- package/lib/use-lunatic/commons/fill-components/fill-management.js +23 -0
- package/lib/use-lunatic/commons/fill-components/fill-missing-response.js +32 -0
- package/lib/use-lunatic/commons/fill-components/fill-pagination.js +21 -0
- package/lib/use-lunatic/commons/fill-components/index.js +13 -0
- package/lib/use-lunatic/commons/get-compatible-vtl-expression.js +25 -0
- package/lib/use-lunatic/commons/get-component-value/get-component-value.js +177 -0
- package/lib/use-lunatic/commons/get-component-value/index.js +13 -0
- package/lib/use-lunatic/commons/get-components-from-state.js +40 -0
- package/lib/use-lunatic/commons/get-data.js +75 -0
- package/lib/use-lunatic/commons/get-errors-without-empty-value.js +22 -0
- package/lib/use-lunatic/commons/index.js +109 -0
- package/lib/use-lunatic/commons/is-First-last-page.js +18 -0
- package/lib/use-lunatic/commons/is-paginated-loop.js +13 -0
- package/lib/use-lunatic/commons/load-suggesters.js +154 -0
- package/lib/use-lunatic/commons/page-tag.js +64 -0
- package/lib/use-lunatic/commons/use-components-from-state.js +41 -0
- package/lib/use-lunatic/index.js +13 -0
- package/lib/use-lunatic/initial-state.js +41 -0
- package/lib/use-lunatic/reducer/commons/index.js +36 -0
- package/lib/use-lunatic/reducer/commons/is-empty-on-empty-page.js +35 -0
- package/lib/use-lunatic/reducer/commons/resize-array-variable.js +38 -0
- package/lib/use-lunatic/reducer/commons/validate-condition-filter.js +29 -0
- package/lib/use-lunatic/reducer/index.js +13 -0
- package/lib/use-lunatic/reducer/reduce-go-next-page.js +183 -0
- package/lib/use-lunatic/reducer/reduce-go-previous-page.js +145 -0
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +50 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/index.js +13 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.js +61 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.js +129 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.js +81 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-missing.js +70 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-resizing.js +99 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.js +41 -0
- package/lib/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.js +25 -0
- package/lib/use-lunatic/reducer/reduce-on-init.js +225 -0
- package/lib/use-lunatic/reducer/reduce-on-set-waiting.js +21 -0
- package/lib/use-lunatic/reducer/reducer.js +38 -0
- package/lib/use-lunatic/reducer/validate-controls/create-controls-reducer.js +60 -0
- package/lib/use-lunatic/reducer/validate-controls/create-modal-controls-reducer.js +84 -0
- package/lib/use-lunatic/reducer/validate-controls/index.js +20 -0
- package/lib/use-lunatic/reducer/validate-controls/validation-utils.js +60 -0
- package/lib/use-lunatic/use-lunatic.js +170 -0
- package/lib/utils/constants/features.js +12 -0
- package/lib/utils/constants/index.js +60 -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 +42 -0
- package/lib/utils/idb-tools/create-db-opener.js +47 -0
- package/lib/utils/idb-tools/create-open-db.js +29 -0
- package/lib/utils/idb-tools/get-entity.js +21 -0
- package/lib/utils/idb-tools/get-idb.js +13 -0
- package/lib/utils/idb-tools/idb-bulk-insert.js +134 -0
- package/lib/utils/idb-tools/index.js +64 -0
- package/lib/utils/idb-tools/insert-entity.js +21 -0
- package/lib/utils/idb-tools/open-db.js +24 -0
- package/lib/utils/idb-tools/open-or-create-db.js +42 -0
- package/lib/utils/is-element.js +10 -0
- package/lib/utils/store-tools/auto-load.js +168 -0
- package/lib/utils/store-tools/clear-store-data.js +35 -0
- package/lib/utils/store-tools/clear-store-info.js +35 -0
- package/lib/utils/store-tools/constantes.js +31 -0
- package/lib/utils/store-tools/create/create.js +53 -0
- package/lib/utils/store-tools/create/index.js +20 -0
- package/lib/utils/store-tools/create/update-store-info.js +27 -0
- package/lib/utils/store-tools/get-store-count.js +24 -0
- package/lib/utils/store-tools/index.js +54 -0
- package/lib/utils/store-tools/open-or-create-store.js +50 -0
- package/lib/utils/store-tools/use-store-index.js +60 -0
- package/lib/utils/suggester-workers/append-to-index/append.js +80 -0
- package/lib/utils/suggester-workers/append-to-index/append.worker.js +27 -0
- package/lib/utils/suggester-workers/append-to-index/create-append-task.js +58 -0
- package/lib/utils/suggester-workers/append-to-index/index.js +20 -0
- package/lib/utils/suggester-workers/append-to-index/prepare-entities.js +88 -0
- package/lib/utils/suggester-workers/append-to-index/store-messages.js +45 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +54 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +77 -0
- package/lib/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +36 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +21 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +36 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +14 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +19 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +16 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.js +25 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +23 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.js +15 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +23 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.js +23 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +16 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +53 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +14 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +16 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +14 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/index.js +20 -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 +14 -0
- package/lib/utils/suggester-workers/commons-tokenizer/get-stemmer.js +23 -0
- package/lib/utils/suggester-workers/commons-tokenizer/index.js +69 -0
- package/lib/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +18 -0
- package/lib/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +12 -0
- package/lib/utils/suggester-workers/create-worker.js +54 -0
- package/lib/utils/suggester-workers/find-best-label/find-best-label.js +63 -0
- package/lib/utils/suggester-workers/find-best-label/find-best-label.worker.js +53 -0
- package/lib/utils/suggester-workers/find-best-label/index.js +1 -0
- package/lib/utils/suggester-workers/find-best-label/tokenize.js +45 -0
- package/lib/utils/suggester-workers/find-best-label/tokenize.spec.js +24 -0
- package/lib/utils/suggester-workers/searching/compute-score.js +51 -0
- package/lib/utils/suggester-workers/searching/get-db.js +50 -0
- package/lib/utils/suggester-workers/searching/index.js +13 -0
- package/lib/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +28 -0
- package/lib/utils/suggester-workers/searching/order/index.js +25 -0
- package/lib/utils/suggester-workers/searching/query-parser/index.js +20 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.js +12 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-soft.spec.js +26 -0
- package/lib/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +35 -0
- package/lib/utils/suggester-workers/searching/resolve-query-parser.js +59 -0
- package/lib/utils/suggester-workers/searching/search-in-index.js +22 -0
- package/lib/utils/suggester-workers/searching/searching.js +135 -0
- package/lib/utils/suggester-workers/searching/searching.worker.js +20 -0
- package/lib/utils/vtl/dataset-builder.js +24 -0
- package/lib/utils/vtl/index.js +13 -0
- package/package.json +163 -140
- 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 -168
- package/src/components/checkbox/index.js +0 -3
- package/src/components/checkbox/one.js +0 -27
- package/src/components/components.js +0 -15
- 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 -162
- package/src/components/declarations/wrappers/list-declarations-wrapper.js +0 -159
- 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/loops/index.js +0 -2
- package/src/components/loops/loop/build-components.js +0 -33
- package/src/components/loops/loop/component.js +0 -88
- package/src/components/loops/loop/index.js +0 -1
- package/src/components/loops/loop/loop.scss +0 -17
- package/src/components/loops/roster/build-components.js +0 -26
- package/src/components/loops/roster/component.js +0 -199
- package/src/components/loops/roster/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/loops/README.md +0 -29
- package/src/stories/loops/custom-lunatic.scss +0 -786
- package/src/stories/loops/data-loop-deeper.json +0 -298
- package/src/stories/loops/data-loop.json +0 -213
- package/src/stories/loops/data-roster.json +0 -69
- package/src/stories/loops/img/arrow.png +0 -0
- package/src/stories/loops/img/check_box.svg +0 -1
- package/src/stories/loops/img/check_box_outline.svg +0 -1
- package/src/stories/loops/img/lunatic-logo.png +0 -0
- package/src/stories/loops/img/menu-down.svg +0 -1
- package/src/stories/loops/img/menu-up.svg +0 -1
- package/src/stories/loops/img/radio_button_checked.svg +0 -1
- package/src/stories/loops/img/radio_button_unchecked.svg +0 -1
- package/src/stories/loops/loop.stories.js +0 -56
- package/src/stories/loops/vqs.json +0 -846
- 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.json +0 -28
- package/src/stories/textarea/textarea.stories.js +0 -67
- package/src/stories/tooltip-response/README.md +0 -14
- package/src/stories/tooltip-response/tooltip.stories.js +0 -43
- package/src/stories/utils/options.js +0 -21
- package/src/stories/utils/orchestrator.js +0 -52
- 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 -55
- package/src/utils/to-expose/index.js +0 -10
- package/src/utils/to-expose/init-questionnaire.js +0 -114
- package/src/utils/to-expose/interpret.js +0 -32
- 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/constants/supported-preferences.js","../src/utils/to-expose/handler.js","../src/utils/to-expose/state.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/loops/loop/build-components.js","../src/components/loops/loop/component.js","../src/components/loops/roster/build-components.js","../src/components/loops/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 getRosterForLoopInitLines = (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 lastRosterForLoopLineIsEmpty = (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\nexport const areEqual = (prevProps, props) => {\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 VarsHasBeenUpdated(prevProps, props);\r\n};\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\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 ? replaceNullBindings(bindings) : 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 replaceNullBindings = (bindings) =>\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 ? 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 './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 * 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 { 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\tcomponents.filter(({ conditionFilter }) =>\r\n\t\tmanagement || !conditionFilter\r\n\t\t\t? true\r\n\t\t\t: interpret(features)(bindings, true)(conditionFilter) === 'normal'\r\n\t);\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\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? `${U.getAlphabet()[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ti\r\n\t\t\t\t\t\t\t\t\t\t\t\t ].toUpperCase()} - ${interpretedLabel}`\r\n\t\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 { debounce } from 'debounce';\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\tuseEffect(() => setValue(U.getResponseByPreference(preferences)(response)), [\r\n\t\tresponse,\r\n\t\tpreferences,\r\n\t]);\r\n\r\n\tconst onChange = debounce((v) => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: v,\r\n\t\t});\r\n\t}, 200);\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);\r\n\t\t\t\t\t\t\t\tonChange(v);\r\n\t\t\t\t\t\t\t}}\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)}`}\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? `${U.getAlphabet()[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ti\r\n\t\t\t\t\t\t\t\t\t\t\t ].toUpperCase()} - ${interpretedLabel}`\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</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 { debounce } from 'debounce';\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\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\tuseEffect(() => setValue(U.getResponseByPreference(preferences)(response)), [\r\n\t\tresponse,\r\n\t\tpreferences,\r\n\t]);\r\n\r\n\tconst onChange = debounce((v) => {\r\n\t\thandleChange({\r\n\t\t\t[U.getResponseName(response)]: v,\r\n\t\t});\r\n\t}, 200);\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={(e) => {\r\n\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\ttarget: { value: v },\r\n\t\t\t\t\t\t\t\t} = e;\r\n\t\t\t\t\t\t\t\tvalidate(v);\r\n\t\t\t\t\t\t\t\tsetValue(v);\r\n\t\t\t\t\t\t\t\tonChange(v);\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{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\tunitPositioni: '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\trosterDependencies,\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 */\r\n\tuseEffect(() => {\r\n\t\tinvolvedVariables.forEach(({ name: iv, depth }) => {\r\n\t\t\tif (bindings[iv] && iterationNb > bindings[iv].length)\r\n\t\t\t\thandleChange({\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});\r\n\t}, [iterationNb, bindings, handleChange, involvedVariables]);\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(rosterDependencies)(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(rosterDependencies)(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/>\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 buildRosterUIComponents = (headers) => (components) => {\r\n\tconst uiComponents = components.map((comp) => {\r\n\t\tconst { response, ...other } = comp;\r\n\t\tconst { name, values } = response;\r\n\t\tconst size = values[C.COLLECTED] ? values[C.COLLECTED].length : 0;\r\n\t\treturn [...Array(size).keys()].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, ...rows];\r\n};\r\n","import React, { useState, useEffect } 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 { buildRosterUIComponents } from './build-components';\r\n\r\nconst RosterForLoop = ({\r\n\tid: tableId,\r\n\tlabel: tableLabel,\r\n\tpreferences,\r\n\theaders,\r\n\tcomponents,\r\n\thandleChange,\r\n\tlines,\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 [todo, setTodo] = useState({});\r\n\tconst minLines = Math.max(\r\n\t\tlines.min || 0,\r\n\t\tU.getRosterForLoopInitLines(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 uiComponents = buildRosterUIComponents(headers)(components);\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\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{uiComponents.map((row, i) => (\r\n\t\t\t\t\t\t<tr key={`table-${tableId}-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-${tableId}-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-${tableId}-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\t{!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\tdisabled={\r\n\t\t\t\t\t\t(Number.isInteger(minLines) && minLines === maxLines) ||\r\n\t\t\t\t\t\tU.lastRosterForLoopLineIsEmpty(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={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\nRosterForLoop.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\nRosterForLoop.propTypes = {\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(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","getRosterForLoopInitLines","components","c","getInvolvedVariables","parentComponents","responses","depth","lastRosterForLoopLineIsEmpty","involvedVariables","buildEmptyValue","fill","areEqual","prevProps","props","bindingDependencies","oldB","newB","d","isEqual","includes","VarsHasBeenUpdated","oldR","oldRs","oldC","newR","newRs","newC","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","mergeQuestionnaireAndData","questionnaire","data","variables","vars","buildVars","filledComponents","buildFilledComponents","collectedData","variableType","componentRef","initExternalVariable","initCalculatedVariable","buildFilledComponent","buildResponseComponent","buildResponsesComponent","buildCellsComponent","buildComponentsComponent","rest","filledResponses","filledCells","row","supportedPreferences","updateQuestionnaire","valueType","updatedValues","other","varsAndRefs","newVariables","otherVars","refs","updated","buildNewValue","newCollected","newVariablesWithCalculated","addCalculatedVars","collectedVars","newComponents","oldValues","indexOf","valuesByPreference","slice","lastValue","calculated","res","join","getState","getCalculatedFromVariables","getCollectedState","getExternalFromVariables","getCollectedStateByValueType","displayNull","getBindings","filterComponents","management","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","onChange","debounce","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","unitPositioni","FilterDescription","filterDescription","ProgressBar","controledValue","toFixed","Radio","buildLoopComponents","iterations","toFlat","rowNumber","buildFlatten","buildFlattenResponse","Loop","rosterDependencies","orchetratorProps","vectorialBindings","iterationNb","up","previousValue","newValue","flattenComponents","loopComponents","componentType","idC","loopBindings","lunatic","buildRosterUIComponents","headers","uiComponents","comp","size","transpose","x","rows","RosterForLoop","tableId","tableLabel","lines","addBtnLabel","hideBtn","minLines","maxLines","addLine","toHandle","j","headerCell","colspan","rowspan","componentProps","localBindings","cellOptions","colSpan","rowSpan","isInteger","Sequence","Subsequence","Textarea","Table","initLines","setLines"],"mappings":"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"}
|