@inseefr/lunatic 2.5.2 → 2.6.0-rc.1
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/README.fr.md +186 -0
- package/README.md +111 -94
- package/lib/components/button/lunatic-button.js +10 -13
- package/lib/components/checkbox/checkbox-group/html/checkbox-group.js +0 -1
- package/lib/components/commons/components/combo-box/combo-box-content.js +1 -1
- package/lib/components/commons/components/combo-box/combo-box.js +93 -66
- package/lib/components/commons/components/combo-box/combo-box.stories.js +69 -8
- package/lib/components/commons/components/combo-box/panel/panel.js +0 -1
- package/lib/components/commons/components/combo-box/selection/LabelOrInput.js +4 -1
- package/lib/components/commons/components/combo-box/selection/LabelOrInput.spec.js +2 -4
- package/lib/components/commons/components/combo-box/selection/combo-box-label-selection.js +5 -2
- package/lib/components/commons/components/combo-box/selection/label-selection.js +4 -2
- package/lib/components/commons/components/combo-box/selection/selection.js +2 -0
- package/lib/components/commons/components/fab/fab.js +0 -1
- package/lib/components/commons/components/fieldset.js +0 -1
- package/lib/components/commons/components/lunatic-component-with-label.js +1 -3
- package/lib/components/commons/components/md-label/md-label.js +5 -1
- package/lib/components/commons/components/md-label/md-label.spec.js +15 -0
- package/lib/components/commons/components/missing/missing.js +1 -3
- package/lib/components/commons/components/variable-status/variable-status.js +2 -3
- package/lib/components/commons/create-customizable-field.js +1 -0
- package/lib/components/commons/icons/closed-icon.js +0 -2
- package/lib/components/commons/icons/cross-icon.js +0 -2
- package/lib/components/commons/index.js +0 -7
- package/lib/components/component-set/html/__snapshots__/component-set.spec.tsx.snap +124 -0
- package/lib/components/component-set/html/{legend/legend.js → component-set-legend.js} +4 -6
- package/lib/components/component-set/html/component-set-wrapper.js +16 -0
- package/lib/components/component-set/html/component-set.js +7 -8
- package/lib/components/component-set/html/component-set.spec.js +91 -0
- package/lib/components/component-set/lunatic-component-set.js +19 -9
- package/lib/components/datepicker/html/__snapshots__/datepicker.spec.tsx.snap +34 -0
- package/lib/components/datepicker/html/datepicker-input.js +0 -1
- package/lib/components/datepicker/html/datepicker.js +1 -4
- package/lib/components/datepicker/html/datepicker.spec.js +38 -0
- package/lib/components/datepicker/lunatic-datepicker.js +0 -1
- package/lib/components/dropdown/html/__snapshots__/dropdown.spec.tsx.snap +85 -0
- package/lib/components/dropdown/html/dropdown-simple/dropdown-simple.js +3 -2
- package/lib/components/dropdown/html/dropdown-simple/simple-label-renderer.js +0 -2
- package/lib/components/dropdown/html/dropdown-writable/dropdown-writable.js +4 -5
- package/lib/components/dropdown/html/dropdown-writable/writable-label-renderer.js +1 -4
- package/lib/components/dropdown/html/dropdown-writable/writable-option-renderer.js +1 -3
- package/lib/components/dropdown/html/dropdown.js +4 -2
- package/lib/components/dropdown/html/dropdown.spec.js +48 -0
- package/lib/components/dropdown/lunatic-dropdown.js +5 -4
- package/lib/components/duration/getDurationFromValue.js +0 -1
- package/lib/components/filter-description/component.js +0 -2
- package/lib/components/index.js +6 -5
- package/lib/components/input/html/__snapshots__/input.spec.tsx.snap +34 -0
- package/lib/components/input/html/input.js +4 -5
- package/lib/components/input/html/input.spec.js +81 -0
- package/lib/components/input/lunatic-input.js +4 -2
- package/lib/components/input-number/html/__snapshots__/input-number.spec.tsx.snap +38 -90
- package/lib/components/input-number/html/input-number-thousand.js +2 -0
- package/lib/components/input-number/html/input-number.js +3 -0
- package/lib/components/input-number/html/input-number.spec.js +35 -19
- package/lib/components/input-number/lunatic-input-number.js +2 -1
- package/lib/components/loop/{block-for-loop/block-for-loop.js → block-for-loop.js} +39 -64
- package/lib/components/loop/{commons/handle-row-button.js → loop-button.js} +4 -7
- package/lib/components/loop/{roster-for-loop/header.js → loop-header.js} +4 -8
- package/lib/components/loop/loop.js +19 -65
- package/lib/components/loop/roster-for-loop/roster-for-loop.js +102 -83
- package/lib/components/loop/{commons/get-init-length.js → utils/get-initial-nb-rows.js} +6 -5
- package/lib/components/{loop/roster-for-loop/body.js → lunatic-components.js} +46 -37
- package/lib/components/modal/html/modal.js +45 -73
- package/lib/components/modal/html/modal.scss +25 -42
- package/lib/components/modal/lunatic-modal.js +33 -9
- package/lib/components/modal-controls/close-or-skip.js +0 -1
- package/lib/components/modal-controls/modal-controls.spec.js +5 -6
- package/lib/components/pairwise-links/orchestrator.js +1 -4
- package/lib/components/pairwise-links/row.js +1 -4
- package/lib/components/question-explication/html/question-explication.js +0 -1
- package/lib/components/radio/html/radio-group-content.js +4 -3
- package/lib/components/radio/html/radio-group.js +4 -2
- package/lib/components/radio/html/radio-option.js +7 -8
- package/lib/components/radio/lunatic-radio-group.js +4 -2
- package/lib/components/roundabout/components/roundabout-it-title.js +0 -2
- package/lib/components/roundabout/components/roundabout-label.js +0 -2
- package/lib/components/roundabout/lunatic-roundabout.js +1 -4
- package/lib/components/roundabout/roundabout.js +0 -1
- package/lib/components/suggester/html/notification.js +0 -1
- package/lib/components/suggester/html/suggester.js +3 -3
- package/lib/components/suggester/idb-suggester/check-store.js +3 -5
- package/lib/components/suggester/idb-suggester/idb-suggester.js +4 -5
- package/lib/components/suggester/idb-suggester/suggester-notification.js +2 -2
- package/lib/components/suggester/lunatic-suggester.js +3 -1
- package/lib/components/suggester-loader-widget/loader-row.js +1 -4
- package/lib/components/suggester-loader-widget/loader.js +1 -3
- package/lib/components/summary/html/summary-responses.js +13 -7
- package/lib/components/summary/lunatic-summary.js +8 -4
- package/lib/components/switch/html/switch.js +0 -1
- package/lib/components/table/cell.js +0 -2
- package/lib/components/table/header.js +0 -2
- package/lib/components/table/row.js +0 -1
- package/lib/components/textarea/html/__snapshots__/textarea.spec.tsx.snap +30 -0
- package/lib/components/textarea/html/textarea.js +5 -6
- package/lib/components/textarea/html/textarea.spec.js +38 -0
- package/lib/components/textarea/lunatic-textarea.js +4 -2
- package/lib/index.js +8 -0
- package/lib/src/components/button/lunatic-button.d.ts +5 -3
- package/lib/src/components/checkbox/checkbox-boolean/html/checkbox-boolean.d.ts +2 -2
- package/lib/src/components/checkbox/checkbox-boolean/lunatic-checkbox-boolean.d.ts +1 -1
- package/lib/src/components/checkbox/checkbox-group/checkbox-group-content.d.ts +1 -1
- package/lib/src/components/checkbox/checkbox-group/html/checkbox-group-content.d.ts +1 -1
- package/lib/src/components/checkbox/checkbox-group/html/checkbox-group.d.ts +4 -4
- package/lib/src/components/checkbox/checkbox-group/lunatic-checkbox-group.d.ts +2 -2
- package/lib/src/components/checkbox/checkbox-one/html/checkbox-one.d.ts +1 -1
- package/lib/src/components/checkbox/checkbox-one/lunatic-checkbox-one.d.ts +1 -1
- package/lib/src/components/checkbox/commons/checkbox-option.d.ts +2 -2
- package/lib/src/components/commons/components/combo-box/combo-box-container.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/combo-box-content-box.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/combo-box-content.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/combo-box.d.ts +6 -5
- package/lib/src/components/commons/components/combo-box/combo-box.stories.d.ts +30 -2
- package/lib/src/components/commons/components/combo-box/combo-box.type.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/panel/combo-box-option.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/panel/panel-container.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/panel/panel.d.ts +2 -2
- package/lib/src/components/commons/components/combo-box/selection/LabelOrInput.d.ts +3 -2
- package/lib/src/components/commons/components/combo-box/selection/combo-box-label-selection.d.ts +2 -1
- package/lib/src/components/commons/components/combo-box/selection/input.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/selection/label-selection.d.ts +4 -3
- package/lib/src/components/commons/components/combo-box/selection/selection-container.d.ts +1 -1
- package/lib/src/components/commons/components/combo-box/selection/selection.d.ts +3 -2
- package/lib/src/components/commons/components/description.d.ts +1 -1
- package/lib/src/components/commons/components/dragger/dragger.d.ts +1 -1
- package/lib/src/components/commons/components/errors/errors.d.ts +1 -1
- package/lib/src/components/commons/components/fab/fab.d.ts +1 -1
- package/lib/src/components/commons/components/field-container/field-container.d.ts +1 -1
- package/lib/src/components/commons/components/fieldset.d.ts +3 -3
- package/lib/src/components/commons/components/html-table/table.d.ts +1 -1
- package/lib/src/components/commons/components/html-table/thead.d.ts +1 -1
- package/lib/src/components/commons/components/label/label.d.ts +1 -1
- package/lib/src/components/commons/components/lunatic-component-with-label.d.ts +2 -2
- package/lib/src/components/commons/components/lunatic-component-without-label.d.ts +2 -2
- package/lib/src/components/commons/components/md-label/link.d.ts +1 -1
- package/lib/src/components/commons/components/md-label/md-label.spec.d.ts +1 -0
- package/lib/src/components/commons/components/missing/missing.d.ts +1 -1
- package/lib/src/components/commons/components/orchestrated-component.d.ts +2 -2
- package/lib/src/components/commons/components/variable-status/variable-status.d.ts +1 -1
- package/lib/src/components/commons/create-customizable-field.d.ts +1 -1
- package/lib/src/components/commons/icons/checkbox-checked-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/checkbox-unchecked-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/closed-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/cross-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/load-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/lunatic-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/network-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/on-drag-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/opened-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/radio-checked-icon.d.ts +1 -1
- package/lib/src/components/commons/icons/radio-unchecked-icon.d.ts +1 -1
- package/lib/src/components/commons/index.d.ts +0 -1
- package/lib/src/components/commons/safety-label.d.ts +1 -1
- package/lib/src/components/component-set/html/component-set-legend.d.ts +8 -0
- package/lib/src/components/component-set/html/component-set-wrapper.d.ts +6 -0
- package/lib/src/components/component-set/html/component-set.d.ts +5 -4
- package/lib/src/components/component-set/html/component-set.spec.d.ts +1 -0
- package/lib/src/components/component-set/lunatic-component-set.d.ts +3 -4
- package/lib/src/components/datepicker/html/datepicker-container.d.ts +1 -1
- package/lib/src/components/datepicker/html/datepicker-input.d.ts +1 -1
- package/lib/src/components/datepicker/html/datepicker.d.ts +3 -3
- package/lib/src/components/datepicker/html/datepicker.spec.d.ts +1 -0
- package/lib/src/components/datepicker/lunatic-datepicker.d.ts +2 -2
- package/lib/src/components/declarations/declaration.d.ts +1 -1
- package/lib/src/components/declarations/declarations-after-text.d.ts +1 -1
- package/lib/src/components/declarations/declarations-before-text.d.ts +1 -1
- package/lib/src/components/declarations/declarations-detachable.d.ts +1 -1
- package/lib/src/components/declarations/declarations.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown-simple/dropdown-simple.d.ts +2 -2
- package/lib/src/components/dropdown/html/dropdown-simple/simple-label-renderer.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown-simple/simple-option-renderer.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown-writable/dropdown-writable.d.ts +5 -4
- package/lib/src/components/dropdown/html/dropdown-writable/writable-label-renderer.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown-writable/writable-option-renderer.d.ts +1 -1
- package/lib/src/components/dropdown/html/dropdown.d.ts +4 -3
- package/lib/src/components/dropdown/html/dropdown.spec.d.ts +1 -0
- package/lib/src/components/dropdown/lunatic-dropdown.d.ts +2 -2
- package/lib/src/components/duration/duration.d.ts +1 -1
- package/lib/src/components/duration/durationInput.d.ts +1 -1
- package/lib/src/components/duration/formatDuration.d.ts +1 -1
- package/lib/src/components/duration/getDurationFromValue.d.ts +1 -1
- package/lib/src/components/duration/index.d.ts +1 -1
- package/lib/src/components/filter-description/component.d.ts +2 -2
- package/lib/src/components/index.d.ts +4 -4
- package/lib/src/components/input/html/input.d.ts +4 -3
- package/lib/src/components/input/html/input.spec.d.ts +1 -0
- package/lib/src/components/input/lunatic-input.d.ts +1 -1
- package/lib/src/components/input-number/html/input-number-thousand.d.ts +2 -1
- package/lib/src/components/input-number/html/input-number.d.ts +3 -2
- package/lib/src/components/input-number/lunatic-input-number.d.ts +1 -1
- package/lib/src/components/loop/{block-for-loop/block-for-loop.d.ts → block-for-loop.d.ts} +6 -4
- package/lib/src/components/loop/loop-button.d.ts +7 -0
- package/lib/src/components/loop/loop-header.d.ts +9 -0
- package/lib/src/components/loop/loop.d.ts +2 -3
- package/lib/src/components/loop/roster-for-loop/roster-for-loop.d.ts +7 -5
- package/lib/src/components/loop/utils/get-initial-nb-rows.d.ts +4 -0
- package/lib/src/components/lunatic-components.d.ts +13 -0
- package/lib/src/components/modal/html/modal.d.ts +10 -13
- package/lib/src/components/modal/lunatic-modal.d.ts +2 -2
- package/lib/src/components/modal-controls/close-or-skip.d.ts +1 -1
- package/lib/src/components/modal-controls/modal-container.d.ts +1 -1
- package/lib/src/components/modal-controls/modal-controls.d.ts +2 -2
- package/lib/src/components/pairwise-links/orchestrator.d.ts +1 -1
- package/lib/src/components/pairwise-links/pairwise-links.d.ts +1 -1
- package/lib/src/components/pairwise-links/row.d.ts +1 -1
- package/lib/src/components/question-explication/html/question-explication.d.ts +1 -1
- package/lib/src/components/question-explication/lunatic-question-explication.d.ts +1 -1
- package/lib/src/components/radio/html/radio-group-content.d.ts +3 -2
- package/lib/src/components/radio/html/radio-group.d.ts +3 -2
- package/lib/src/components/radio/html/radio-option.d.ts +3 -2
- package/lib/src/components/roundabout/components/roundabout-it-title.d.ts +3 -3
- package/lib/src/components/roundabout/components/roundabout-label.d.ts +3 -3
- package/lib/src/components/roundabout/lunatic-roundabout.d.ts +1 -1
- package/lib/src/components/roundabout/roundabout.d.ts +2 -2
- package/lib/src/components/sequence/html/sequence.d.ts +1 -1
- package/lib/src/components/sequence/lunatic-sequence.d.ts +2 -2
- package/lib/src/components/suggester/html/notification.d.ts +2 -2
- package/lib/src/components/suggester/html/suggester.d.ts +6 -5
- package/lib/src/components/suggester/idb-suggester/check-store.d.ts +1 -1
- package/lib/src/components/suggester/idb-suggester/idb-suggester.d.ts +3 -3
- package/lib/src/components/suggester/idb-suggester/suggester-notification.d.ts +1 -1
- package/lib/src/components/suggester/idb-suggester/suggester-status.d.ts +1 -1
- package/lib/src/components/suggester/lunatic-suggester.d.ts +2 -2
- package/lib/src/components/suggester/searching/create-searching.d.ts +1 -1
- package/lib/src/components/suggester-loader-widget/loader-row.d.ts +1 -1
- package/lib/src/components/suggester-loader-widget/loader.d.ts +1 -1
- package/lib/src/components/suggester-loader-widget/tools/action-tool.d.ts +1 -1
- package/lib/src/components/suggester-loader-widget/tools/tools.d.ts +1 -1
- package/lib/src/components/suggester-loader-widget/widget.d.ts +1 -1
- package/lib/src/components/summary/html/summary-container.d.ts +1 -1
- package/lib/src/components/summary/html/summary-responses.d.ts +3 -1
- package/lib/src/components/summary/html/summary-title.d.ts +1 -1
- package/lib/src/components/summary/lunatic-summary.d.ts +3 -2
- package/lib/src/components/switch/html/switch.d.ts +3 -3
- package/lib/src/components/switch/lunatic-switch.d.ts +1 -1
- package/lib/src/components/table/cell.d.ts +1 -1
- package/lib/src/components/table/header.d.ts +1 -1
- package/lib/src/components/table/lunatic-table.d.ts +1 -1
- package/lib/src/components/table/row.d.ts +1 -1
- package/lib/src/components/table/table-orchestrator.d.ts +1 -1
- package/lib/src/components/textarea/html/textarea.d.ts +4 -3
- package/lib/src/components/textarea/html/textarea.spec.d.ts +1 -0
- package/lib/src/components/textarea/lunatic-textarea.d.ts +1 -1
- package/lib/src/components/type.d.ts +9 -6
- package/lib/src/i18n/build-dictionary.d.ts +1 -1
- package/lib/src/index.d.ts +1 -0
- package/lib/src/use-lunatic/actions.d.ts +4 -8
- package/lib/src/use-lunatic/commons/calculated-variables.d.ts +1 -1
- package/lib/src/use-lunatic/commons/check-loops.d.ts +1 -1
- package/lib/src/use-lunatic/commons/check-pager.d.ts +1 -1
- package/lib/src/use-lunatic/commons/compile-controls.d.ts +1 -1
- package/lib/src/use-lunatic/commons/compose.d.ts +1 -1
- package/lib/src/use-lunatic/commons/create-map-pages.d.ts +2 -2
- package/lib/src/use-lunatic/commons/execute-condition-filter.d.ts +1 -1
- package/lib/src/use-lunatic/commons/execute-expression/create-execute-expression.d.ts +1 -1
- package/lib/src/use-lunatic/commons/execute-expression/create-refresh-calculated.d.ts +2 -2
- package/lib/src/use-lunatic/commons/execute-expression/execute-expression.d.ts +3 -3
- package/lib/src/use-lunatic/commons/execute-expression/get-safety-expression.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.d.ts +5 -2
- package/lib/src/use-lunatic/commons/fill-components/fill-component-value.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-components.d.ts +15 -10
- package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +38 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-management.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-missing-response.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-pagination.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +62 -33
- package/lib/src/use-lunatic/commons/get-compatible-vtl-expression.d.ts +1 -1
- package/lib/src/use-lunatic/commons/get-component-value/get-component-value.d.ts +1 -1
- package/lib/src/use-lunatic/commons/get-components-from-state.d.ts +1 -2
- package/lib/src/use-lunatic/commons/get-data.d.ts +1 -1
- package/lib/src/use-lunatic/commons/get-errors-without-empty-value.d.ts +1 -1
- package/lib/src/use-lunatic/commons/getOverview.d.ts +1 -1
- package/lib/src/use-lunatic/commons/is-First-last-page.d.ts +1 -1
- package/lib/src/use-lunatic/commons/is-paginated-loop.d.ts +1 -1
- package/lib/src/use-lunatic/commons/is-roundabout.d.ts +1 -1
- package/lib/src/use-lunatic/commons/page-navigation.d.ts +2 -2
- package/lib/src/use-lunatic/commons/page-tag.d.ts +1 -1
- package/lib/src/use-lunatic/commons/page.d.ts +2 -2
- package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +2 -2
- package/lib/src/use-lunatic/hooks/use-loop-variables.d.ts +1 -1
- package/lib/src/use-lunatic/lunatic-context.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/commons/auto-explore-loop.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/commons/is-loop-component.d.ts +3 -3
- package/lib/src/use-lunatic/reducer/commons/validate-condition-filter.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/overview/overview-on-change.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/overview/overview-on-init.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-go-next-page.d.ts +2 -4
- package/lib/src/use-lunatic/reducer/reduce-go-next-page.spec.d.ts +1 -0
- package/lib/src/use-lunatic/reducer/reduce-go-previous-page.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/reduce-go-previous-page.spec.d.ts +1 -0
- package/lib/src/use-lunatic/reducer/reduce-go-to-page.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-cleaning.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-handle-change.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-links-variable.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-missing.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-resizing.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-array.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/reduce-handle-change/reduce-variables-simple.d.ts +1 -1
- package/lib/src/use-lunatic/reducer/reduce-on-init.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-on-set-waiting.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reduce-update-state.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/reducer.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-component-control.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-roundabout-control.d.ts +2 -2
- package/lib/src/use-lunatic/reducer/resolve-component-controls/resolve-simple-control.d.ts +2 -2
- package/lib/src/use-lunatic/replace-component-sequence.d.ts +3 -1
- package/lib/src/use-lunatic/type-source.d.ts +3 -1
- package/lib/src/use-lunatic/type.d.ts +3 -3
- package/lib/src/use-lunatic/use-lunatic.d.ts +21 -15
- package/lib/src/use-lunatic/use-suggesters.d.ts +1 -1
- package/lib/src/utils/array.d.ts +8 -0
- package/lib/src/utils/dom.d.ts +14 -0
- package/lib/src/utils/is-element.d.ts +1 -1
- package/lib/src/utils/number.d.ts +5 -0
- package/lib/src/utils/number.spec.d.ts +1 -0
- package/lib/src/utils/store-tools/initStore.d.ts +1 -1
- package/lib/src/utils/suggester-workers/append-to-index/create-append-task.d.ts +1 -1
- package/lib/src/utils/suggester-workers/searching/compute-score.d.ts +1 -1
- package/lib/stories/checkbox-one/source.json +2 -2
- package/lib/stories/component-set/component-set.stories.js +9 -9
- package/lib/stories/component-set/{data2.json → data-roundabout.json} +1 -1
- package/lib/stories/component-set/data.json +8 -1
- package/lib/stories/component-set/source-loop.json +308 -0
- package/lib/stories/component-set/source-roundabout.json +434 -0
- package/lib/stories/component-set/source.json +16 -2
- package/lib/stories/disabled/data.json +32 -0
- package/lib/{components/commons/components/combo-box/state-management/reduce-on-keydown/on-end.js → stories/disabled/disabled.stories.js} +25 -12
- package/lib/stories/disabled/source.json +382 -0
- package/lib/stories/input/source-with-question.json +9 -3
- package/lib/stories/input/source.json +6 -0
- package/lib/stories/loop/source-paginated.json +2 -2
- package/lib/stories/overview/source.json +1 -1
- package/lib/stories/overview/sourceWithHierarchy.json +10 -2
- package/lib/stories/pairwise/links-componentset.json +292 -0
- package/lib/stories/pairwise/pairwise-links.stories.js +11 -2
- package/lib/stories/question-explication/source.json +16 -16
- package/lib/stories/questionnaires/logement/source-sum.json +31805 -34611
- package/lib/stories/questionnaires/recensement/source.json +2 -2
- package/lib/stories/questionnaires/simpsons/simpsons.stories.js +4 -4
- package/lib/stories/questionnaires-test/V2_DeclarationsSimples.json +963 -847
- package/lib/stories/questionnaires-test/V2_QuestSimple_Boucles.json +4350 -4090
- package/lib/stories/suggester/simple.json +4 -0
- package/lib/stories/summary/source.json +55 -40
- package/lib/stories/utils/orchestrator.js +11 -22
- package/lib/tests/utils/lunatic.d.ts +16 -2
- package/lib/use-lunatic/commons/execute-expression/create-execute-expression.js +13 -45
- package/lib/use-lunatic/commons/execute-expression/execute-expression.js +0 -1
- package/lib/use-lunatic/commons/fill-components/fill-component-expressions.js +5 -1
- package/lib/use-lunatic/commons/fill-components/fill-components.js +10 -2
- package/lib/use-lunatic/commons/fill-components/fill-from-state.js +3 -0
- package/lib/use-lunatic/commons/fill-components/fill-specific-expression.js +66 -21
- package/lib/use-lunatic/commons/get-component-value/get-component-value.js +1 -3
- package/lib/use-lunatic/commons/page.js +6 -0
- package/lib/use-lunatic/hooks/use-loop-variables.js +1 -1
- package/lib/use-lunatic/reducer/reduce-go-next-page.js +10 -10
- package/lib/use-lunatic/reducer/reduce-go-next-page.spec.js +13 -0
- package/lib/use-lunatic/reducer/reduce-go-previous-page.js +3 -3
- package/lib/use-lunatic/reducer/reduce-go-previous-page.spec.js +14 -0
- package/lib/use-lunatic/reducer/reduce-go-to-page.js +3 -8
- package/lib/use-lunatic/reducer/reduce-handle-change/__mocks__/source-cleaning-loop.json +790 -924
- package/lib/use-lunatic/reducer/reducer.js +2 -2
- package/lib/use-lunatic/use-lunatic.js +5 -2
- package/lib/use-lunatic/use-lunatic.test.js +26 -0
- package/lib/utils/array.js +33 -0
- package/lib/utils/dom.js +27 -0
- package/lib/utils/number.js +30 -0
- package/lib/utils/number.spec.js +11 -0
- package/lib/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +0 -2
- package/package.json +8 -3
- package/lib/components/commons/components/combo-box/state-management/actions.js +0 -79
- package/lib/components/commons/components/combo-box/state-management/index.js +0 -25
- package/lib/components/commons/components/combo-box/state-management/reduce-on-init.js +0 -38
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-down.js +0 -30
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-up.js +0 -30
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-enter.js +0 -19
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-escape.js +0 -18
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-home.js +0 -23
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/on-tab.js +0 -18
- package/lib/components/commons/components/combo-box/state-management/reduce-on-keydown/reduce-on-keydown.js +0 -40
- package/lib/components/commons/components/combo-box/state-management/reducer.js +0 -53
- package/lib/components/commons/create-row-orchestrator.js +0 -58
- package/lib/components/component-set/html/component-set-component-container.js +0 -20
- package/lib/components/component-set/html/component-set-components.js +0 -45
- package/lib/components/component-set/html/legend/index.js +0 -13
- package/lib/components/component-set/index.js +0 -13
- package/lib/components/loop/block-for-loop/block-for-loop-ochestrator.js +0 -12
- package/lib/components/loop/block-for-loop/index.js +0 -13
- package/lib/components/loop/block-for-loop/row.js +0 -56
- package/lib/components/loop/commons/index.js +0 -20
- package/lib/components/loop/commons/row-component.js +0 -72
- package/lib/components/loop/index.js +0 -13
- package/lib/components/loop/roster-for-loop/index.js +0 -13
- package/lib/components/loop/roster-for-loop/roster-for-loop-orchestrator.js +0 -12
- package/lib/components/loop/roster-for-loop/roster-table.js +0 -50
- package/lib/components/loop/roster-for-loop/row.js +0 -85
- package/lib/src/components/commons/components/combo-box/state-management/actions.d.ts +0 -78
- package/lib/src/components/commons/components/combo-box/state-management/index.d.ts +0 -9
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-init.d.ts +0 -4
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-down.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-arrow-up.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-end.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-enter.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-escape.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-home.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/on-tab.d.ts +0 -2
- package/lib/src/components/commons/components/combo-box/state-management/reduce-on-keydown/reduce-on-keydown.d.ts +0 -9
- package/lib/src/components/commons/components/combo-box/state-management/reducer.d.ts +0 -3
- package/lib/src/components/commons/create-row-orchestrator.d.ts +0 -32
- package/lib/src/components/component-set/html/component-set-component-container.d.ts +0 -6
- package/lib/src/components/component-set/html/component-set-components.d.ts +0 -7
- package/lib/src/components/component-set/html/legend/index.d.ts +0 -1
- package/lib/src/components/component-set/html/legend/legend.d.ts +0 -8
- package/lib/src/components/component-set/index.d.ts +0 -1
- package/lib/src/components/loop/block-for-loop/block-for-loop-ochestrator.d.ts +0 -51
- package/lib/src/components/loop/block-for-loop/index.d.ts +0 -1
- package/lib/src/components/loop/block-for-loop/row.d.ts +0 -23
- package/lib/src/components/loop/commons/get-init-length.d.ts +0 -2
- package/lib/src/components/loop/commons/handle-row-button.d.ts +0 -7
- package/lib/src/components/loop/commons/index.d.ts +0 -2
- package/lib/src/components/loop/commons/row-component.d.ts +0 -9
- package/lib/src/components/loop/index.d.ts +0 -1
- package/lib/src/components/loop/roster-for-loop/body.d.ts +0 -12
- package/lib/src/components/loop/roster-for-loop/header.d.ts +0 -9
- package/lib/src/components/loop/roster-for-loop/index.d.ts +0 -1
- package/lib/src/components/loop/roster-for-loop/roster-for-loop-orchestrator.d.ts +0 -51
- package/lib/src/components/loop/roster-for-loop/roster-table.d.ts +0 -13
- package/lib/src/components/loop/roster-for-loop/row.d.ts +0 -24
- package/lib/stories/component-set/source1.json +0 -287
- package/lib/stories/component-set/source2.json +0 -413
- /package/lib/components/commons/components/combo-box/{state-management/reduce-on-keydown/keyboard-key-codes.js → keyboard-key-codes.js} +0 -0
- /package/lib/src/components/commons/components/combo-box/{state-management/reduce-on-keydown/keyboard-key-codes.d.ts → keyboard-key-codes.d.ts} +0 -0
- /package/lib/stories/component-set/{data1.json → data-loop.json} +0 -0
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _commons = require("../../commons");
|
|
9
8
|
var _dropdownSimple = _interopRequireDefault(require("./dropdown-simple"));
|
|
10
9
|
var _dropdownWritable = _interopRequireDefault(require("./dropdown-writable"));
|
|
@@ -21,12 +20,14 @@ function Dropdown(_ref) {
|
|
|
21
20
|
value = _ref.value,
|
|
22
21
|
description = _ref.description,
|
|
23
22
|
label = _ref.label,
|
|
24
|
-
errors = _ref.errors
|
|
23
|
+
errors = _ref.errors,
|
|
24
|
+
readOnly = _ref.readOnly;
|
|
25
25
|
if (writable) {
|
|
26
26
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropdownWritable["default"], {
|
|
27
27
|
id: id,
|
|
28
28
|
className: className,
|
|
29
29
|
disabled: disabled,
|
|
30
|
+
readOnly: readOnly,
|
|
30
31
|
options: options,
|
|
31
32
|
onSelect: onSelect,
|
|
32
33
|
value: value,
|
|
@@ -39,6 +40,7 @@ function Dropdown(_ref) {
|
|
|
39
40
|
id: id,
|
|
40
41
|
className: className,
|
|
41
42
|
disabled: disabled,
|
|
43
|
+
readOnly: readOnly,
|
|
42
44
|
options: options,
|
|
43
45
|
onSelect: onSelect,
|
|
44
46
|
value: value,
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = require("@testing-library/react");
|
|
4
|
+
var _vitest = require("vitest");
|
|
5
|
+
var _dropdown = _interopRequireDefault(require("./dropdown"));
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
8
|
+
(0, _vitest.describe)('Dropdown', function () {
|
|
9
|
+
var mockOnSelect = _vitest.vi.fn();
|
|
10
|
+
(0, _vitest.beforeEach)(function () {
|
|
11
|
+
mockOnSelect.mockClear();
|
|
12
|
+
});
|
|
13
|
+
(0, _vitest.it)('renders without crashing', function () {
|
|
14
|
+
var _render = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropdown["default"], {
|
|
15
|
+
value: "toto",
|
|
16
|
+
id: "dropdown",
|
|
17
|
+
"aria-labelledby": "dropdown",
|
|
18
|
+
onSelect: mockOnSelect,
|
|
19
|
+
options: [{
|
|
20
|
+
value: 'toto',
|
|
21
|
+
description: 'toto',
|
|
22
|
+
label: 'toto'
|
|
23
|
+
}]
|
|
24
|
+
})),
|
|
25
|
+
container = _render.container;
|
|
26
|
+
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
27
|
+
});
|
|
28
|
+
(0, _vitest.it)('should handle readOnly', function () {
|
|
29
|
+
var _render2 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropdown["default"], {
|
|
30
|
+
id: "dropdown",
|
|
31
|
+
value: "toto",
|
|
32
|
+
readOnly: true,
|
|
33
|
+
onSelect: mockOnSelect,
|
|
34
|
+
options: [{
|
|
35
|
+
value: 'toto',
|
|
36
|
+
description: 'toto',
|
|
37
|
+
label: 'toto label'
|
|
38
|
+
}]
|
|
39
|
+
})),
|
|
40
|
+
container = _render2.container;
|
|
41
|
+
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
42
|
+
var selection = container.querySelector('.lunatic-combo-box-content');
|
|
43
|
+
selection.focus();
|
|
44
|
+
(0, _vitest.expect)(selection).toHaveFocus();
|
|
45
|
+
var span = selection === null || selection === void 0 ? void 0 : selection.querySelector('span');
|
|
46
|
+
(0, _vitest.expect)(span).toHaveTextContent('toto label');
|
|
47
|
+
});
|
|
48
|
+
});
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _lunaticComponentWithoutLabel = _interopRequireDefault(require("../commons/components/lunatic-component-without-label"));
|
|
9
8
|
var _useOnHandleChange = _interopRequireDefault(require("../commons/use-on-handle-change"));
|
|
10
9
|
var _dropdown = _interopRequireDefault(require("./html/dropdown"));
|
|
@@ -27,7 +26,8 @@ function LunaticDropdown(_ref) {
|
|
|
27
26
|
missing = _ref.missing,
|
|
28
27
|
missingResponse = _ref.missingResponse,
|
|
29
28
|
management = _ref.management,
|
|
30
|
-
description = _ref.description
|
|
29
|
+
description = _ref.description,
|
|
30
|
+
readOnly = _ref.readOnly;
|
|
31
31
|
var onChange = (0, _useOnHandleChange["default"])({
|
|
32
32
|
handleChange: handleChange,
|
|
33
33
|
response: response,
|
|
@@ -50,9 +50,10 @@ function LunaticDropdown(_ref) {
|
|
|
50
50
|
options: options,
|
|
51
51
|
onSelect: onChange,
|
|
52
52
|
value: value,
|
|
53
|
-
className: (0, _classnames["default"])(className,
|
|
53
|
+
className: (0, _classnames["default"])(className, 'lunatic-dropdown'),
|
|
54
54
|
errors: errors,
|
|
55
|
-
label: label
|
|
55
|
+
label: label,
|
|
56
|
+
readOnly: readOnly
|
|
56
57
|
})
|
|
57
58
|
});
|
|
58
59
|
}
|
|
@@ -56,7 +56,6 @@ var matchFromFormat = function matchFromFormat(value, format) {
|
|
|
56
56
|
throw new Error("Invalid duration value \"".concat(value, "\" does not match the format \"").concat(format, "\""));
|
|
57
57
|
}
|
|
58
58
|
var _match = _toArray(match),
|
|
59
|
-
_ = _match[0],
|
|
60
59
|
matches = _match.slice(1);
|
|
61
60
|
return matches.map(function (v) {
|
|
62
61
|
return parseInt(v, 10);
|
|
@@ -4,10 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _commons = require("../commons");
|
|
9
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
9
|
var FilterDescription = function FilterDescription(_ref) {
|
|
12
10
|
var id = _ref.id,
|
|
13
11
|
label = _ref.label;
|
package/lib/components/index.js
CHANGED
|
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "CheckboxOne", {
|
|
|
30
30
|
Object.defineProperty(exports, "ComponentSet", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function get() {
|
|
33
|
-
return
|
|
33
|
+
return _lunaticComponentSet.LunaticComponentSet;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "ConfirmationModal", {
|
|
@@ -84,7 +84,7 @@ Object.defineProperty(exports, "InputNumber", {
|
|
|
84
84
|
Object.defineProperty(exports, "Loop", {
|
|
85
85
|
enumerable: true,
|
|
86
86
|
get: function get() {
|
|
87
|
-
return _loop
|
|
87
|
+
return _loop.Loop;
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
Object.defineProperty(exports, "Modal", {
|
|
@@ -126,7 +126,7 @@ Object.defineProperty(exports, "Radio", {
|
|
|
126
126
|
Object.defineProperty(exports, "RosterForLoop", {
|
|
127
127
|
enumerable: true,
|
|
128
128
|
get: function get() {
|
|
129
|
-
return
|
|
129
|
+
return _rosterForLoop.RosterForLoop;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
Object.defineProperty(exports, "Roundabout", {
|
|
@@ -193,10 +193,11 @@ var _dropdown = _interopRequireDefault(require("./dropdown"));
|
|
|
193
193
|
var _input = _interopRequireDefault(require("./input"));
|
|
194
194
|
var _inputNumber = _interopRequireDefault(require("./input-number"));
|
|
195
195
|
var _filterDescription = _interopRequireDefault(require("./filter-description"));
|
|
196
|
-
var _loop =
|
|
196
|
+
var _loop = require("./loop/loop");
|
|
197
197
|
var _modalControls = _interopRequireDefault(require("./modal-controls"));
|
|
198
198
|
var _pairwiseLinks = _interopRequireDefault(require("./pairwise-links"));
|
|
199
199
|
var _radio = _interopRequireDefault(require("./radio"));
|
|
200
|
+
var _rosterForLoop = require("./loop/roster-for-loop/roster-for-loop");
|
|
200
201
|
var _sequence = _interopRequireDefault(require("./sequence"));
|
|
201
202
|
var _subsequence = _interopRequireDefault(require("./subsequence"));
|
|
202
203
|
var _suggester = _interopRequireDefault(require("./suggester"));
|
|
@@ -205,7 +206,7 @@ var _textarea = _interopRequireDefault(require("./textarea"));
|
|
|
205
206
|
var _suggesterLoaderWidget = _interopRequireDefault(require("./suggester-loader-widget"));
|
|
206
207
|
var _roundabout = _interopRequireDefault(require("./roundabout"));
|
|
207
208
|
var _table = _interopRequireDefault(require("./table"));
|
|
208
|
-
var
|
|
209
|
+
var _lunaticComponentSet = require("./component-set/lunatic-component-set");
|
|
209
210
|
var _duration = _interopRequireDefault(require("./duration"));
|
|
210
211
|
var _summary = require("./summary");
|
|
211
212
|
var _questionInformation = _interopRequireDefault(require("./questions/question-information"));
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Vitest Snapshot v1
|
|
2
|
+
|
|
3
|
+
exports[`Input > renders without crashing 1`] = `
|
|
4
|
+
<div>
|
|
5
|
+
<div
|
|
6
|
+
class="lunatic-input"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
aria-labelledby="label-input"
|
|
10
|
+
autocomplete="off"
|
|
11
|
+
id="input"
|
|
12
|
+
type="text"
|
|
13
|
+
value="input"
|
|
14
|
+
/>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
`;
|
|
18
|
+
|
|
19
|
+
exports[`Input > should handle readOnly 1`] = `
|
|
20
|
+
<div>
|
|
21
|
+
<div
|
|
22
|
+
class="lunatic-input"
|
|
23
|
+
>
|
|
24
|
+
<input
|
|
25
|
+
aria-labelledby="label-number"
|
|
26
|
+
autocomplete="off"
|
|
27
|
+
id="number"
|
|
28
|
+
readonly=""
|
|
29
|
+
type="text"
|
|
30
|
+
value="toto"
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
`;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports["default"] = void 0;
|
|
8
7
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var _react =
|
|
8
|
+
var _react = require("react");
|
|
10
9
|
var _commons = require("../../commons");
|
|
11
10
|
require("./input.scss");
|
|
12
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
13
|
function Input(_ref) {
|
|
17
14
|
var value = _ref.value,
|
|
@@ -22,7 +19,8 @@ function Input(_ref) {
|
|
|
22
19
|
label = _ref.label,
|
|
23
20
|
description = _ref.description,
|
|
24
21
|
id = _ref.id,
|
|
25
|
-
errors = _ref.errors
|
|
22
|
+
errors = _ref.errors,
|
|
23
|
+
readOnly = _ref.readOnly;
|
|
26
24
|
var labelId = "label-".concat(id);
|
|
27
25
|
var handleChange = (0, _react.useCallback)(function (e) {
|
|
28
26
|
var value = e.target.value;
|
|
@@ -41,6 +39,7 @@ function Input(_ref) {
|
|
|
41
39
|
autoComplete: "off",
|
|
42
40
|
type: "text",
|
|
43
41
|
disabled: disabled,
|
|
42
|
+
readOnly: readOnly,
|
|
44
43
|
value: checkValue(value),
|
|
45
44
|
onChange: handleChange,
|
|
46
45
|
"aria-required": required,
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = require("@testing-library/react");
|
|
4
|
+
var _vitest = require("vitest");
|
|
5
|
+
var _input = _interopRequireDefault(require("./input"));
|
|
6
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
7
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
8
|
+
(0, _vitest.describe)('Input', function () {
|
|
9
|
+
var mockOnChange = _vitest.vi.fn();
|
|
10
|
+
(0, _vitest.beforeEach)(function () {
|
|
11
|
+
mockOnChange.mockClear();
|
|
12
|
+
});
|
|
13
|
+
(0, _vitest.it)('renders without crashing', function () {
|
|
14
|
+
var _render = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_input["default"], {
|
|
15
|
+
value: 'input',
|
|
16
|
+
id: "input",
|
|
17
|
+
onChange: mockOnChange,
|
|
18
|
+
errors: undefined,
|
|
19
|
+
description: "description"
|
|
20
|
+
})),
|
|
21
|
+
container = _render.container;
|
|
22
|
+
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
23
|
+
});
|
|
24
|
+
(0, _vitest.it)('renders label and input', function () {
|
|
25
|
+
var labelText = 'Enter a number';
|
|
26
|
+
var _render2 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_input["default"], {
|
|
27
|
+
id: "number",
|
|
28
|
+
label: labelText,
|
|
29
|
+
onChange: mockOnChange,
|
|
30
|
+
errors: undefined
|
|
31
|
+
})),
|
|
32
|
+
container = _render2.container;
|
|
33
|
+
var label = _react.screen.getByText(labelText);
|
|
34
|
+
var input = container.querySelector('input[type="text"]');
|
|
35
|
+
(0, _vitest.expect)(label).toBeInTheDocument();
|
|
36
|
+
(0, _vitest.expect)(input).toBeInTheDocument();
|
|
37
|
+
});
|
|
38
|
+
(0, _vitest.it)('calls onChange with parsed value', function () {
|
|
39
|
+
var _render3 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_input["default"], {
|
|
40
|
+
id: "number",
|
|
41
|
+
onChange: mockOnChange,
|
|
42
|
+
errors: undefined
|
|
43
|
+
})),
|
|
44
|
+
container = _render3.container;
|
|
45
|
+
var input = container.querySelector('input[type="text"]');
|
|
46
|
+
_react.fireEvent.change(input, {
|
|
47
|
+
target: {
|
|
48
|
+
value: 'Dupont'
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
(0, _vitest.expect)(mockOnChange).toHaveBeenCalledTimes(1);
|
|
52
|
+
(0, _vitest.expect)(mockOnChange).toHaveBeenCalledWith('Dupont');
|
|
53
|
+
});
|
|
54
|
+
(0, _vitest.it)('disables input when disabled prop is true', function () {
|
|
55
|
+
var _render4 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_input["default"], {
|
|
56
|
+
id: "number",
|
|
57
|
+
disabled: true,
|
|
58
|
+
onChange: mockOnChange,
|
|
59
|
+
errors: undefined
|
|
60
|
+
})),
|
|
61
|
+
container = _render4.container;
|
|
62
|
+
var input = container.querySelector('input[type="text"]');
|
|
63
|
+
(0, _vitest.expect)(input).toBeDisabled();
|
|
64
|
+
});
|
|
65
|
+
(0, _vitest.it)('should handle readOnly', function () {
|
|
66
|
+
var _render5 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_input["default"], {
|
|
67
|
+
id: "number",
|
|
68
|
+
value: "toto",
|
|
69
|
+
readOnly: true,
|
|
70
|
+
onChange: mockOnChange,
|
|
71
|
+
errors: undefined
|
|
72
|
+
})),
|
|
73
|
+
container = _render5.container;
|
|
74
|
+
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
75
|
+
var input = container.querySelector('input[type="text"]');
|
|
76
|
+
(0, _vitest.expect)(input).toHaveAttribute('readonly');
|
|
77
|
+
input.focus();
|
|
78
|
+
(0, _vitest.expect)(input).toHaveFocus();
|
|
79
|
+
(0, _vitest.expect)(input).toHaveValue('toto');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
@@ -24,7 +24,8 @@ function LunaticInput(props) {
|
|
|
24
24
|
management = props.management,
|
|
25
25
|
description = props.description,
|
|
26
26
|
required = props.required,
|
|
27
|
-
maxLength = props.maxLength
|
|
27
|
+
maxLength = props.maxLength,
|
|
28
|
+
readOnly = props.readOnly;
|
|
28
29
|
var onChange = (0, _useOnHandleChange["default"])({
|
|
29
30
|
handleChange: handleChange,
|
|
30
31
|
response: response,
|
|
@@ -48,7 +49,8 @@ function LunaticInput(props) {
|
|
|
48
49
|
disabled: disabled,
|
|
49
50
|
errors: errors,
|
|
50
51
|
required: required,
|
|
51
|
-
maxLength: maxLength
|
|
52
|
+
maxLength: maxLength,
|
|
53
|
+
readOnly: readOnly
|
|
52
54
|
})
|
|
53
55
|
});
|
|
54
56
|
}
|
|
@@ -1,94 +1,42 @@
|
|
|
1
1
|
// Vitest Snapshot v1
|
|
2
2
|
|
|
3
3
|
exports[`InputNumber > renders without crashing 1`] = `
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"debug": [Function],
|
|
43
|
-
"findAllByAltText": [Function],
|
|
44
|
-
"findAllByDisplayValue": [Function],
|
|
45
|
-
"findAllByLabelText": [Function],
|
|
46
|
-
"findAllByPlaceholderText": [Function],
|
|
47
|
-
"findAllByRole": [Function],
|
|
48
|
-
"findAllByTestId": [Function],
|
|
49
|
-
"findAllByText": [Function],
|
|
50
|
-
"findAllByTitle": [Function],
|
|
51
|
-
"findByAltText": [Function],
|
|
52
|
-
"findByDisplayValue": [Function],
|
|
53
|
-
"findByLabelText": [Function],
|
|
54
|
-
"findByPlaceholderText": [Function],
|
|
55
|
-
"findByRole": [Function],
|
|
56
|
-
"findByTestId": [Function],
|
|
57
|
-
"findByText": [Function],
|
|
58
|
-
"findByTitle": [Function],
|
|
59
|
-
"getAllByAltText": [Function],
|
|
60
|
-
"getAllByDisplayValue": [Function],
|
|
61
|
-
"getAllByLabelText": [Function],
|
|
62
|
-
"getAllByPlaceholderText": [Function],
|
|
63
|
-
"getAllByRole": [Function],
|
|
64
|
-
"getAllByTestId": [Function],
|
|
65
|
-
"getAllByText": [Function],
|
|
66
|
-
"getAllByTitle": [Function],
|
|
67
|
-
"getByAltText": [Function],
|
|
68
|
-
"getByDisplayValue": [Function],
|
|
69
|
-
"getByLabelText": [Function],
|
|
70
|
-
"getByPlaceholderText": [Function],
|
|
71
|
-
"getByRole": [Function],
|
|
72
|
-
"getByTestId": [Function],
|
|
73
|
-
"getByText": [Function],
|
|
74
|
-
"getByTitle": [Function],
|
|
75
|
-
"queryAllByAltText": [Function],
|
|
76
|
-
"queryAllByDisplayValue": [Function],
|
|
77
|
-
"queryAllByLabelText": [Function],
|
|
78
|
-
"queryAllByPlaceholderText": [Function],
|
|
79
|
-
"queryAllByRole": [Function],
|
|
80
|
-
"queryAllByTestId": [Function],
|
|
81
|
-
"queryAllByText": [Function],
|
|
82
|
-
"queryAllByTitle": [Function],
|
|
83
|
-
"queryByAltText": [Function],
|
|
84
|
-
"queryByDisplayValue": [Function],
|
|
85
|
-
"queryByLabelText": [Function],
|
|
86
|
-
"queryByPlaceholderText": [Function],
|
|
87
|
-
"queryByRole": [Function],
|
|
88
|
-
"queryByTestId": [Function],
|
|
89
|
-
"queryByText": [Function],
|
|
90
|
-
"queryByTitle": [Function],
|
|
91
|
-
"rerender": [Function],
|
|
92
|
-
"unmount": [Function],
|
|
93
|
-
}
|
|
4
|
+
<div>
|
|
5
|
+
<div
|
|
6
|
+
class="lunatic-input-number"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
aria-labelledby="label-input"
|
|
10
|
+
class=""
|
|
11
|
+
id="input"
|
|
12
|
+
inputmode="numeric"
|
|
13
|
+
lang="en"
|
|
14
|
+
required=""
|
|
15
|
+
step="1"
|
|
16
|
+
type="text"
|
|
17
|
+
value=""
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
exports[`InputNumber > should handle readOnly 1`] = `
|
|
24
|
+
<div>
|
|
25
|
+
<div
|
|
26
|
+
class="lunatic-input-number"
|
|
27
|
+
>
|
|
28
|
+
<input
|
|
29
|
+
aria-labelledby="label-number"
|
|
30
|
+
class=""
|
|
31
|
+
id="number"
|
|
32
|
+
inputmode="numeric"
|
|
33
|
+
lang="en"
|
|
34
|
+
readonly=""
|
|
35
|
+
required=""
|
|
36
|
+
step="1"
|
|
37
|
+
type="text"
|
|
38
|
+
value="123"
|
|
39
|
+
/>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
94
42
|
`;
|
|
@@ -21,6 +21,7 @@ var InputNumberThousand = function InputNumberThousand(_ref) {
|
|
|
21
21
|
onChange = _ref.onChange,
|
|
22
22
|
value = _ref.value,
|
|
23
23
|
disabled = _ref.disabled,
|
|
24
|
+
readOnly = _ref.readOnly,
|
|
24
25
|
required = _ref.required,
|
|
25
26
|
labelId = _ref.labelId,
|
|
26
27
|
min = _ref.min,
|
|
@@ -53,6 +54,7 @@ var InputNumberThousand = function InputNumberThousand(_ref) {
|
|
|
53
54
|
step: step,
|
|
54
55
|
"aria-labelledby": labelId,
|
|
55
56
|
disabled: disabled,
|
|
57
|
+
readOnly: readOnly,
|
|
56
58
|
required: required,
|
|
57
59
|
lang: "en",
|
|
58
60
|
isAllowed: isAllowed,
|
|
@@ -18,6 +18,8 @@ function InputNumber(_ref) {
|
|
|
18
18
|
onChange = _ref$onChange === void 0 ? _function.voidFunction : _ref$onChange,
|
|
19
19
|
_ref$disabled = _ref.disabled,
|
|
20
20
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
21
|
+
_ref$readOnly = _ref.readOnly,
|
|
22
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
21
23
|
min = _ref.min,
|
|
22
24
|
max = _ref.max,
|
|
23
25
|
_ref$decimals = _ref.decimals,
|
|
@@ -41,6 +43,7 @@ function InputNumber(_ref) {
|
|
|
41
43
|
value: value,
|
|
42
44
|
onChange: onChange,
|
|
43
45
|
disabled: disabled,
|
|
46
|
+
readOnly: readOnly,
|
|
44
47
|
required: required,
|
|
45
48
|
labelId: labelId,
|
|
46
49
|
min: min,
|
|
@@ -11,53 +11,54 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
11
11
|
mockOnChange.mockClear();
|
|
12
12
|
});
|
|
13
13
|
(0, _vitest.it)('renders without crashing', function () {
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
var _render = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
15
|
+
value: 'input',
|
|
16
|
+
id: "input",
|
|
17
|
+
"aria-labelledby": "input"
|
|
18
|
+
})),
|
|
19
|
+
container = _render.container;
|
|
19
20
|
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
20
21
|
});
|
|
21
22
|
(0, _vitest.it)('renders label and input', function () {
|
|
22
23
|
var labelText = 'Enter a number';
|
|
23
|
-
var
|
|
24
|
+
var _render2 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
24
25
|
id: "number",
|
|
25
26
|
label: labelText,
|
|
26
27
|
onChange: mockOnChange
|
|
27
28
|
})),
|
|
28
|
-
container =
|
|
29
|
+
container = _render2.container;
|
|
29
30
|
var label = _react.screen.getByText(labelText);
|
|
30
31
|
var input = container.querySelector('input[type="text"]');
|
|
31
32
|
(0, _vitest.expect)(label).toBeInTheDocument();
|
|
32
33
|
(0, _vitest.expect)(input).toBeInTheDocument();
|
|
33
34
|
});
|
|
34
35
|
(0, _vitest.it)('renders with value', function () {
|
|
35
|
-
var
|
|
36
|
+
var _render3 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
36
37
|
id: "number",
|
|
37
38
|
value: 10,
|
|
38
39
|
onChange: mockOnChange
|
|
39
40
|
})),
|
|
40
|
-
container =
|
|
41
|
+
container = _render3.container;
|
|
41
42
|
var input = container.querySelector('input[type="text"]');
|
|
42
43
|
(0, _vitest.expect)(input).toHaveValue('10');
|
|
43
44
|
});
|
|
44
45
|
(0, _vitest.it)('renders with big value', function () {
|
|
45
|
-
var
|
|
46
|
+
var _render4 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
46
47
|
id: "number",
|
|
47
48
|
value: 10000.45,
|
|
48
49
|
decimals: 2,
|
|
49
50
|
onChange: mockOnChange
|
|
50
51
|
})),
|
|
51
|
-
container =
|
|
52
|
+
container = _render4.container;
|
|
52
53
|
var input = container.querySelector('input[type="text"]');
|
|
53
54
|
(0, _vitest.expect)(input).toHaveValue('10,000.45');
|
|
54
55
|
});
|
|
55
56
|
(0, _vitest.it)('calls onChange with parsed value', function () {
|
|
56
|
-
var
|
|
57
|
+
var _render5 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
57
58
|
id: "number",
|
|
58
59
|
onChange: mockOnChange
|
|
59
60
|
})),
|
|
60
|
-
container =
|
|
61
|
+
container = _render5.container;
|
|
61
62
|
var input = container.querySelector('input[type="text"]');
|
|
62
63
|
_react.fireEvent.change(input, {
|
|
63
64
|
target: {
|
|
@@ -68,35 +69,50 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
68
69
|
(0, _vitest.expect)(mockOnChange).toHaveBeenCalledWith(10);
|
|
69
70
|
});
|
|
70
71
|
(0, _vitest.it)('renders unit element if provided', function () {
|
|
71
|
-
var
|
|
72
|
+
var _render6 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
72
73
|
id: "input-number-test",
|
|
73
74
|
value: 5,
|
|
74
75
|
label: "Input Number",
|
|
75
76
|
labelId: "input-number-label",
|
|
76
77
|
unit: "kg"
|
|
77
78
|
})),
|
|
78
|
-
getByText =
|
|
79
|
+
getByText = _render6.getByText;
|
|
79
80
|
var unit = getByText('kg');
|
|
80
81
|
(0, _vitest.expect)(unit).toBeInTheDocument();
|
|
81
82
|
});
|
|
82
83
|
(0, _vitest.it)('disables input when disabled prop is true', function () {
|
|
83
|
-
var
|
|
84
|
+
var _render7 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
84
85
|
id: "number",
|
|
85
86
|
disabled: true,
|
|
86
87
|
onChange: mockOnChange
|
|
87
88
|
})),
|
|
88
|
-
container =
|
|
89
|
+
container = _render7.container;
|
|
89
90
|
var input = container.querySelector('input[type="text"]');
|
|
90
91
|
(0, _vitest.expect)(input).toBeDisabled();
|
|
91
92
|
});
|
|
93
|
+
(0, _vitest.it)('should handle readOnly', function () {
|
|
94
|
+
var _render8 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
95
|
+
id: "number",
|
|
96
|
+
value: 123,
|
|
97
|
+
readOnly: true,
|
|
98
|
+
onChange: mockOnChange
|
|
99
|
+
})),
|
|
100
|
+
container = _render8.container;
|
|
101
|
+
(0, _vitest.expect)(container).toMatchSnapshot();
|
|
102
|
+
var input = container.querySelector('input[type="text"]');
|
|
103
|
+
(0, _vitest.expect)(input).toHaveAttribute('readonly');
|
|
104
|
+
input.focus();
|
|
105
|
+
(0, _vitest.expect)(input).toHaveFocus();
|
|
106
|
+
(0, _vitest.expect)(input).toHaveValue('123');
|
|
107
|
+
});
|
|
92
108
|
(0, _vitest.it)('renders with unit', function () {
|
|
93
|
-
var
|
|
109
|
+
var _render9 = (0, _react.render)( /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputNumber["default"], {
|
|
94
110
|
id: "number",
|
|
95
111
|
value: 10,
|
|
96
112
|
unit: "kg",
|
|
97
113
|
onChange: mockOnChange
|
|
98
114
|
})),
|
|
99
|
-
container =
|
|
115
|
+
container = _render9.container;
|
|
100
116
|
var unit = container.querySelector('span');
|
|
101
117
|
(0, _vitest.expect)(unit).toHaveTextContent('kg');
|
|
102
118
|
});
|