@inseefr/lunatic 3.0.0-rc.13 → 3.0.0-rc.15
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/lib/main.css +0 -2
- package/lib/main.css.map +1 -1
- package/lib/package.json +3 -3
- package/lib/src/components/Loop/Loop.d.ts +1 -1
- package/lib/src/components/LunaticComponents.d.ts +5 -4
- package/lib/src/components/LunaticComponents.js.map +1 -1
- package/lib/src/components/PairwiseLinks/PairwiseLinks.js +31 -5
- package/lib/src/components/PairwiseLinks/PairwiseLinks.js.map +1 -1
- package/lib/src/components/Radio/Radio.d.ts +1 -0
- package/lib/src/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
- package/lib/src/components/Sequence/Sequence.d.ts +3 -1
- package/lib/src/components/Subsequence/Subsequence.d.ts +3 -1
- package/lib/src/components/Suggester/CustomSuggester.d.ts +9 -8
- package/lib/src/components/Suggester/CustomSuggester.js +4 -31
- package/lib/src/components/Suggester/CustomSuggester.js.map +1 -1
- package/lib/src/components/Suggester/Suggester.d.ts +1 -1
- package/lib/src/components/Suggester/Suggester.js +57 -35
- package/lib/src/components/Suggester/Suggester.js.map +1 -1
- package/lib/src/components/Suggester/SuggesterNotification.d.ts +5 -6
- package/lib/src/components/Suggester/SuggesterNotification.js +5 -10
- package/lib/src/components/Suggester/SuggesterNotification.js.map +1 -1
- package/lib/src/components/Suggester/useSuggestions.d.ts +20 -0
- package/lib/src/components/Suggester/useSuggestions.js +86 -0
- package/lib/src/components/Suggester/useSuggestions.js.map +1 -0
- package/lib/src/components/Switch/Switch.d.ts +1 -0
- package/lib/src/components/library.d.ts +15 -5
- package/lib/src/components/shared/Combobox/Combobox.d.ts +2 -0
- package/lib/src/components/shared/Combobox/Combobox.js +5 -6
- package/lib/src/components/shared/Combobox/Combobox.js.map +1 -1
- package/lib/src/components/shared/Combobox/ComboboxType.d.ts +1 -0
- package/lib/src/components/shared/Combobox/Panel/ComboboxOption.js +4 -0
- package/lib/src/components/shared/Combobox/Panel/ComboboxOption.js.map +1 -1
- package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.d.ts +1 -1
- package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.js +15 -1
- package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.js.map +1 -1
- package/lib/src/components/shared/Combobox/Selection/ComboboxLabelSelection.js +6 -0
- package/lib/src/components/shared/Combobox/Selection/ComboboxLabelSelection.js.map +1 -1
- package/lib/src/components/type.d.ts +41 -11
- package/lib/src/components/type.js.map +1 -1
- package/lib/src/hooks/use-track-changes.js +1 -1
- package/lib/src/hooks/use-track-changes.js.map +1 -1
- package/lib/src/hooks/useDebounce.d.ts +4 -0
- package/lib/src/hooks/useDebounce.js +23 -0
- package/lib/src/hooks/useDebounce.js.map +1 -0
- package/lib/src/hooks/useDocumentEvent.js +1 -1
- package/lib/src/hooks/useDocumentEvent.js.map +1 -1
- package/lib/src/hooks/{use-ref-sync.js → useRefSync.js} +1 -1
- package/lib/src/hooks/useRefSync.js.map +1 -0
- package/lib/src/hooks/useSuggesterInfo.d.ts +1 -1
- package/lib/src/i18n/dictionary.d.ts +16 -0
- package/lib/src/i18n/dictionary.js +16 -0
- package/lib/src/i18n/dictionary.js.map +1 -1
- package/lib/src/i18n/index.d.ts +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.js +3 -0
- package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
- package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +71 -66
- package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +68 -63
- package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +16 -16
- package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +70 -60
- package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.js +16 -0
- package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.js.map +1 -1
- package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +2 -1
- package/lib/src/use-lunatic/commons/use-components-from-state.js.map +1 -1
- package/lib/src/use-lunatic/hooks/use-page-has-response.d.ts +2 -2
- package/lib/src/use-lunatic/hooks/use-page-has-response.js +6 -3
- package/lib/src/use-lunatic/hooks/use-page-has-response.js.map +1 -1
- package/lib/src/use-lunatic/replace-component-sequence.d.ts +3 -3
- package/lib/src/use-lunatic/type-source.d.ts +7 -2
- package/lib/src/use-lunatic/use-lunatic.d.ts +4 -486
- package/lib/src/use-lunatic/use-lunatic.js +2 -2
- package/lib/src/use-lunatic/use-lunatic.js.map +1 -1
- package/lib/src/use-lunatic/use-lunatic.test.js +2 -2
- package/lib/src/use-lunatic/use-lunatic.test.js.map +1 -1
- package/lib/src/utils/function.d.ts +1 -0
- package/lib/src/utils/function.js +18 -0
- package/lib/src/utils/function.js.map +1 -1
- package/package.json +3 -3
- package/lib/src/components/Suggester/SuggesterStatus.d.ts +0 -23
- package/lib/src/components/Suggester/SuggesterStatus.js +0 -24
- package/lib/src/components/Suggester/SuggesterStatus.js.map +0 -1
- package/lib/src/hooks/use-ref-sync.js.map +0 -1
- /package/lib/src/hooks/{use-ref-sync.d.ts → useRefSync.d.ts} +0 -0
package/lib/main.css
CHANGED
|
@@ -236,7 +236,6 @@
|
|
|
236
236
|
font-weight: normal;
|
|
237
237
|
}
|
|
238
238
|
.lunatic-combo-box-container.default-style .lunatic-combo-box .lunatic-combo-box-content .lunatic-combo-box-selection .lunatic-combo-box-selected {
|
|
239
|
-
height: 42px;
|
|
240
239
|
line-height: 34px;
|
|
241
240
|
background-color: var(--color-combo-box-background);
|
|
242
241
|
border-radius: 5px;
|
|
@@ -317,7 +316,6 @@
|
|
|
317
316
|
z-index: 1;
|
|
318
317
|
}
|
|
319
318
|
.lunatic-combo-box-container .lunatic-combo-box .lunatic-combo-box-content {
|
|
320
|
-
position: absolute;
|
|
321
319
|
width: 100%;
|
|
322
320
|
}
|
|
323
321
|
.lunatic-combo-box-container .lunatic-combo-box .lunatic-combo-box-content .lunatic-combo-box-selection {
|
package/lib/main.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/css/main.scss","../src/css/components/Button.scss","../src/css/components/CheckboxGroup.scss","../src/css/components/CheckboxOne.scss","../src/css/components/CheckboxOption.scss","../src/css/components/Combobox.scss","../src/css/components/ComponentErrors.scss","../src/css/components/Datepicker.scss","../src/css/components/Declarations.scss","../src/css/components/Dropdown.scss","../src/css/components/Duration.scss","../src/css/components/Fieldset.scss","../src/css/components/IconButton.scss","../src/css/components/Input.scss","../src/css/components/InputNumber.scss","../src/css/components/Label.scss","../src/css/components/Missing.scss","../src/css/components/ModalControls.scss","../src/css/components/RadioGroup.scss","../src/css/components/RosterForLoop.scss","../src/css/components/Roundabout.scss","../src/css/components/Sequence.scss","../src/css/components/Suggester.scss","../src/css/components/Table.scss","../src/css/components/Textarea.scss","../src/css/components/VariableStatus.scss","../src/css/components/Dragger.scss","../src/css/components/SuggesterWidget.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;;;AAkBF;AA0BE;AA+BA;;AAxDA;EACE;EACA;;AAEF;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AASF;EACE;;AAEA;EACE;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAGJ;EACE;;AAEF;EACE;;AAMJ;EAzEA;EACA;;AA2EA;EA5EA;EACA;;AA8EA;EACE;EA3EF;EACA;EACA;;AAEA;EACE;;AAyEF;EA9EA;EACA;EACA;;AAEA;EACE;;AA6EF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AACA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;;AAEF;EACE;;;ACpJR;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAEC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;;;AClBE;EACE;EACA;;AAGJ;EACE;EACA;;;ACRF;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AACA;EACC;;;ACbH;EACC;;AACA;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIH;EACC;EACA;;;ACMD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EAEA;;AACA;EACC;EACA;EACA;;AAEC;EACC;EACA;EACA;;AACA;EACC;;AAED;EACC;EACA;EACA;EACA;EApCL;;AAuCK;EAhDL;EASA;EAPA;EACA;EACA;EACA;;AAgDI;EACC;EACA;EACA;EACA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/css/main.scss","../src/css/components/Button.scss","../src/css/components/CheckboxGroup.scss","../src/css/components/CheckboxOne.scss","../src/css/components/CheckboxOption.scss","../src/css/components/Combobox.scss","../src/css/components/ComponentErrors.scss","../src/css/components/Datepicker.scss","../src/css/components/Declarations.scss","../src/css/components/Dropdown.scss","../src/css/components/Duration.scss","../src/css/components/Fieldset.scss","../src/css/components/IconButton.scss","../src/css/components/Input.scss","../src/css/components/InputNumber.scss","../src/css/components/Label.scss","../src/css/components/Missing.scss","../src/css/components/ModalControls.scss","../src/css/components/RadioGroup.scss","../src/css/components/RosterForLoop.scss","../src/css/components/Roundabout.scss","../src/css/components/Sequence.scss","../src/css/components/Suggester.scss","../src/css/components/Table.scss","../src/css/components/Textarea.scss","../src/css/components/VariableStatus.scss","../src/css/components/Dragger.scss","../src/css/components/SuggesterWidget.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;;;AAkBF;AA0BE;AA+BA;;AAxDA;EACE;EACA;;AAEF;EACE;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AASF;EACE;;AAEA;EACE;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAGJ;EACE;;AAEF;EACE;;AAMJ;EAzEA;EACA;;AA2EA;EA5EA;EACA;;AA8EA;EACE;EA3EF;EACA;EACA;;AAEA;EACE;;AAyEF;EA9EA;EACA;EACA;;AAEA;EACE;;AA6EF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AACA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;;AAEF;EACE;;;ACpJR;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EAEC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;;;AClBE;EACE;EACA;;AAGJ;EACE;EACA;;;ACRF;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AACA;EACC;;;ACbH;EACC;;AACA;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIH;EACC;EACA;;;ACMD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EAEA;;AACA;EACC;EACA;EACA;;AAEC;EACC;EACA;EACA;;AACA;EACC;;AAED;EACC;EACA;EACA;EACA;EApCL;;AAuCK;EAhDL;EASA;EAPA;EACA;EACA;EACA;;AAgDI;EACC;EACA;EACA;EACA;EAhDL;EAkDK;EACA;EACA;EA7DL;EASA;EAPA;EACA;EACA;EACA;;AA2DK;EACC;EACA;EACA;;AAGD;EACC;;AAKH;EAnEH;EAqEI;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAED;EACC;EACA;;AAQN;EACC;EACA;EACA;EACA;;AACA;EACC;;AAIA;EACC;EACA;EACA;EACA;;AAKH;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AACA;EACC;EACA;EACA;EACA;EAKA;;AAJA;EACC;;AAMF;EAEC;EACA;EACA;EACA;EACA;;AACA;EACC;;AAKH;AAAA;AAAA;AAAA;EAIC;EACA;EACA;EACA;;AAIA;EACC;;AAED;EACC;EApMJ;EACA;EACA;;;ACFA;EACC;;;ACFF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AChBD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;AAIF;EACC;EACA;;AACA;EACC;;;ACxBD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;;AAGD;EACC;;;ACjCJ;AAAA;EAEE;EACA;EACA;;;AAEF;EACE;;;ACPF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AC9BA;AAAA;AAAA;AAAA;EACC;;AACA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;EACA;;AAED;AAAA;AAAA;AAAA;EACC;;AAED;AAAA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;AAAA;EACC;EACA;EACA;;;ACnCF;EACC;;AAEA;EACC;;;ACNF;EACC;EACA;;;ACHF;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;;;ACzBD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AACA;EACC;;AAMF;AAAA;AAAA;AAAA;EAIC;EACA;;AAGF;EACC;EACA;;;AC3CA;EACC;;AAGF;EACC;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;;ACUH;EACC;EACA;EACA;EACA;;AAEC;EACC;EACA;;;ACnCH;EACC;;AAGC;EACC;;AAGD;EACC;;;ACRF;EACC;EACA;EACA;EACA;EACA;EACA;;;AC8BD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;;AACA;EACC;EACA;EACA;;AAQC;EACC;EACA;EACA;;AACA;EACC;;AAED;EACC;EACA;EACA;EACA;EAvEN;;AA0EM;EAlEN;EARA;EAUA;EACA;EACA;EACA;;AAkEK;EACC;EACA;EACA;EACA;EACA;EApFN;;AAuFM;EACC;EAhFP;EARA;EAUA;EACA;EACA;EACA;;AA8EM;EACC;EACA;EACA;;AAGD;EACC;;AAKH;EAvGJ;EAyGK;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;;AAED;EACC;EACA;;AASP;EACC;EACA;EACA;;AAEA;EACC;;AAjIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAsHA;EACC;;AArIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA0HA;EACC;;AAzIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AA+HA;EACC;EACA;;AACA;EACC;EACA;EACA;;;ACpKH;EACC;EACA;EACA;EACA;;AACA;AAAA;EAEC;EACA;EACA;;AAGA;AAAA;EAEC;EACA;EACA;;AAKH;EACC;EACA;;;ACrBD;EACC;EACA;;;ACLF;EACC;AAMA;AAUA;;AAdA;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEC;EACC;;AAED;EACC;;;AC/BJ;EACE;EACA;EACA;EACA;EACA;EACA;;;ACaD;EACC;EACA;;AAED;EACC;EACA;EACA,kBA1BO;EA2BP;EACA;EACA;EACA;;AAlBD;EACC;EACA;;AAoBA;EACC;EACA;EACA;EACA;;AACA;EACC;EACA,OAxCK;EAyCL;EACA;EACA;;AAED;EACC,OA9CK;EA+CL;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA,kBA1DK;;AA4DL;EACC;EACA;;AAGD;EACC,kBAjEI;EAkEJ;EACA;;AAIA;EACC;EACA;EACA,MA5EG;;AAiFN;EACC;EACA;EACA;EACA;;AAGC;EACC,cAvFG;EAwFH;EAMA;;AALA;EACC,kBA1FE;EA2FF;;AAOH;EACC;EACA;EACA;;AACA;EACC,kBAxGG;EAyGH;;AAMJ;EACC;EACA;EACA;EACA,kBApHM;EAqHN;EACA;EACA;EACA;EACA;;AAGC;EACC;;AAIF;EACC;EACA;EACA,MAnIK;;AAWR;EACC;EACA;;AA4HA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,kBAnJK;EAoJL;EACA;;AAEA;EACC;;AAGD;EACC,kBA1JI;EA2JJ;;AAGD;EACC;;AACA;EACC;;AAED;EACC;EACA;EACA,MAzKG","file":"main.css"}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inseefr/lunatic",
|
|
3
|
-
"version": "3.0.0-rc.
|
|
3
|
+
"version": "3.0.0-rc.15",
|
|
4
4
|
"workersVersion": "0.3.0",
|
|
5
5
|
"description": "Library of questionnaire components",
|
|
6
6
|
"repository": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"test:e2e:codegen": "playwright codegen http://localhost:9999/iframe.html?viewMode=story&id=",
|
|
47
47
|
"test:storybook": "test-storybook --url http://localhost:9999 --maxWorkers=4 --no-cache",
|
|
48
48
|
"test-watch": "vitest",
|
|
49
|
-
"check": "tsc",
|
|
49
|
+
"check": "tsc --noEmit",
|
|
50
50
|
"lint": "eslint ./src",
|
|
51
51
|
"lint:check": "eslint . --ext .ts,.tsx",
|
|
52
52
|
"_format": "prettier **/*.{ts,tsx,json}",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"build-workers": "node ./scripts/build/build-workers.js",
|
|
57
57
|
"prepare-workers": "npm run build-workers && node ./scripts/build/add-workers-to-public.js",
|
|
58
58
|
"postinstall": "node ./scripts/build/add-workers-to-public.js",
|
|
59
|
-
"build": "tsc
|
|
59
|
+
"build": "tsc && sass ./src/css/main.scss ./lib/main.css && cp -R ./src/css/icons ./lib/icons && npm run build-workers",
|
|
60
60
|
"storybook": "npm run prepare-workers && storybook dev -p 9999 --no-open",
|
|
61
61
|
"build-storybook": "npm run prepare-workers && storybook build"
|
|
62
62
|
},
|
|
@@ -5,7 +5,7 @@ import type { LunaticError } from '../../use-lunatic/type';
|
|
|
5
5
|
* Loop without specific markup (stack of subcomponents)
|
|
6
6
|
*/
|
|
7
7
|
export declare function Loop({ lines, iterations, value, handleChange, getComponents, errors, ...props }: LunaticComponentProps<'Loop'>): import("react/jsx-runtime").JSX.Element | null;
|
|
8
|
-
type CustomProps = Omit<LunaticComponentProps<'Loop'>, 'response' | 'handleChange' | 'errors' | 'lines' | 'iterations' | 'value' | 'getComponents'> & PropsWithChildren<{
|
|
8
|
+
type CustomProps = Omit<LunaticComponentProps<'RosterForLoop' | 'Loop'>, 'response' | 'handleChange' | 'errors' | 'lines' | 'iterations' | 'value' | 'getComponents'> & PropsWithChildren<{
|
|
9
9
|
errors?: LunaticError[];
|
|
10
10
|
addRow?: () => void;
|
|
11
11
|
removeRow?: () => void;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type PropsWithChildren, type ReactElement, type ReactNode } from 'react';
|
|
2
2
|
import type { FilledLunaticComponentProps } from '../use-lunatic/commons/fill-components/fill-components';
|
|
3
3
|
import { type LunaticSlotComponents } from './shared/HOC/slottableComponent';
|
|
4
|
-
type
|
|
5
|
-
|
|
4
|
+
import type { LunaticComponentProps } from './type';
|
|
5
|
+
type Props<V = unknown> = {
|
|
6
|
+
components: (FilledLunaticComponentProps | LunaticComponentProps | ReactElement | {
|
|
6
7
|
label: string;
|
|
7
8
|
[key: string]: unknown;
|
|
8
9
|
})[];
|
|
@@ -10,7 +11,7 @@ type Props<T extends FilledLunaticComponentProps, V = unknown> = {
|
|
|
10
11
|
autoFocusKey?: string;
|
|
11
12
|
componentProps?: (component: FilledLunaticComponentProps) => V;
|
|
12
13
|
blocklist?: string[];
|
|
13
|
-
wrapper?: (props: PropsWithChildren<FilledLunaticComponentProps &
|
|
14
|
+
wrapper?: (props: PropsWithChildren<FilledLunaticComponentProps & V & {
|
|
14
15
|
index: number;
|
|
15
16
|
}>) => ReactNode;
|
|
16
17
|
slots?: Partial<LunaticSlotComponents>;
|
|
@@ -18,7 +19,7 @@ type Props<T extends FilledLunaticComponentProps, V = unknown> = {
|
|
|
18
19
|
/**
|
|
19
20
|
* Entry point for orchestrators, this component display the list of fields
|
|
20
21
|
*/
|
|
21
|
-
export declare function LunaticComponents<
|
|
22
|
+
export declare function LunaticComponents<V = undefined>({ components, autoFocusKey, componentProps, blocklist, memo, slots, wrapper, }: Props<V>): import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
export declare function hasLabel(component: unknown): component is {
|
|
23
24
|
label: ReactNode;
|
|
24
25
|
} & FilledLunaticComponentProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LunaticComponents.js","sourceRoot":"","sources":["../../../src/components/LunaticComponents.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,QAAQ,EACR,cAAc,EACd,IAAI,EAIJ,MAAM,GACN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,aAAa,EAEb,kBAAkB,GAClB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"LunaticComponents.js","sourceRoot":"","sources":["../../../src/components/LunaticComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,42 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { times } from '../../utils/array';
|
|
3
3
|
import React, { Fragment } from 'react';
|
|
4
4
|
import { LunaticComponents } from '../LunaticComponents';
|
|
5
5
|
import { Declarations } from '../shared/Declarations/Declarations';
|
|
6
|
+
import { Label } from '../shared/Label/Label';
|
|
6
7
|
export const PairwiseLinks = ({ declarations, xAxisIterations, yAxisIterations, id, getComponents, }) => {
|
|
7
8
|
const nbRows = xAxisIterations * yAxisIterations;
|
|
8
9
|
if (nbRows <= 1) {
|
|
9
10
|
return _jsx("div", { children: "Nothing to display!" });
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const combinations = getCombinations(xAxisIterations, yAxisIterations);
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), combinations
|
|
14
|
+
.filter(([x, y]) => y < x)
|
|
15
|
+
.map(([x, y]) => (_jsx(LunaticComponents, { components: getComponents(x, y), componentProps: (props) => ({
|
|
16
|
+
...props,
|
|
17
|
+
id: `${props.id}-${x + 1}-${y + 1} `,
|
|
18
|
+
}) }, `${x}-${y}`))), combinations
|
|
19
|
+
.filter(([x, y]) => x > y)
|
|
20
|
+
.map(([x, y]) => {
|
|
21
|
+
const components = getComponents(y, x);
|
|
22
|
+
const firstComponent = components[0];
|
|
23
|
+
if (firstComponent.componentType !== 'Dropdown') {
|
|
24
|
+
return (_jsx("div", { children: "First child component of a pairwise link must be a dropdown" }));
|
|
25
|
+
}
|
|
26
|
+
return (_jsxs(Fragment, { children: [_jsx(PairwiseMirror, { ...firstComponent }), _jsx(LunaticComponents, { components: components.slice(1), componentProps: (props) => ({
|
|
27
|
+
...props,
|
|
28
|
+
id: `${props.id}-${x + 1}-${y + 1} `,
|
|
29
|
+
}) })] }, `${x}-${y}`));
|
|
30
|
+
})] }));
|
|
31
|
+
};
|
|
32
|
+
const PairwiseMirror = ({ value, options, label, }) => {
|
|
33
|
+
const selectedOption = options?.find((o) => o.value === value);
|
|
34
|
+
if (!selectedOption) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return (_jsxs("div", { className: "lunatic lunatic-component lunatic-dropdown lunatic-combo-box-container default-style", children: [_jsx(Label, { children: label }), _jsx("div", { children: selectedOption?.label })] }));
|
|
38
|
+
};
|
|
39
|
+
const getCombinations = (sizeX, sizeY) => {
|
|
40
|
+
return times(sizeY, (y) => times(sizeX, (x) => [x, y])).flat(1);
|
|
15
41
|
};
|
|
16
42
|
//# sourceMappingURL=PairwiseLinks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PairwiseLinks.js","sourceRoot":"","sources":["../../../../src/components/PairwiseLinks/PairwiseLinks.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"PairwiseLinks.js","sourceRoot":"","sources":["../../../../src/components/PairwiseLinks/PairwiseLinks.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"RosterForLoop.spec.js","sourceRoot":"","sources":["../../../../src/components/RosterForLoop/RosterForLoop.spec.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE7B,UAAU,CAAC,GAAG,EAAE;QACf,YAAY,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC;QAC5C;YACC,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,GAAG;YACd,EAAE,EAAE,uBAAuB;YAC3B,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ;SACmB;KACnC,CAAC;IAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,KAAC,aAAa,IACb,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EACzC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAC,kBAAkB,EACxB,EAAE,EAAC,OAAO,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACzB,UAAU,EAAE,CAAC,EACb,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAW,GACnC,CACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"
|
|
2
|
+
export declare const Sequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "description" | "declarations" | "id" | "style"> & {
|
|
3
|
+
componentType?: "Sequence" | undefined;
|
|
4
|
+
}>;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "declarations" | "id"
|
|
2
|
+
export declare const Subsequence: import("react").ComponentType<Pick<import("../type").LunaticBaseProps<string>, "label" | "declarations" | "id"> & {
|
|
3
|
+
componentType?: "Subsequence" | undefined;
|
|
4
|
+
}>;
|
|
@@ -6,24 +6,25 @@ type Props = {
|
|
|
6
6
|
className?: string;
|
|
7
7
|
classNamePrefix?: string;
|
|
8
8
|
placeholder?: string;
|
|
9
|
-
onSelect: (option:
|
|
9
|
+
onSelect: (option: SuggesterOptionType | null) => void;
|
|
10
|
+
onBlur: () => void;
|
|
11
|
+
onFocus: () => void;
|
|
12
|
+
value: {
|
|
10
13
|
id?: string;
|
|
11
14
|
[key: string]: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
value: string | null;
|
|
15
|
+
}[];
|
|
14
16
|
labelRenderer: LunaticComponentProps<'Suggester'>['labelRenderer'];
|
|
15
17
|
optionRenderer: LunaticComponentProps<'Suggester'>['optionRenderer'];
|
|
16
18
|
disabled?: boolean;
|
|
17
19
|
readOnly?: boolean;
|
|
18
20
|
id?: string;
|
|
19
|
-
searching?: (s: string | null) => Promise<{
|
|
20
|
-
results: SuggesterOptionType[];
|
|
21
|
-
search: string;
|
|
22
|
-
}>;
|
|
23
21
|
label?: ReactNode;
|
|
24
22
|
description?: ReactNode;
|
|
25
23
|
errors?: LunaticError[];
|
|
26
|
-
|
|
24
|
+
options: SuggesterOptionType[];
|
|
25
|
+
onSearch: (s: string) => void;
|
|
26
|
+
search: string;
|
|
27
|
+
state: 'loading' | 'error' | 'success';
|
|
27
28
|
};
|
|
28
29
|
export declare const CustomSuggester: import("react").ComponentType<Props>;
|
|
29
30
|
export {};
|
|
@@ -1,40 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
3
|
import { voidFunction } from '../../utils/function';
|
|
4
4
|
import D from '../../i18n';
|
|
5
5
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
6
6
|
import { Combobox } from '../shared/Combobox/Combobox';
|
|
7
|
-
export const CustomSuggester = slottableComponent('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = D.PLACEHOLDER, onSelect = voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id,
|
|
8
|
-
const [search, setSearch] = useState('');
|
|
9
|
-
const [options, setOptions] = useState(defaultOptions ?? []);
|
|
10
|
-
const lastSearch = useRef('');
|
|
7
|
+
export const CustomSuggester = slottableComponent('Suggester', ({ className, classNamePrefix = 'lunatic', placeholder = D.PLACEHOLDER, onSelect = voidFunction, labelRenderer, optionRenderer, value, disabled, readOnly, id, search, label, description, errors, options, onSearch, onBlur, state, onFocus, }) => {
|
|
11
8
|
const handleSelect = useCallback((id) => {
|
|
12
|
-
onSelect(
|
|
9
|
+
onSelect(options.find((o) => o.id === id) ?? null);
|
|
13
10
|
}, [onSelect]);
|
|
14
|
-
|
|
15
|
-
lastSearch.current = search ?? '';
|
|
16
|
-
if (search && typeof searching === 'function') {
|
|
17
|
-
const { results, search: previous } = await searching(search);
|
|
18
|
-
if (previous === lastSearch.current) {
|
|
19
|
-
setOptions(results);
|
|
20
|
-
setSearch(search);
|
|
21
|
-
// if a user does not select an option in the list, their search term is saved
|
|
22
|
-
onSelect(search);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
setOptions(defaultOptions ?? []);
|
|
27
|
-
onSelect(null);
|
|
28
|
-
setSearch('');
|
|
29
|
-
}
|
|
30
|
-
}, [searching, onSelect]);
|
|
31
|
-
const defaultSearch = getSearch(search, value);
|
|
32
|
-
return (_jsx(Combobox, { id: id, className: className, classNamePrefix: classNamePrefix, onChange: handleChange, disabled: disabled, readOnly: readOnly, options: options, editable: true, onSelect: handleSelect, value: value, search: defaultSearch, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, description: description, errors: errors }));
|
|
11
|
+
return (_jsx(Combobox, { id: id, isLoading: state === 'loading', className: className, classNamePrefix: classNamePrefix, onChange: (v) => onSearch(v ?? ''), disabled: disabled, readOnly: readOnly, options: options, editable: true, onBlur: onBlur, onFocus: onFocus, onSelect: handleSelect, value: value[0]?.id ?? '', search: search, optionRenderer: optionRenderer, labelRenderer: labelRenderer, placeholder: placeholder, label: label, description: description, errors: errors }));
|
|
33
12
|
});
|
|
34
|
-
function getSearch(search, value) {
|
|
35
|
-
if (!search.length && value) {
|
|
36
|
-
return value;
|
|
37
|
-
}
|
|
38
|
-
return '';
|
|
39
|
-
}
|
|
40
13
|
//# sourceMappingURL=CustomSuggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"CustomSuggester.js","sourceRoot":"","sources":["../../../../src/components/Suggester/CustomSuggester.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAyBvD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAChD,WAAW,EACX,CAAC,EACA,SAAS,EACT,eAAe,GAAG,SAAS,EAC3B,WAAW,GAAG,CAAC,CAAC,WAAW,EAC3B,QAAQ,GAAG,YAAY,EACvB,aAAa,EACb,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,MAAM,EACN,KAAK,EACL,WAAW,EACX,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,GACP,EAAE,EAAE;IACJ,MAAM,YAAY,GAAG,WAAW,CAC/B,CAAC,EAAiB,EAAE,EAAE;QACrB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;IACpD,CAAC,EACD,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,OAAO,CACN,KAAC,QAAQ,IACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,KAAK,KAAK,SAAS,EAC9B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,GACb,CACF,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { LunaticComponentProps } from '../type';
|
|
2
|
-
export declare function Suggester({ storeName, idbVersion, id, className, optionRenderer, labelRenderer, handleChange, disabled, value, label, description,
|
|
2
|
+
export declare function Suggester({ storeName, idbVersion, id, className, optionRenderer, labelRenderer, handleChange, disabled, value, label, description, errors, readOnly, workersBasePath, getSuggesterStatus, response, optionResponses, executeExpression, iteration, arbitrary, arbitraryValue, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,40 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
3
|
import { CustomSuggester } from './CustomSuggester';
|
|
4
|
-
import { createSearching } from './helpers';
|
|
5
|
-
import { SuggesterStatus } from './SuggesterStatus';
|
|
6
4
|
import { getComponentErrors } from '../shared/ComponentErrors/ComponentErrors';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const onChange = (v) => {
|
|
11
|
-
if (v && typeof v === 'object' && optionResponses) {
|
|
12
|
-
if (v.id) {
|
|
13
|
-
handleChange(response, v.id);
|
|
14
|
-
}
|
|
15
|
-
for (const optionResponse of optionResponses) {
|
|
16
|
-
if (optionResponse.attribute in v) {
|
|
17
|
-
handleChange({ name: optionResponse.name }, v[optionResponse.attribute]);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
handleChange(response, v);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
// Fetch suggester info when the suggester is mounted
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
fetchInfos();
|
|
28
|
-
}, [fetchInfos]);
|
|
29
|
-
const searching = useMemo(function () {
|
|
30
|
-
if (infos) {
|
|
31
|
-
return createSearching(storeName, idbVersion, workersBasePath);
|
|
32
|
-
}
|
|
33
|
-
return undefined;
|
|
34
|
-
}, [infos, storeName, idbVersion, workersBasePath]);
|
|
5
|
+
import { OTHER_VALUE, useSuggestions } from './useSuggestions';
|
|
6
|
+
import D from '../../i18n';
|
|
7
|
+
export function Suggester({ storeName, idbVersion = '1', id, className, optionRenderer, labelRenderer, handleChange, disabled, value, label, description, errors, readOnly, workersBasePath, getSuggesterStatus, response, optionResponses = [], executeExpression, iteration, arbitrary, arbitraryValue, }) {
|
|
35
8
|
// Default options should not change between render
|
|
36
9
|
// so we can break the rule of hooks here
|
|
37
|
-
const
|
|
10
|
+
const [selectedOptions, setSelectedOptions] = useState(() => {
|
|
11
|
+
if (arbitraryValue) {
|
|
12
|
+
return [{ id: 'OTHER', label: arbitraryValue, value: 'OTHER' }];
|
|
13
|
+
}
|
|
38
14
|
if (!value) {
|
|
39
15
|
return [];
|
|
40
16
|
}
|
|
@@ -55,7 +31,53 @@ export function Suggester({ storeName, idbVersion = '1', id, className, optionRe
|
|
|
55
31
|
value: value,
|
|
56
32
|
},
|
|
57
33
|
];
|
|
58
|
-
}
|
|
59
|
-
|
|
34
|
+
});
|
|
35
|
+
const { state, options, search, setSearch, onFocus, onBlur } = useSuggestions({
|
|
36
|
+
indexStatus: getSuggesterStatus(storeName).status,
|
|
37
|
+
storeName: storeName,
|
|
38
|
+
idbVersion: idbVersion,
|
|
39
|
+
workersBasePath: workersBasePath,
|
|
40
|
+
allowArbitrary: !!arbitrary,
|
|
41
|
+
selectedOptions: selectedOptions,
|
|
42
|
+
});
|
|
43
|
+
const onChange = (v) => {
|
|
44
|
+
setSelectedOptions(v?.id ? [v] : []);
|
|
45
|
+
// User has selected an option
|
|
46
|
+
if (v?.id && v.id !== OTHER_VALUE) {
|
|
47
|
+
handleChange(response, v.id);
|
|
48
|
+
if (arbitrary) {
|
|
49
|
+
handleChange(arbitrary.response, null);
|
|
50
|
+
}
|
|
51
|
+
// Update additional responses
|
|
52
|
+
for (const optionResponse of optionResponses) {
|
|
53
|
+
if (optionResponse.attribute in v) {
|
|
54
|
+
handleChange({ name: optionResponse.name }, v[optionResponse.attribute]);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// User chose an arbitrary option or clear the value
|
|
60
|
+
handleChange(arbitrary.response, v?.id === OTHER_VALUE ? search : null);
|
|
61
|
+
handleChange(response, null);
|
|
62
|
+
for (const optionResponse of optionResponses) {
|
|
63
|
+
handleChange({ name: optionResponse.name }, null);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
let componentErrors = getComponentErrors(errors, id) ?? [];
|
|
67
|
+
if (state === 'error') {
|
|
68
|
+
componentErrors.push({
|
|
69
|
+
id: 'suggester',
|
|
70
|
+
errorMessage: D.SUGGESTER_ERROR,
|
|
71
|
+
criticality: 'ERROR',
|
|
72
|
+
typeOfControl: 'FORMAT',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
const handleSearch = (query) => {
|
|
76
|
+
if (query === '' && selectedOptions.length > 0) {
|
|
77
|
+
onChange(null);
|
|
78
|
+
}
|
|
79
|
+
setSearch(query);
|
|
80
|
+
};
|
|
81
|
+
return (_jsx(CustomSuggester, { state: state, id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, options: options, onSelect: onChange, onFocus: onFocus, search: search, onSearch: handleSearch, disabled: disabled, readOnly: readOnly, value: selectedOptions, label: label, onBlur: onBlur, description: description, errors: componentErrors }));
|
|
60
82
|
}
|
|
61
83
|
//# sourceMappingURL=Suggester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Suggester.js","sourceRoot":"","sources":["../../../../src/components/Suggester/Suggester.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
status: SuggesterStatus;
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
type Props = {
|
|
3
|
+
status: 'Error' | 'Idle';
|
|
5
4
|
storeName: string;
|
|
6
5
|
label?: ReactNode;
|
|
7
6
|
description?: ReactNode;
|
|
8
|
-
}
|
|
9
|
-
export declare const SuggesterNotification:
|
|
7
|
+
};
|
|
8
|
+
export declare const SuggesterNotification: import("react").ComponentType<Props>;
|
|
10
9
|
export {};
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { STATUS } from './SuggesterStatus';
|
|
2
|
+
import {} from 'react';
|
|
4
3
|
import { Notification } from '../shared/Notification';
|
|
5
|
-
import { SuggesterStatus } from '../../use-lunatic/use-suggesters';
|
|
6
4
|
import { slottableComponent } from '../shared/HOC/slottableComponent';
|
|
7
5
|
import { Label } from '../shared/Label/Label';
|
|
8
|
-
function LunaticSuggesterNotification({
|
|
9
|
-
if (status ===
|
|
6
|
+
function LunaticSuggesterNotification({ status, storeName, label, description, }) {
|
|
7
|
+
if (status === 'Idle') {
|
|
10
8
|
return (_jsxs(_Fragment, { children: [_jsx(Label, { description: description, children: label }), _jsx(Notification, { className: "info", title: `Chargement : ${storeName}`, description: `Votre référentiel est en cours de chargement. Vous pouvez poursuivre le questionnaire et revenir ultérieurement sur cette question.` })] }));
|
|
11
9
|
}
|
|
12
|
-
if (status ===
|
|
10
|
+
if (status === 'Error') {
|
|
13
11
|
return (_jsxs(_Fragment, { children: [_jsx(Label, { description: description, children: label }), _jsx(Notification, { className: "error", title: `Échec chargement`, description: `Le référentiel ${storeName} n'a pas pu finir son chargement correctement.` })] }));
|
|
14
12
|
}
|
|
15
|
-
|
|
16
|
-
return (_jsxs(_Fragment, { children: [_jsx(Label, { description: description, children: label }), _jsx(Notification, { className: "warn", title: `Référentiel inconnu`, description: `Le référentiel ${storeName} n'est pas pris en compte par l'application.` })] }));
|
|
17
|
-
}
|
|
18
|
-
return _jsx(_Fragment, { children: children });
|
|
13
|
+
return (_jsxs(_Fragment, { children: [_jsx(Label, { description: description, children: label }), _jsx(Notification, { className: "warn", title: `Référentiel inconnu`, description: `Le référentiel ${storeName} n'est pas pris en compte par l'application.` })] }));
|
|
19
14
|
}
|
|
20
15
|
export const SuggesterNotification = slottableComponent('SuggesterNotification', LunaticSuggesterNotification);
|
|
21
16
|
//# sourceMappingURL=SuggesterNotification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuggesterNotification.js","sourceRoot":"","sources":["../../../../src/components/Suggester/SuggesterNotification.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SuggesterNotification.js","sourceRoot":"","sources":["../../../../src/components/Suggester/SuggesterNotification.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAS9C,SAAS,4BAA4B,CAAC,EACrC,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,GACJ;IACP,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,CACN,8BACC,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,YAAG,KAAK,GAAS,EAChD,KAAC,YAAY,IACZ,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,gBAAgB,SAAS,EAAE,EAClC,WAAW,EAAE,qIAAqI,GACjJ,IACA,CACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,CACN,8BACC,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,YAAG,KAAK,GAAS,EAChD,KAAC,YAAY,IACZ,SAAS,EAAC,OAAO,EACjB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,kBAAkB,SAAS,gDAAgD,GACvF,IACA,CACH,CAAC;IACH,CAAC;IACD,OAAO,CACN,8BACC,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,YAAG,KAAK,GAAS,EAChD,KAAC,YAAY,IACZ,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,qBAAqB,EAC5B,WAAW,EAAE,kBAAkB,SAAS,8CAA8C,GACrF,IACA,CACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CACtD,uBAAuB,EACvB,4BAA4B,CAC5B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SuggesterOptionType } from './SuggesterType';
|
|
2
|
+
import { SuggesterStatus } from '../../use-lunatic/use-suggesters';
|
|
3
|
+
type Props = {
|
|
4
|
+
indexStatus: SuggesterStatus;
|
|
5
|
+
storeName: string;
|
|
6
|
+
idbVersion: string;
|
|
7
|
+
workersBasePath?: string;
|
|
8
|
+
selectedOptions: SuggesterOptionType[];
|
|
9
|
+
allowArbitrary: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const OTHER_VALUE = "OTHER";
|
|
12
|
+
export declare function useSuggestions({ indexStatus, storeName, idbVersion, workersBasePath, selectedOptions, allowArbitrary, }: Props): {
|
|
13
|
+
search: string;
|
|
14
|
+
setSearch: (s: string) => void;
|
|
15
|
+
state: "error" | "success" | "loading";
|
|
16
|
+
options: SuggesterOptionType[];
|
|
17
|
+
onBlur: () => void;
|
|
18
|
+
onFocus: () => void;
|
|
19
|
+
};
|
|
20
|
+
export {};
|