@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.
Files changed (82) hide show
  1. package/lib/main.css +0 -2
  2. package/lib/main.css.map +1 -1
  3. package/lib/package.json +3 -3
  4. package/lib/src/components/Loop/Loop.d.ts +1 -1
  5. package/lib/src/components/LunaticComponents.d.ts +5 -4
  6. package/lib/src/components/LunaticComponents.js.map +1 -1
  7. package/lib/src/components/PairwiseLinks/PairwiseLinks.js +31 -5
  8. package/lib/src/components/PairwiseLinks/PairwiseLinks.js.map +1 -1
  9. package/lib/src/components/Radio/Radio.d.ts +1 -0
  10. package/lib/src/components/RosterForLoop/RosterForLoop.spec.js.map +1 -1
  11. package/lib/src/components/Sequence/Sequence.d.ts +3 -1
  12. package/lib/src/components/Subsequence/Subsequence.d.ts +3 -1
  13. package/lib/src/components/Suggester/CustomSuggester.d.ts +9 -8
  14. package/lib/src/components/Suggester/CustomSuggester.js +4 -31
  15. package/lib/src/components/Suggester/CustomSuggester.js.map +1 -1
  16. package/lib/src/components/Suggester/Suggester.d.ts +1 -1
  17. package/lib/src/components/Suggester/Suggester.js +57 -35
  18. package/lib/src/components/Suggester/Suggester.js.map +1 -1
  19. package/lib/src/components/Suggester/SuggesterNotification.d.ts +5 -6
  20. package/lib/src/components/Suggester/SuggesterNotification.js +5 -10
  21. package/lib/src/components/Suggester/SuggesterNotification.js.map +1 -1
  22. package/lib/src/components/Suggester/useSuggestions.d.ts +20 -0
  23. package/lib/src/components/Suggester/useSuggestions.js +86 -0
  24. package/lib/src/components/Suggester/useSuggestions.js.map +1 -0
  25. package/lib/src/components/Switch/Switch.d.ts +1 -0
  26. package/lib/src/components/library.d.ts +15 -5
  27. package/lib/src/components/shared/Combobox/Combobox.d.ts +2 -0
  28. package/lib/src/components/shared/Combobox/Combobox.js +5 -6
  29. package/lib/src/components/shared/Combobox/Combobox.js.map +1 -1
  30. package/lib/src/components/shared/Combobox/ComboboxType.d.ts +1 -0
  31. package/lib/src/components/shared/Combobox/Panel/ComboboxOption.js +4 -0
  32. package/lib/src/components/shared/Combobox/Panel/ComboboxOption.js.map +1 -1
  33. package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.d.ts +1 -1
  34. package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.js +15 -1
  35. package/lib/src/components/shared/Combobox/Panel/ComboboxPanel.js.map +1 -1
  36. package/lib/src/components/shared/Combobox/Selection/ComboboxLabelSelection.js +6 -0
  37. package/lib/src/components/shared/Combobox/Selection/ComboboxLabelSelection.js.map +1 -1
  38. package/lib/src/components/type.d.ts +41 -11
  39. package/lib/src/components/type.js.map +1 -1
  40. package/lib/src/hooks/use-track-changes.js +1 -1
  41. package/lib/src/hooks/use-track-changes.js.map +1 -1
  42. package/lib/src/hooks/useDebounce.d.ts +4 -0
  43. package/lib/src/hooks/useDebounce.js +23 -0
  44. package/lib/src/hooks/useDebounce.js.map +1 -0
  45. package/lib/src/hooks/useDocumentEvent.js +1 -1
  46. package/lib/src/hooks/useDocumentEvent.js.map +1 -1
  47. package/lib/src/hooks/{use-ref-sync.js → useRefSync.js} +1 -1
  48. package/lib/src/hooks/useRefSync.js.map +1 -0
  49. package/lib/src/hooks/useSuggesterInfo.d.ts +1 -1
  50. package/lib/src/i18n/dictionary.d.ts +16 -0
  51. package/lib/src/i18n/dictionary.js +16 -0
  52. package/lib/src/i18n/dictionary.js.map +1 -1
  53. package/lib/src/i18n/index.d.ts +1 -1
  54. package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.js +3 -0
  55. package/lib/src/use-lunatic/commons/fill-components/fill-component-expressions.js.map +1 -1
  56. package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +71 -66
  57. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +68 -63
  58. package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +16 -16
  59. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +70 -60
  60. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.js +16 -0
  61. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.js.map +1 -1
  62. package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +2 -1
  63. package/lib/src/use-lunatic/commons/use-components-from-state.js.map +1 -1
  64. package/lib/src/use-lunatic/hooks/use-page-has-response.d.ts +2 -2
  65. package/lib/src/use-lunatic/hooks/use-page-has-response.js +6 -3
  66. package/lib/src/use-lunatic/hooks/use-page-has-response.js.map +1 -1
  67. package/lib/src/use-lunatic/replace-component-sequence.d.ts +3 -3
  68. package/lib/src/use-lunatic/type-source.d.ts +7 -2
  69. package/lib/src/use-lunatic/use-lunatic.d.ts +4 -486
  70. package/lib/src/use-lunatic/use-lunatic.js +2 -2
  71. package/lib/src/use-lunatic/use-lunatic.js.map +1 -1
  72. package/lib/src/use-lunatic/use-lunatic.test.js +2 -2
  73. package/lib/src/use-lunatic/use-lunatic.test.js.map +1 -1
  74. package/lib/src/utils/function.d.ts +1 -0
  75. package/lib/src/utils/function.js +18 -0
  76. package/lib/src/utils/function.js.map +1 -1
  77. package/package.json +3 -3
  78. package/lib/src/components/Suggester/SuggesterStatus.d.ts +0 -23
  79. package/lib/src/components/Suggester/SuggesterStatus.js +0 -24
  80. package/lib/src/components/Suggester/SuggesterStatus.js.map +0 -1
  81. package/lib/src/hooks/use-ref-sync.js.map +0 -1
  82. /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;EACA;EAjDL;EAmDK;EACA;EACA;EA9DL;EASA;EAPA;EACA;EACA;EACA;;AA4DK;EACC;EACA;EACA;;AAGD;EACC;;AAKH;EApEH;EAsEI;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;EACA;;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;EAtMJ;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"}
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.13",
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 --project tsconfig.prod.json && sass ./src/css/main.scss ./lib/main.css && cp -R ./src/css/icons ./lib/icons && npm run build-workers",
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 Props<T extends FilledLunaticComponentProps, V = unknown> = {
5
- components: (FilledLunaticComponentProps | ReactElement | {
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 & T & V & {
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<T extends FilledLunaticComponentProps, V = undefined>({ components, autoFocusKey, componentProps, blocklist, memo, slots, wrapper, }: Props<T, V>): import("react/jsx-runtime").JSX.Element;
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":"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"}
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, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
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
- return (_jsxs(_Fragment, { children: [_jsx(Declarations, { type: "AFTER_QUESTION_TEXT", declarations: declarations, id: id }), times(xAxisIterations, (x) => (_jsx(Fragment, { children: times(yAxisIterations, (y) => (_jsx(Fragment, { children: _jsx(LunaticComponents, { components: getComponents(x, y), componentProps: (props) => ({
12
- ...props,
13
- id: `${props.id}-${x + 1}-${y + 1} `,
14
- }) }) }, `${x}-${y}`))) }, x)))] }));
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;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC7B,YAAY,EACZ,eAAe,EACf,eAAe,EACf,EAAE,EACF,aAAa,GAC2B,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,eAAe,GAAG,eAAe,CAAC;IAEjD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,gDAA8B,CAAC;IACvC,CAAC;IAED,OAAO,CACN,8BACC,KAAC,YAAY,IACZ,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,EAAE,GACL,EACD,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,QAAQ,cACP,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,QAAQ,cACR,KAAC,iBAAiB,IACjB,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC3B,GAAG,KAAK;4BACR,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;yBACpC,CAAC,GACD,IAPY,GAAG,CAAC,IAAI,CAAC,EAAE,CAQf,CACX,CAAC,IAXY,CAAC,CAYL,CACX,CAAC,IACA,CACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"PairwiseLinks.js","sourceRoot":"","sources":["../../../../src/components/PairwiseLinks/PairwiseLinks.tsx"],"names":[],"mappings":"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"}
@@ -9,4 +9,5 @@ export declare const Radio: import("react").ComponentType<import("../type").Luna
9
9
  response: {
10
10
  name: string;
11
11
  };
12
+ componentType?: "Radio" | undefined;
12
13
  }>;
@@ -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;SACgB;KAChC,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
+ {"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: string | null | {
9
+ onSelect: (option: SuggesterOptionType | null) => void;
10
+ onBlur: () => void;
11
+ onFocus: () => void;
12
+ value: {
10
13
  id?: string;
11
14
  [key: string]: ReactNode;
12
- }) => void;
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
- defaultOptions?: SuggesterOptionType[];
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, useState, useRef } from 'react';
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, searching, label, description, errors, defaultOptions, }) => {
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(id ? options.find((o) => o.id === id) : null);
9
+ onSelect(options.find((o) => o.id === id) ?? null);
13
10
  }, [onSelect]);
