@inseefr/lunatic 3.0.0-rc.5 → 3.0.0-rc.8

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 (119) hide show
  1. package/lib/components/CheckboxBoolean/CheckboxBoolean.js +1 -1
  2. package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -2
  3. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +2 -3
  4. package/lib/components/CheckboxGroup/CustomCheckboxGroup.spec.js +3 -0
  5. package/lib/components/CheckboxOne/CheckboxOne.js +0 -1
  6. package/lib/components/Datepicker/Datepicker.js +0 -1
  7. package/lib/components/Dropdown/Dropdown.js +0 -17
  8. package/lib/components/Duration/Duration.js +0 -1
  9. package/lib/components/Input/Input.js +0 -1
  10. package/lib/components/InputNumber/InputNumber.js +0 -1
  11. package/lib/components/RosterForLoop/RosterForLoop.js +0 -1
  12. package/lib/components/Roundabout/Roundabout.js +0 -1
  13. package/lib/components/Sequence/Sequence.js +0 -1
  14. package/lib/components/Suggester/CustomSuggester.js +7 -4
  15. package/lib/components/Suggester/Suggester.js +59 -4
  16. package/lib/components/Textarea/Textarea.js +1 -2
  17. package/lib/components/shared/Button/Button.js +0 -1
  18. package/lib/components/shared/Button/IconButton.js +0 -1
  19. package/lib/components/shared/Checkbox/CheckboxOption.js +0 -1
  20. package/lib/components/shared/Combobox/Combobox.js +3 -2
  21. package/lib/components/shared/ComponentErrors/ComponentErrors.js +0 -1
  22. package/lib/components/shared/Declarations/Declarations.js +0 -1
  23. package/lib/components/shared/Fieldset/Fieldset.js +0 -1
  24. package/lib/components/shared/Icons/lunatic-icon.js +0 -1
  25. package/lib/components/shared/Label/Label.js +0 -1
  26. package/lib/components/shared/Missing/Missing.js +0 -1
  27. package/lib/components/shared/ModalControls/ModalControls.js +0 -1
  28. package/lib/components/shared/Radio/RadioGroup.js +0 -1
  29. package/lib/components/shared/Table/Table.js +0 -1
  30. package/lib/components/shared/VariableStatus/VariableStatus.js +0 -1
  31. package/lib/components/shared/suggester-loader-widget/dragger/dragger.js +0 -1
  32. package/lib/components/shared/suggester-loader-widget/widget.js +0 -1
  33. package/lib/css/components/Button.scss +24 -0
  34. package/lib/css/components/CheckboxGroup.scss +13 -0
  35. package/lib/css/components/CheckboxOne.scss +19 -0
  36. package/lib/css/components/CheckboxOption.scss +19 -0
  37. package/lib/css/components/Combobox.scss +206 -0
  38. package/lib/css/components/ComponentErrors.scss +5 -0
  39. package/lib/css/components/Datepicker.scss +19 -0
  40. package/lib/css/components/Declarations.scss +42 -0
  41. package/lib/css/components/Dragger.scss +8 -0
  42. package/lib/css/components/Dropdown.scss +38 -0
  43. package/lib/css/components/Duration.scss +9 -0
  44. package/lib/css/components/Fieldset.scss +5 -0
  45. package/lib/css/components/IconButton.scss +38 -0
  46. package/lib/css/components/Input.scss +42 -0
  47. package/lib/css/components/InputNumber.scss +11 -0
  48. package/lib/css/components/Label.scss +6 -0
  49. package/lib/css/components/Missing.scss +27 -0
  50. package/lib/css/components/ModalControls.scss +48 -0
  51. package/lib/css/components/RadioGroup.scss +21 -0
  52. package/lib/css/components/RosterForLoop.scss +39 -0
  53. package/lib/css/components/Roundabout.scss +13 -0
  54. package/lib/css/components/Sequence.scss +10 -0
  55. package/lib/css/components/Suggester.scss +170 -0
  56. package/lib/css/components/SuggesterWidget.scss +176 -0
  57. package/lib/css/components/Table.scss +27 -0
  58. package/lib/css/components/Textarea.scss +8 -0
  59. package/lib/css/components/VariableStatus.scss +36 -0
  60. package/lib/css/main.scss +181 -0
  61. package/lib/hooks/useSuggesterInfo.js +14 -12
  62. package/lib/main.css +1063 -0
  63. package/lib/main.css.map +1 -0
  64. package/lib/src/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  65. package/lib/src/components/CheckboxOne/CheckboxOne.d.ts +0 -1
  66. package/lib/src/components/Datepicker/Datepicker.d.ts +0 -1
  67. package/lib/src/components/Dropdown/Dropdown.d.ts +0 -1
  68. package/lib/src/components/Duration/Duration.d.ts +0 -1
  69. package/lib/src/components/Input/Input.d.ts +0 -1
  70. package/lib/src/components/InputNumber/InputNumber.d.ts +0 -1
  71. package/lib/src/components/RosterForLoop/RosterForLoop.d.ts +0 -1
  72. package/lib/src/components/Roundabout/Roundabout.d.ts +0 -1
  73. package/lib/src/components/Sequence/Sequence.d.ts +1 -2
  74. package/lib/src/components/Subsequence/Subsequence.d.ts +1 -1
  75. package/lib/src/components/Suggester/CustomSuggester.d.ts +5 -1
  76. package/lib/src/components/Suggester/Suggester.d.ts +1 -2
  77. package/lib/src/components/Textarea/Textarea.d.ts +0 -1
  78. package/lib/src/components/library.d.ts +3 -3
  79. package/lib/src/components/shared/Button/Button.d.ts +0 -1
  80. package/lib/src/components/shared/Button/IconButton.d.ts +0 -1
  81. package/lib/src/components/shared/Checkbox/CheckboxOption.d.ts +0 -1
  82. package/lib/src/components/shared/Combobox/Combobox.d.ts +1 -1
  83. package/lib/src/components/shared/ComponentErrors/ComponentErrors.d.ts +0 -1
  84. package/lib/src/components/shared/Declarations/Declarations.d.ts +0 -1
  85. package/lib/src/components/shared/Fieldset/Fieldset.d.ts +0 -1
  86. package/lib/src/components/shared/Icons/lunatic-icon.d.ts +0 -1
  87. package/lib/src/components/shared/Label/Label.d.ts +0 -1
  88. package/lib/src/components/shared/Missing/Missing.d.ts +0 -1
  89. package/lib/src/components/shared/ModalControls/ModalControls.d.ts +0 -1
  90. package/lib/src/components/shared/Radio/RadioGroup.d.ts +0 -1
  91. package/lib/src/components/shared/Table/Table.d.ts +0 -1
  92. package/lib/src/components/shared/VariableStatus/VariableStatus.d.ts +0 -1
  93. package/lib/src/components/shared/suggester-loader-widget/dragger/dragger.d.ts +0 -1
  94. package/lib/src/components/shared/suggester-loader-widget/widget.d.ts +0 -1
  95. package/lib/src/components/type.d.ts +6 -1
  96. package/lib/src/hooks/use-track-changes.d.ts +9 -1
  97. package/lib/src/hooks/useSuggesterInfo.d.ts +1 -1
  98. package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +102 -44
  99. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +83 -21
  100. package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +47 -36
  101. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +158 -46
  102. package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +1 -1
  103. package/lib/src/use-lunatic/replace-component-sequence.d.ts +21 -3
  104. package/lib/src/use-lunatic/type-source.d.ts +51 -42
  105. package/lib/src/use-lunatic/type.d.ts +4 -4
  106. package/lib/src/use-lunatic/use-lunatic.d.ts +57 -15
  107. package/lib/src/utils/variables.d.ts +10 -2
  108. package/lib/stories/loop/source-roster.json +2 -2
  109. package/lib/stories/suggester/fakeReferentiel.json +12 -0
  110. package/lib/stories/suggester/source-option-responses.json +145 -0
  111. package/lib/stories/suggester/suggester.stories.js +46 -1
  112. package/lib/use-lunatic/use-lunatic.test.js +8 -7
  113. package/package.json +2 -2
  114. package/lib/components/Dropdown/DropdownWritable.js +0 -58
  115. package/lib/components/Dropdown/renderer/WritableLabelRenderer.js +0 -38
  116. package/lib/components/Dropdown/renderer/WritableOptionRenderer.js +0 -140
  117. package/lib/src/components/Dropdown/DropdownWritable.d.ts +0 -17
  118. package/lib/src/components/Dropdown/renderer/WritableLabelRenderer.d.ts +0 -8
  119. package/lib/src/components/Dropdown/renderer/WritableOptionRenderer.d.ts +0 -8
@@ -34,7 +34,7 @@ function CheckboxBoolean(_ref) {
34
34
  errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
35
35
  }));
36
36
  }
37
- var CustomCheckboxBoolean = exports.CustomCheckboxBoolean = (0, _slottableComponent.slottableComponent)('Input', function (props) {
37
+ var CustomCheckboxBoolean = exports.CustomCheckboxBoolean = (0, _slottableComponent.slottableComponent)('CheckboxBoolean', function (props) {
38
38
  var disabled = props.disabled,
39
39
  checked = props.checked,
40
40
  id = props.id,
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.CheckboxGroup = CheckboxGroup;
7
7
  var _CustomCheckboxGroup = require("./CustomCheckboxGroup");
8
8
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
9
- require("./CheckboxGroup.scss");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  function CheckboxGroup(_ref) {
12
11
  var id = _ref.id,
@@ -20,11 +19,13 @@ function CheckboxGroup(_ref) {
20
19
  var options = responses.map(function (_ref2) {
21
20
  var label = _ref2.label,
22
21
  response = _ref2.response,
23
- description = _ref2.description;
22
+ description = _ref2.description,
23
+ id = _ref2.id;
24
24
  var name = response.name;
25
25
  return {
26
26
  label: label,
27
27
  name: name,
28
+ id: id,
28
29
  checked: castValueToBoolean(value, name),
29
30
  description: description,
30
31
  onClick: function onClick(checked) {
@@ -28,16 +28,15 @@ var CustomCheckboxGroup = exports.CustomCheckboxGroup = (0, _slottableComponent.
28
28
  legend: label,
29
29
  description: description,
30
30
  children: [options.map(function (option, index) {
31
- var checkboxId = "lunatic-checkbox-".concat(id, "-").concat(option.name);
32
31
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
33
32
  className: "lunatic-checkbox-group-option",
34
33
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxOption.CheckboxOption, _objectSpread(_objectSpread({}, option), {}, {
35
34
  shortcut: shortcut,
36
35
  invalid: !!errors,
37
- id: checkboxId,
36
+ id: option.id,
38
37
  codeModality: shortcut ? (0, _getShortcutKey.getShortcutKey)(index, options.length) : undefined
39
38
  }))
40
- }, checkboxId);
39
+ }, option.id);
41
40
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
42
41
  errors: errors
43
42
  })]
@@ -6,16 +6,19 @@ var _CustomCheckboxGroup = require("./CustomCheckboxGroup");
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
7
  (0, _vitest.describe)('CheckboxGroupContent', function () {
8
8
  var options = [{
9
+ id: '1',
9
10
  label: 'Option 1',
10
11
  checked: false,
11
12
  name: 'option1',
12
13
  onClick: _vitest.vi.fn()
13
14
  }, {
15
+ id: '2',
14
16
  label: 'Option 2',
15
17
  checked: true,
16
18
  name: 'option2',
17
19
  onClick: _vitest.vi.fn()
18
20
  }, {
21
+ id: '3',
19
22
  label: 'Option 3',
20
23
  checked: false,
21
24
  name: 'option3',
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CheckboxOne = CheckboxOne;
7
7
  var _RadioGroup = require("../shared/Radio/RadioGroup");
8
- require("./CheckboxOne.scss");
9
8
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  /**
@@ -8,7 +8,6 @@ exports.CustomDatepicker = void 0;
8
8
  exports.Datepicker = Datepicker;
9
9
  var _react = require("react");
10
10
  var _DatepickerField = require("./DatepickerField");
11
- require("./Datepicker.scss");
12
11
  var _slottableComponent = require("../shared/HOC/slottableComponent");
13
12
  var _Label = require("../shared/Label/Label");
14
13
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.CustomDropdown = void 0;
8
8
  exports.Dropdown = Dropdown;
9
- require("./Dropdown.scss");
10
9
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
11
10
  var _slottableComponent = require("../shared/HOC/slottableComponent");
12
11
  var _SimpleOptionRenderer = require("./renderer/SimpleOptionRenderer");
13
12
  var _SimpleLabelRenderer = require("./renderer/SimpleLabelRenderer");
14
- var _DropdownWritable = require("./DropdownWritable");
15
13
  var _Combobox = require("../shared/Combobox/Combobox");
16
14
  var _classnames = _interopRequireDefault(require("classnames"));
17
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -40,7 +38,6 @@ var CustomDropdown = exports.CustomDropdown = (0, _slottableComponent.slottableC
40
38
  var id = props.id,
41
39
  disabled = props.disabled,
42
40
  options = props.options,
43
- writable = props.writable,
44
41
  className = props.className,
45
42
  value = props.value,
46
43
  description = props.description,
@@ -48,20 +45,6 @@ var CustomDropdown = exports.CustomDropdown = (0, _slottableComponent.slottableC
48
45
  errors = props.errors,
49
46
  onChange = props.onChange,
50
47
  readOnly = props.readOnly;
51
- if (writable) {
52
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DropdownWritable.DropdownWritable, {
53
- id: id,
54
- className: (0, _classnames["default"])(className, 'lunatic-dropdown'),
55
- disabled: disabled,
56
- readOnly: readOnly,
57
- options: options,
58
- onSelect: onChange,
59
- value: value,
60
- label: label,
61
- errors: errors,
62
- description: description
63
- });
64
- }
65
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox.Combobox, {
66
49
  id: id,
67
50
  className: (0, _classnames["default"])(className, 'lunatic-dropdown'),
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.CustomDuration = void 0;
8
8
  exports.Duration = Duration;
9
- require("./Duration.scss");
10
9
  var _react = require("react");
11
10
  var _getDurationFromValue = require("./getDurationFromValue");
12
11
  var _durationUtils = require("./durationUtils");
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.CustomInput = void 0;
8
8
  exports.Input = Input;
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- require("./Input.scss");
11
10
  var _Label = require("../shared/Label/Label");
12
11
  var _slottableComponent = require("../shared/HOC/slottableComponent");
13
12
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.CustomInputNumber = void 0;
8
8
  exports.InputNumber = InputNumber;
9
9
  var _InputNumberThousand = require("./InputNumberThousand");
10
- require("./InputNumber.scss");
11
10
  var _Label = require("../shared/Label/Label");
12
11
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
13
12
  var _slottableComponent = require("../shared/HOC/slottableComponent");
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.RosterForLoop = void 0;
8
8
  var _react = require("react");
9
- require("./RosterForLoop.scss");
10
9
  var _Table = require("../shared/Table");
11
10
  var _array = require("../../utils/array");
12
11
  var _LunaticComponents = require("../LunaticComponents");
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Roundabout = Roundabout;
7
- require("./Roundabout.scss");
8
7
  var _react = require("react");
9
8
  var _CustomRoundabout = require("./CustomRoundabout");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Sequence = void 0;
7
- require("./Sequence.scss");
8
7
  var _slottableComponent = require("../shared/HOC/slottableComponent");
9
8
  var _LabelDescription = require("../shared/LabelDescription");
10
9
  var _Declarations = require("../shared/Declarations/Declarations");
@@ -38,18 +38,21 @@ var CustomSuggester = exports.CustomSuggester = (0, _slottableComponent.slottabl
38
38
  searching = _ref.searching,
39
39
  label = _ref.label,
40
40
  description = _ref.description,
41
- errors = _ref.errors;
41
+ errors = _ref.errors,
42
+ defaultOptions = _ref.defaultOptions;
42
43
  var _useState = (0, _react.useState)(''),
43
44
  _useState2 = _slicedToArray(_useState, 2),
44
45
  search = _useState2[0],
45
46
  setSearch = _useState2[1];
46
- var _useState3 = (0, _react.useState)([]),
47
+ var _useState3 = (0, _react.useState)(defaultOptions !== null && defaultOptions !== void 0 ? defaultOptions : []),
47
48
  _useState4 = _slicedToArray(_useState3, 2),
48
49
  options = _useState4[0],
49
50
  setOptions = _useState4[1];
50
51
  var lastSearch = (0, _react.useRef)('');
51
52
  var handleSelect = (0, _react.useCallback)(function (id) {
52
- onSelect(id ? id : null);
53
+ onSelect(id ? options.find(function (o) {
54
+ return o.id === id;
55
+ }) : null);
53
56
  }, [onSelect]);
54
57
  var handleChange = (0, _react.useCallback)( /*#__PURE__*/function () {
55
58
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(search) {
@@ -77,7 +80,7 @@ var CustomSuggester = exports.CustomSuggester = (0, _slottableComponent.slottabl
77
80
  _context.next = 13;
78
81
  break;
79
82
  case 10:
80
- setOptions([]);
83
+ setOptions(defaultOptions !== null && defaultOptions !== void 0 ? defaultOptions : []);
81
84
  onSelect(null);
82
85
  setSearch('');
83
86
  case 13:
@@ -10,8 +10,11 @@ var _helpers = require("./helpers");
10
10
  var _SuggesterStatus = require("./SuggesterStatus");
11
11
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
12
12
  var _useSuggesterInfo2 = require("../../hooks/useSuggesterInfo");
13
- require("./Suggester.scss");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
14
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
17
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
15
18
  function Suggester(_ref) {
16
19
  var storeName = _ref.storeName,
17
20
  _ref$idbVersion = _ref.idbVersion,
@@ -29,13 +32,39 @@ function Suggester(_ref) {
29
32
  errors = _ref.errors,
30
33
  readOnly = _ref.readOnly,
31
34
  workersBasePath = _ref.workersBasePath,
32
- response = _ref.response;
35
+ response = _ref.response,
36
+ _ref$optionResponses = _ref.optionResponses,
37
+ optionResponses = _ref$optionResponses === void 0 ? [] : _ref$optionResponses,
38
+ executeExpression = _ref.executeExpression,
39
+ iteration = _ref.iteration;
33
40
  var _useSuggesterInfo = (0, _useSuggesterInfo2.useSuggesterInfo)(storeName, idbVersion),
34
41
  state = _useSuggesterInfo.state,
35
42
  fetchInfos = _useSuggesterInfo.fetchInfos,
36
43
  infos = _useSuggesterInfo.infos;
37
44
  var onChange = function onChange(v) {
38
- handleChange(response, v);
45
+ if (v && _typeof(v) === 'object' && optionResponses) {
46
+ if (v.id) {
47
+ handleChange(response, v.id);
48
+ }
49
+ var _iterator = _createForOfIteratorHelper(optionResponses),
50
+ _step;
51
+ try {
52
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
53
+ var optionResponse = _step.value;
54
+ if (optionResponse.attribute in v) {
55
+ handleChange({
56
+ name: optionResponse.name
57
+ }, v[optionResponse.attribute]);
58
+ }
59
+ }
60
+ } catch (err) {
61
+ _iterator.e(err);
62
+ } finally {
63
+ _iterator.f();
64
+ }
65
+ } else {
66
+ handleChange(response, v);
67
+ }
39
68
  };
40
69
 
41
70
  // Fetch suggester info when the suggester is mounted
@@ -48,6 +77,31 @@ function Suggester(_ref) {
48
77
  }
49
78
  return undefined;
50
79
  }, [infos, storeName, idbVersion, workersBasePath]);
80
+
81
+ // Default options should not change between render
82
+ // so we can break the rule of hooks here
83
+ var defaultOptions = (0, _react.useMemo)(function () {
84
+ if (!value) {
85
+ return [];
86
+ }
87
+ var labelResponse = optionResponses === null || optionResponses === void 0 ? void 0 : optionResponses.find(function (o) {
88
+ return o.attribute === 'label';
89
+ });
90
+ if (!labelResponse) {
91
+ return [];
92
+ }
93
+ var label = executeExpression(labelResponse.name, {
94
+ iteration: iteration
95
+ });
96
+ if (!label) {
97
+ return [];
98
+ }
99
+ return [{
100
+ id: value,
101
+ label: label,
102
+ value: value
103
+ }];
104
+ }, []);
51
105
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SuggesterStatus.SuggesterStatus, {
52
106
  storeName: storeName,
53
107
  getSuggesterStatus: getSuggesterStatus,
@@ -59,11 +113,12 @@ function Suggester(_ref) {
59
113
  }), state === 'Error' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
114
  className: "lunatic-suggester-unvailable",
61
115
  children: "La suggestion sur liste n'est pas possible sur votre navigateur, vous pouvez passer la question en appuyant sur Enregistrer et Continuer"
62
- }), state === 'Ready' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomSuggester.CustomSuggester, {
116
+ }), state === 'Ready' && searching && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomSuggester.CustomSuggester, {
63
117
  id: id,
64
118
  className: className,
65
119
  optionRenderer: optionRenderer,
66
120
  labelRenderer: labelRenderer,
121
+ defaultOptions: defaultOptions,
67
122
  onSelect: onChange,
68
123
  searching: searching,
69
124
  disabled: disabled,
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.CustomTextarea = void 0;
8
8
  exports.Textarea = Textarea;
9
- require("./Textarea.scss");
10
9
  var _Label = require("../shared/Label/Label");
11
10
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
12
11
  var _slottableComponent = require("../shared/HOC/slottableComponent");
@@ -32,7 +31,7 @@ function Textarea(_ref) {
32
31
  errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
33
32
  }));
34
33
  }
35
- var CustomTextarea = exports.CustomTextarea = (0, _slottableComponent.slottableComponent)('Input', function (props) {
34
+ var CustomTextarea = exports.CustomTextarea = (0, _slottableComponent.slottableComponent)('Textarea', function (props) {
36
35
  var value = props.value,
37
36
  _onChange = props.onChange,
38
37
  disabled = props.disabled,
@@ -7,7 +7,6 @@ exports.Button = void 0;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var _dom = require("../../../utils/dom");
9
9
  var _isElement = require("../../../utils/is-element");
10
- require("./Button.scss");
11
10
  var _slottableComponent = require("../HOC/slottableComponent");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.IconButton = IconButton;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
- require("./IconButton.scss");
9
8
  var _function = require("../../../utils/function");
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -7,7 +7,6 @@ exports.CheckboxOption = void 0;
7
7
  var _react = require("react");
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _Icons = require("../Icons");
10
- require("./CheckboxOption.scss");
11
10
  var _reactKeyboardEventHandler = _interopRequireDefault(require("react-keyboard-event-handler"));
12
11
  var _slottableComponent = require("../HOC/slottableComponent");
13
12
  var _Label = require("../Label/Label");
@@ -8,7 +8,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var _react = require("react");
9
9
  var _ComboboxContainer = require("./ComboboxContainer");
10
10
  var _ComboboxContent = require("./ComboboxContent");
11
- require("./Combobox.scss");
12
11
  var _constants = require("./constants");
13
12
  var _ComboboxPanel = require("./Panel/ComboboxPanel");
14
13
  var _ComboboxClearButton = require("./Selection/ComboboxClearButton");
@@ -50,7 +49,8 @@ function LunaticComboBox(_ref) {
50
49
  getOptionValue = _ref$getOptionValue === void 0 ? getDefaultOptionValue : _ref$getOptionValue,
51
50
  label = _ref.label,
52
51
  description = _ref.description,
53
- errors = _ref.errors;
52
+ errors = _ref.errors,
53
+ onBlur = _ref.onBlur;
54
54
  var _useState = (0, _react.useState)(false),
55
55
  _useState2 = _slicedToArray(_useState, 2),
56
56
  expanded = _useState2[0],
@@ -76,6 +76,7 @@ function LunaticComboBox(_ref) {
76
76
  if (disabled || readOnly) {
77
77
  return;
78
78
  }
79
+ onBlur === null || onBlur === void 0 || onBlur();
79
80
  setExpanded(false);
80
81
  setFocused(false);
81
82
  };
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ComponentErrors = ComponentErrors;
7
7
  exports.getComponentErrors = getComponentErrors;
8
- require("./ComponentErrors.scss");
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
9
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
10
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Declarations = exports.Declaration = void 0;
7
7
  var _slottableComponent = require("../HOC/slottableComponent");
8
- require("./Declarations.scss");
9
8
  var _classnames = _interopRequireDefault(require("classnames"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -7,7 +7,6 @@ exports.Fieldset = void 0;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var _slottableComponent = require("../HOC/slottableComponent");
9
9
  var _LabelDescription = require("../LabelDescription");
10
- require("./Fieldset.scss");
11
10
  var _isElement = require("../../../utils/is-element");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.LunaticIcon = LunaticIcon;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
- require("./lunatic-icon.scss");
9
8
  var _jsxRuntime = require("react/jsx-runtime");
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
10
  function LunaticIcon(_ref) {
@@ -7,7 +7,6 @@ exports.Label = void 0;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var _slottableComponent = require("../HOC/slottableComponent");
9
9
  var _LabelDescription = require("../LabelDescription");
10
- require("./Label.scss");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
12
  /**
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = exports.MissingPure = exports.Missing = void 0;
7
- require("./Missing.scss");
8
7
  var _react = require("react");
9
8
  var _constants = require("../../../utils/constants");
10
9
  var _reactKeyboardEventHandler = _interopRequireDefault(require("react-keyboard-event-handler"));
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ModalControls = ModalControls;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
- require("./ModalControls.scss");
9
8
  var _reactDom = _interopRequireDefault(require("react-dom"));
10
9
  var _Button = require("../Button/Button");
11
10
  var _i18n = _interopRequireDefault(require("../../../i18n"));
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RadioGroup = void 0;
7
- require("./RadioGroup.scss");
8
7
  var _Fieldset = require("../Fieldset/Fieldset");
9
8
  var _ComponentErrors = require("../ComponentErrors/ComponentErrors");
10
9
  var _slottableComponent = require("../HOC/slottableComponent");
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Table = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
- require("./Table.scss");
10
9
  var _slottableComponent = require("../HOC/slottableComponent");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -8,7 +8,6 @@ var _react = require("react");
8
8
  var _reactTooltip = require("react-tooltip");
9
9
  var _edited = _interopRequireDefault(require("./icons/edited.png"));
10
10
  var _forced = _interopRequireDefault(require("./icons/forced.png"));
11
- require("./VariableStatus.scss");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- require("./dragger.scss");
10
9
  var _function = require("../../../../utils/function");
11
10
  var _useDocumentEvent = _interopRequireDefault(require("../../../../hooks/useDocumentEvent"));
12
11
  var _jsxRuntime = require("react/jsx-runtime");
@@ -14,7 +14,6 @@ var _Icons = require("../Icons");
14
14
  var _loaderRow = _interopRequireDefault(require("./loader-row"));
15
15
  var _tools = require("./tools");
16
16
  var _widgetContainer = _interopRequireDefault(require("./widget-container"));
17
- require("./widget.scss");
18
17
  var _jsxRuntime = require("react/jsx-runtime");
19
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -0,0 +1,24 @@
1
+ .button-lunatic {
2
+ min-width: 20%;
3
+ color: white;
4
+ border-color: var(--color-primary-dark);
5
+ background-color: var(--color-primary-dark);
6
+ font-size: 1.2em;
7
+ font-weight: bold;
8
+ padding: 0.4em;
9
+ &:hover,
10
+ &:focus:hover {
11
+ color: var(--color-primary-dark);
12
+ background-color: white;
13
+ border-color: var(--color-primary-dark);
14
+ }
15
+ &:focus {
16
+ outline: none;
17
+ background-color: var(--color-primary-light);
18
+ border-color: var(--color-primary-light);
19
+ }
20
+ &:disabled {
21
+ background: var(--color-disabled);
22
+ color: var(--color-primary-dark);
23
+ }
24
+ }
@@ -0,0 +1,13 @@
1
+
2
+ .lunatic-checkbox-group {
3
+ legend {
4
+ .label-description {
5
+ font-weight: lighter;
6
+ display: block;
7
+ }
8
+ }
9
+ .lunatic-checkbox-group-option {
10
+ display: flex;
11
+ font-size: 13px;
12
+ }
13
+ }
@@ -0,0 +1,19 @@
1
+ .lunatic-checkbox-one {
2
+ legend {
3
+ .label-description {
4
+ font-weight: lighter;
5
+ }
6
+ }
7
+ .lunatic-input-radio {
8
+ display: flex;
9
+
10
+ label {
11
+ display: flex;
12
+ gap:0.5em;
13
+ align-items: center;
14
+ .label-description {
15
+ font-weight: lighter;
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,19 @@
1
+ .checkbox-modality {
2
+ .lunatic-input-checkbox {
3
+ display: flex;
4
+ .label-description {
5
+ font-weight: lighter;
6
+ }
7
+
8
+ .lunatic-label {
9
+ font-weight: normal;
10
+ display: flex;
11
+ gap: 0.5em;
12
+ align-items: center;
13
+ }
14
+ }
15
+ }
16
+ .lunatic-checkbox-label {
17
+ gap: 0.5em;
18
+ align-items: center;
19
+ }