14
- const handleChange = useCallback(async function (search) {
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":"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"}
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, getSuggesterStatus, errors, readOnly, workersBasePath, response, optionResponses, executeExpression, iteration, }: LunaticComponentProps<'Suggester'>): import("react/jsx-runtime").JSX.Element;
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 { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useMemo } from 'react';
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 { useSuggesterInfo } from '../../hooks/useSuggesterInfo';
8
- export function Suggester({ storeName, idbVersion = '1', id, className, optionRenderer, labelRenderer, handleChange, disabled, value, label, description, getSuggesterStatus, errors, readOnly, workersBasePath, response, optionResponses = [], executeExpression, iteration, }) {
9
- const { state, fetchInfos, infos } = useSuggesterInfo(storeName, idbVersion);
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 defaultOptions = useMemo(() => {
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
- return (_jsxs(SuggesterStatus, { storeName: storeName, getSuggesterStatus: getSuggesterStatus, label: label, description: description, children: [state === 'Loading' && (_jsxs("div", { className: "lunatic-suggester-in-progress", children: ["Le store ", storeName, " est en cours de chargement."] })), state === 'Error' && (_jsx("div", { className: "lunatic-suggester-unvailable", children: "La suggestion sur liste n'est pas possible sur votre navigateur, vous pouvez passer la question en appuyant sur Enregistrer et Continuer" })), state === 'Ready' && searching && (_jsx(CustomSuggester, { id: id, className: className, optionRenderer: optionRenderer, labelRenderer: labelRenderer, defaultOptions: defaultOptions, onSelect: onChange, searching: searching, disabled: disabled, readOnly: readOnly, value: value, label: label, description: description, errors: getComponentErrors(errors, id) }))] }));
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":"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"}
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 React, { type PropsWithChildren, type ReactNode } from 'react';
2
- import { SuggesterStatus } from '../../use-lunatic/use-suggesters';
3
- type Props = PropsWithChildren<{
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: React.ComponentType<Props>;
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 React, {} from 'react';
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({ children, status, storeName, label, description, }) {
9
- if (status === STATUS.idle || status === STATUS.pending) {
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 === STATUS.error) {
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
- if (status === STATUS.unknown) {
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,KAAK,EAAE,EAA0C,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAS9C,SAAS,4BAA4B,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,GACJ;IACP,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACzD,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,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7B,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,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,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;IACH,CAAC;IAED,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CACtD,uBAAuB,EACvB,4BAA4B,CAC5B,CAAC"}
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 {};