@inseefr/lunatic 3.0.0-rc.1 → 3.0.0-rc.10

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 (185) hide show
  1. package/lib/components/CheckboxBoolean/CheckboxBoolean.js +39 -19
  2. package/lib/components/CheckboxGroup/CheckboxGroup.js +3 -2
  3. package/lib/components/CheckboxGroup/CustomCheckboxGroup.js +4 -5
  4. package/lib/components/CheckboxGroup/CustomCheckboxGroup.spec.js +3 -0
  5. package/lib/components/CheckboxOne/CheckboxOne.js +6 -7
  6. package/lib/components/Datepicker/Datepicker.js +43 -29
  7. package/lib/components/Dropdown/Dropdown.js +37 -37
  8. package/lib/components/Duration/Duration.js +41 -17
  9. package/lib/components/FilterDescription/FilterDescription.js +2 -3
  10. package/lib/components/Input/Input.js +39 -22
  11. package/lib/components/InputNumber/InputNumber.js +45 -35
  12. package/lib/components/InputNumber/__snapshots__/InputNumber.spec.tsx.snap +0 -2
  13. package/lib/components/Loop/Loop.js +52 -29
  14. package/lib/components/LunaticComponents.js +60 -51
  15. package/lib/components/Question/Question.js +23 -14
  16. package/lib/components/Radio/Radio.js +2 -2
  17. package/lib/components/RosterForLoop/RosterForLoop.js +13 -36
  18. package/lib/components/Roundabout/CustomRoundabout.js +2 -2
  19. package/lib/components/Roundabout/Roundabout.js +0 -1
  20. package/lib/components/Roundabout/RoundaboutItButton.js +2 -2
  21. package/lib/components/Roundabout/extra.js +6 -6
  22. package/lib/components/Sequence/Sequence.js +2 -3
  23. package/lib/components/Subsequence/Subsequence.js +2 -2
  24. package/lib/components/Subsequence/Subsequence.spec.js +1 -1
  25. package/lib/components/Suggester/CustomSuggester.js +9 -6
  26. package/lib/components/Suggester/Suggester.js +67 -4
  27. package/lib/components/Suggester/SuggesterNotification.js +2 -2
  28. package/lib/components/Summary/Summary.js +3 -3
  29. package/lib/components/Switch/Switch.js +42 -22
  30. package/lib/components/Textarea/Textarea.js +43 -24
  31. package/lib/components/library.js +0 -2
  32. package/lib/components/shared/Button/Button.js +2 -3
  33. package/lib/components/shared/Button/IconButton.js +0 -1
  34. package/lib/components/shared/Checkbox/CheckboxOption.js +2 -3
  35. package/lib/components/shared/Combobox/Combobox.js +5 -4
  36. package/lib/components/shared/Combobox/ComboboxContainer.js +2 -2
  37. package/lib/components/shared/Combobox/ComboboxContentBox.js +2 -2
  38. package/lib/components/shared/Combobox/Panel/ComboboxOption.js +2 -2
  39. package/lib/components/shared/Combobox/Panel/ComboboxPanelContainer.js +2 -2
  40. package/lib/components/shared/Combobox/Selection/ComboboxClearButton.js +2 -2
  41. package/lib/components/shared/Combobox/Selection/ComboboxInput.js +2 -2
  42. package/lib/components/shared/Combobox/Selection/ComboboxLabelSelection.js +2 -2
  43. package/lib/components/shared/ComponentErrors/ComponentErrors.js +0 -1
  44. package/lib/components/shared/Declarations/Declarations.js +6 -7
  45. package/lib/components/shared/Declarations/Declarations.spec.js +5 -5
  46. package/lib/components/shared/Fieldset/Fieldset.js +2 -3
  47. package/lib/components/shared/HOC/{customizedComponent.js → slottableComponent.js} +35 -13
  48. package/lib/components/shared/Icons/lunatic-icon.js +0 -1
  49. package/lib/components/shared/Label/Label.js +2 -3
  50. package/lib/components/shared/MDLabel/RouterLink.js +2 -2
  51. package/lib/components/shared/Missing/Missing.js +0 -1
  52. package/lib/components/shared/ModalControls/ModalControls.js +0 -1
  53. package/lib/components/shared/Notification.js +2 -2
  54. package/lib/components/shared/Radio/RadioGroup.js +4 -4
  55. package/lib/components/shared/Radio/RadioOption.js +2 -2
  56. package/lib/components/shared/Table/Table.js +2 -3
  57. package/lib/components/shared/Table/Tbody.js +2 -2
  58. package/lib/components/shared/Table/Td.js +2 -2
  59. package/lib/components/shared/Table/Th.js +2 -2
  60. package/lib/components/shared/Table/Thead.js +2 -2
  61. package/lib/components/shared/Table/Tr.js +2 -2
  62. package/lib/components/shared/VariableStatus/VariableStatus.js +0 -1
  63. package/lib/components/shared/suggester-loader-widget/dragger/dragger.js +0 -1
  64. package/lib/components/shared/suggester-loader-widget/widget.js +0 -1
  65. package/lib/css/components/Button.scss +24 -0
  66. package/lib/css/components/CheckboxGroup.scss +13 -0
  67. package/lib/css/components/CheckboxOne.scss +19 -0
  68. package/lib/css/components/CheckboxOption.scss +19 -0
  69. package/lib/css/components/Combobox.scss +206 -0
  70. package/lib/css/components/ComponentErrors.scss +5 -0
  71. package/lib/css/components/Datepicker.scss +19 -0
  72. package/lib/css/components/Declarations.scss +42 -0
  73. package/lib/css/components/Dragger.scss +8 -0
  74. package/lib/css/components/Dropdown.scss +38 -0
  75. package/lib/css/components/Duration.scss +9 -0
  76. package/lib/css/components/Fieldset.scss +5 -0
  77. package/lib/css/components/IconButton.scss +38 -0
  78. package/lib/css/components/Input.scss +42 -0
  79. package/lib/css/components/InputNumber.scss +11 -0
  80. package/lib/css/components/Label.scss +6 -0
  81. package/lib/css/components/Missing.scss +27 -0
  82. package/lib/css/components/ModalControls.scss +48 -0
  83. package/lib/css/components/RadioGroup.scss +21 -0
  84. package/lib/css/components/RosterForLoop.scss +39 -0
  85. package/lib/css/components/Roundabout.scss +13 -0
  86. package/lib/css/components/Sequence.scss +10 -0
  87. package/lib/css/components/Suggester.scss +170 -0
  88. package/lib/css/components/SuggesterWidget.scss +176 -0
  89. package/lib/css/components/Table.scss +27 -0
  90. package/lib/css/components/Textarea.scss +8 -0
  91. package/lib/css/components/VariableStatus.scss +36 -0
  92. package/lib/css/main.scss +181 -0
  93. package/lib/hooks/useSuggesterInfo.js +14 -12
  94. package/lib/main.css +1063 -0
  95. package/lib/main.css.map +1 -0
  96. package/lib/src/components/CheckboxBoolean/CheckboxBoolean.d.ts +10 -5
  97. package/lib/src/components/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  98. package/lib/src/components/CheckboxOne/CheckboxOne.d.ts +5 -12
  99. package/lib/src/components/Datepicker/Datepicker.d.ts +8 -10
  100. package/lib/src/components/Dropdown/Dropdown.d.ts +9 -12
  101. package/lib/src/components/Duration/Duration.d.ts +9 -7
  102. package/lib/src/components/FilterDescription/FilterDescription.d.ts +1 -1
  103. package/lib/src/components/Input/Input.d.ts +9 -8
  104. package/lib/src/components/InputNumber/InputNumber.d.ts +9 -10
  105. package/lib/src/components/Loop/Loop.d.ts +11 -18
  106. package/lib/src/components/LunaticComponents.d.ts +4 -2
  107. package/lib/src/components/Question/Question.d.ts +6 -4
  108. package/lib/src/components/RosterForLoop/RosterForLoop.d.ts +2 -22
  109. package/lib/src/components/Roundabout/Roundabout.d.ts +0 -1
  110. package/lib/src/components/Sequence/Sequence.d.ts +1 -2
  111. package/lib/src/components/Subsequence/Subsequence.d.ts +1 -1
  112. package/lib/src/components/Suggester/CustomSuggester.d.ts +7 -3
  113. package/lib/src/components/Suggester/Suggester.d.ts +1 -2
  114. package/lib/src/components/Suggester/SuggesterType.d.ts +6 -0
  115. package/lib/src/components/Suggester/helpers.d.ts +2 -2
  116. package/lib/src/components/Switch/Switch.d.ts +9 -0
  117. package/lib/src/components/Textarea/Textarea.d.ts +9 -10
  118. package/lib/src/components/library.d.ts +26 -93
  119. package/lib/src/components/shared/Button/Button.d.ts +0 -1
  120. package/lib/src/components/shared/Button/IconButton.d.ts +0 -1
  121. package/lib/src/components/shared/Checkbox/CheckboxOption.d.ts +0 -1
  122. package/lib/src/components/shared/Combobox/Combobox.d.ts +1 -1
  123. package/lib/src/components/shared/ComponentErrors/ComponentErrors.d.ts +0 -1
  124. package/lib/src/components/shared/Declarations/Declarations.d.ts +2 -3
  125. package/lib/src/components/shared/Fieldset/Fieldset.d.ts +0 -1
  126. package/lib/src/components/shared/HOC/slottableComponent.d.ts +105 -0
  127. package/lib/src/components/shared/Icons/lunatic-icon.d.ts +0 -1
  128. package/lib/src/components/shared/Label/Label.d.ts +0 -1
  129. package/lib/src/components/shared/Missing/Missing.d.ts +0 -1
  130. package/lib/src/components/shared/ModalControls/ModalControls.d.ts +0 -1
  131. package/lib/src/components/shared/Radio/RadioGroup.d.ts +1 -1
  132. package/lib/src/components/shared/Table/Table.d.ts +0 -1
  133. package/lib/src/components/shared/VariableStatus/VariableStatus.d.ts +0 -1
  134. package/lib/src/components/shared/suggester-loader-widget/dragger/dragger.d.ts +0 -1
  135. package/lib/src/components/shared/suggester-loader-widget/widget.d.ts +0 -1
  136. package/lib/src/components/type.d.ts +7 -7
  137. package/lib/src/hooks/use-track-changes.d.ts +9 -1
  138. package/lib/src/hooks/useSuggesterInfo.d.ts +1 -1
  139. package/lib/src/index.d.ts +1 -1
  140. package/lib/src/use-lunatic/commons/fill-components/fill-component-required.d.ts +106 -59
  141. package/lib/src/use-lunatic/commons/fill-components/fill-from-state.d.ts +87 -58
  142. package/lib/src/use-lunatic/commons/fill-components/fill-iterations.d.ts +47 -38
  143. package/lib/src/use-lunatic/commons/fill-components/fill-specific-expression.d.ts +159 -87
  144. package/lib/src/use-lunatic/commons/use-components-from-state.d.ts +1 -1
  145. package/lib/src/use-lunatic/lunatic-context.d.ts +1 -4
  146. package/lib/src/use-lunatic/replace-component-sequence.d.ts +23 -5
  147. package/lib/src/use-lunatic/type-source.d.ts +55 -46
  148. package/lib/src/use-lunatic/type.d.ts +4 -4
  149. package/lib/src/use-lunatic/use-lunatic.d.ts +63 -32
  150. package/lib/src/utils/variables.d.ts +10 -2
  151. package/lib/stories/{component-set/component-set.stories.js → behaviour/slots.stories.js} +36 -25
  152. package/lib/stories/checkbox-group/checkbox-group.stories.js +1 -6
  153. package/lib/stories/disabled/source.json +1 -1
  154. package/lib/stories/loop/source-roster.json +2 -2
  155. package/lib/stories/pairwise/pairwise-links.stories.js +1 -9
  156. package/lib/stories/suggester/fakeReferentiel.json +12 -0
  157. package/lib/stories/suggester/source-option-responses.json +145 -0
  158. package/lib/stories/suggester/suggester.stories.js +45 -7
  159. package/lib/stories/utils/orchestrator.js +4 -4
  160. package/lib/use-lunatic/commons/fill-components/fill-specific-expression.js +0 -1
  161. package/lib/use-lunatic/lunatic-context.js +2 -10
  162. package/lib/use-lunatic/replace-component-sequence.js +2 -3
  163. package/lib/use-lunatic/use-lunatic.js +1 -4
  164. package/lib/use-lunatic/use-lunatic.test.js +12 -37
  165. package/package.json +2 -2
  166. package/lib/components/ComponentSet/ComponentSet.js +0 -68
  167. package/lib/components/Dropdown/DropdownWritable.js +0 -58
  168. package/lib/components/Dropdown/renderer/WritableLabelRenderer.js +0 -38
  169. package/lib/components/Dropdown/renderer/WritableOptionRenderer.js +0 -140
  170. package/lib/src/components/ComponentSet/ComponentSet.d.ts +0 -7
  171. package/lib/src/components/Dropdown/DropdownWritable.d.ts +0 -17
  172. package/lib/src/components/Dropdown/renderer/WritableLabelRenderer.d.ts +0 -8
  173. package/lib/src/components/Dropdown/renderer/WritableOptionRenderer.d.ts +0 -8
  174. package/lib/src/components/shared/HOC/customizedComponent.d.ts +0 -5
  175. package/lib/src/components/type-custom.d.ts +0 -101
  176. package/lib/stories/checkbox-group/sourceComponentset.json +0 -424
  177. package/lib/stories/component-set/data-loop.json +0 -18
  178. package/lib/stories/component-set/data-roundabout.json +0 -25
  179. package/lib/stories/component-set/data.json +0 -25
  180. package/lib/stories/component-set/source-loop.json +0 -308
  181. package/lib/stories/component-set/source-roundabout.json +0 -434
  182. package/lib/stories/component-set/source.json +0 -113
  183. package/lib/stories/pairwise/source-componentset.json +0 -292
  184. package/lib/stories/suggester/source-component-set.json +0 -113
  185. /package/lib/components/{type-custom.js → Suggester/SuggesterType.js} +0 -0
@@ -1,34 +1,51 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.Input = void 0;
7
+ exports.CustomInput = void 0;
8
+ exports.Input = Input;
7
9
  var _classnames = _interopRequireDefault(require("classnames"));
8
- require("./Input.scss");
9
10
  var _Label = require("../shared/Label/Label");
10
- var _customizedComponent = require("../shared/HOC/customizedComponent");
11
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
11
12
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
12
13
  var _Declarations = require("../shared/Declarations/Declarations");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["handleChange", "response", "errors"];
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- function LunaticInput(_ref) {
16
- var value = _ref.value,
17
- handleChange = _ref.handleChange,
17
+ 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; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
24
+ function Input(_ref) {
25
+ var handleChange = _ref.handleChange,
18
26
  response = _ref.response,
19
- disabled = _ref.disabled,
20
- required = _ref.required,
21
- maxLength = _ref.maxLength,
22
- label = _ref.label,
23
- description = _ref.description,
24
- id = _ref.id,
25
27
  errors = _ref.errors,
26
- readOnly = _ref.readOnly,
27
- declarations = _ref.declarations;
28
+ props = _objectWithoutProperties(_ref, _excluded);
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomInput, _objectSpread(_objectSpread({}, props), {}, {
30
+ onChange: function onChange(v) {
31
+ return handleChange(response, v);
32
+ },
33
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
34
+ }));
35
+ }
36
+ var CustomInput = exports.CustomInput = (0, _slottableComponent.slottableComponent)('Input', function (props) {
37
+ var value = props.value,
38
+ _onChange = props.onChange,
39
+ disabled = props.disabled,
40
+ required = props.required,
41
+ maxLength = props.maxLength,
42
+ label = props.label,
43
+ description = props.description,
44
+ id = props.id,
45
+ errors = props.errors,
46
+ readOnly = props.readOnly,
47
+ declarations = props.declarations;
28
48
  var labelId = "label-".concat(id);
29
- var onChange = function onChange(e) {
30
- handleChange(response, e.target.value);
31
- };
32
49
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
33
50
  className: (0, _classnames["default"])('lunatic-input'),
34
51
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
@@ -48,15 +65,15 @@ function LunaticInput(_ref) {
48
65
  disabled: disabled,
49
66
  readOnly: readOnly,
50
67
  value: (value !== null && value !== void 0 ? value : '').toString(),
51
- onChange: onChange,
68
+ onChange: function onChange(e) {
69
+ return _onChange(e.target.value);
70
+ },
52
71
  "aria-required": required,
53
72
  required: required,
54
73
  maxLength: maxLength,
55
74
  "aria-invalid": !!errors
56
75
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
57
- errors: errors,
58
- componentId: id
76
+ errors: errors
59
77
  })]
60
78
  });
61
- }
62
- var Input = exports.Input = (0, _customizedComponent.customizedComponent)('Input', LunaticInput);
79
+ });
@@ -1,39 +1,53 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.InputNumber = void 0;
7
- var _function = require("../../utils/function");
7
+ exports.CustomInputNumber = void 0;
8
+ exports.InputNumber = InputNumber;
8
9
  var _InputNumberThousand = require("./InputNumberThousand");
9
- require("./InputNumber.scss");
10
10
  var _Label = require("../shared/Label/Label");
11
11
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
12
- var _customizedComponent = require("../shared/HOC/customizedComponent");
12
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
13
13
  var _Declarations = require("../shared/Declarations/Declarations");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
- function LunaticInputNumber(_ref) {
16
- var id = _ref.id,
17
- _ref$value = _ref.value,
18
- value = _ref$value === void 0 ? null : _ref$value,
19
- _ref$handleChange = _ref.handleChange,
20
- handleChange = _ref$handleChange === void 0 ? _function.voidFunction : _ref$handleChange,
21
- _ref$disabled = _ref.disabled,
22
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
23
- _ref$readOnly = _ref.readOnly,
24
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
25
- _ref$max = _ref.max,
26
- max = _ref$max === void 0 ? 1000000 : _ref$max,
27
- _ref$decimals = _ref.decimals,
28
- decimals = _ref$decimals === void 0 ? 0 : _ref$decimals,
29
- unit = _ref.unit,
30
- label = _ref.label,
31
- errors = _ref.errors,
15
+ var _excluded = ["handleChange", "response", "errors", "decimals"];
16
+ 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; }
17
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
20
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
21
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+ function InputNumber(_ref) {
24
+ var handleChange = _ref.handleChange,
32
25
  response = _ref.response,
33
- _ref$required = _ref.required,
34
- required = _ref$required === void 0 ? true : _ref$required,
35
- description = _ref.description,
36
- declarations = _ref.declarations;
26
+ errors = _ref.errors,
27
+ decimals = _ref.decimals,
28
+ props = _objectWithoutProperties(_ref, _excluded);
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomInputNumber, _objectSpread(_objectSpread({}, props), {}, {
30
+ decimals: decimals !== null && decimals !== void 0 ? decimals : 0,
31
+ onChange: function onChange(v) {
32
+ return handleChange(response, v);
33
+ },
34
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
35
+ }));
36
+ }
37
+ var CustomInputNumber = exports.CustomInputNumber = (0, _slottableComponent.slottableComponent)('InputNumber', function (props) {
38
+ var id = props.id,
39
+ value = props.value,
40
+ onChange = props.onChange,
41
+ disabled = props.disabled,
42
+ readOnly = props.readOnly,
43
+ max = props.max,
44
+ decimals = props.decimals,
45
+ unit = props.unit,
46
+ label = props.label,
47
+ errors = props.errors,
48
+ required = props.required,
49
+ description = props.description,
50
+ declarations = props.declarations;
37
51
  var labelId = "label-".concat(id);
38
52
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
39
53
  className: "lunatic-input-number",
@@ -49,12 +63,10 @@ function LunaticInputNumber(_ref) {
49
63
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputNumberThousand.InputNumberThousand, {
50
64
  id: id,
51
65
  value: value,
52
- onChange: function onChange(v) {
53
- return handleChange(response, v);
54
- },
55
- disabled: disabled,
56
- readOnly: readOnly,
57
- required: required,
66
+ onChange: onChange,
67
+ disabled: !!disabled,
68
+ readOnly: !!readOnly,
69
+ required: !!required,
58
70
  labelId: labelId,
59
71
  max: max,
60
72
  decimals: decimals,
@@ -62,9 +74,7 @@ function LunaticInputNumber(_ref) {
62
74
  }), unit && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
63
75
  children: unit
64
76
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
65
- errors: errors,
66
- componentId: id
77
+ errors: errors
67
78
  })]
68
79
  });
69
- }
70
- var InputNumber = exports.InputNumber = (0, _customizedComponent.customizedComponent)('InputNumber', LunaticInputNumber);
80
+ });
@@ -12,7 +12,6 @@ exports[`InputNumber > renders without crashing 1`] = `
12
12
  id="number"
13
13
  inputmode="numeric"
14
14
  lang="en"
15
- required=""
16
15
  type="text"
17
16
  value="10"
18
17
  />
@@ -33,7 +32,6 @@ exports[`InputNumber > should handle readOnly 1`] = `
33
32
  inputmode="numeric"
34
33
  lang="en"
35
34
  readonly=""
36
- required=""
37
35
  type="text"
38
36
  value="123"
39
37
  />
@@ -4,17 +4,20 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Loop = void 0;
7
+ exports.CustomLoop = void 0;
8
+ exports.Loop = Loop;
8
9
  var _react = require("react");
9
10
  var _i18n = _interopRequireDefault(require("../../i18n"));
10
11
  var _array = require("../../utils/array");
11
12
  var _LunaticComponents = require("../LunaticComponents");
12
13
  var _constant = require("./constant");
13
- var _customizedComponent = require("../shared/HOC/customizedComponent");
14
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
14
15
  var _Label = require("../shared/Label/Label");
15
16
  var _Declarations = require("../shared/Declarations/Declarations");
16
17
  var _Button = require("../shared/Button/Button");
18
+ var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
17
19
  var _jsxRuntime = require("react/jsx-runtime");
20
+ var _excluded = ["lines", "iterations", "value", "handleChange", "getComponents", "errors"];
18
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
22
  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; }
20
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -26,22 +29,23 @@ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructur
26
29
  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); }
27
30
  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; }
28
31
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
29
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
34
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
+ /**
30
36
  * Loop without specific markup (stack of subcomponents)
31
37
  */
32
- var Loop = exports.Loop = (0, _customizedComponent.customizedComponent)('BlockForLoop', function (props) {
38
+ function Loop(_ref) {
33
39
  var _lines$min, _lines$max;
34
- var declarations = props.declarations,
35
- id = props.id,
36
- label = props.label,
37
- lines = props.lines,
38
- handleChange = props.handleChange,
39
- value = props.value,
40
- iterations = props.iterations,
41
- getComponents = props.getComponents;
40
+ var lines = _ref.lines,
41
+ iterations = _ref.iterations,
42
+ value = _ref.value,
43
+ handleChange = _ref.handleChange,
44
+ getComponents = _ref.getComponents,
45
+ errors = _ref.errors,
46
+ props = _objectWithoutProperties(_ref, _excluded);
42
47
  var min = (_lines$min = lines === null || lines === void 0 ? void 0 : lines.min) !== null && _lines$min !== void 0 ? _lines$min : 0;
43
48
  var max = (_lines$max = lines === null || lines === void 0 ? void 0 : lines.max) !== null && _lines$max !== void 0 ? _lines$max : Infinity;
44
- var canControlRows = min !== max && Number.isFinite(max);
45
49
  var _useState = (0, _react.useState)(function () {
46
50
  return Math.max(iterations, min);
47
51
  }),
@@ -57,10 +61,10 @@ var Loop = exports.Loop = (0, _customizedComponent.customizedComponent)('BlockFo
57
61
  if (nbRows > 1) {
58
62
  var newNbRows = nbRows - 1;
59
63
  setNbRows(newNbRows);
60
- Object.entries(value).forEach(function (_ref) {
61
- var _ref2 = _slicedToArray(_ref, 2),
62
- k = _ref2[0],
63
- v = _ref2[1];
64
+ Object.entries(value).forEach(function (_ref2) {
65
+ var _ref3 = _slicedToArray(_ref2, 2),
66
+ k = _ref3[0],
67
+ v = _ref3[1];
64
68
  var newValue = v.filter(function (_, i) {
65
69
  return i < newNbRows;
66
70
  });
@@ -73,16 +77,12 @@ var Loop = exports.Loop = (0, _customizedComponent.customizedComponent)('BlockFo
73
77
  if (nbRows <= 0) {
74
78
  return null;
75
79
  }
76
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
77
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
78
- htmlFor: id,
79
- id: "label-".concat(id),
80
- children: label
81
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Declarations.Declarations, {
82
- type: "AFTER_QUESTION_TEXT",
83
- declarations: declarations,
84
- id: id
85
- }), (0, _array.times)(nbRows, function (n) {
80
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomLoop, _objectSpread(_objectSpread({}, props), {}, {
81
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id),
82
+ addRow: nbRows === max ? undefined : addRow,
83
+ removeRow: nbRows === 1 ? undefined : removeRow,
84
+ canControlRows: min !== max && Number.isFinite(max),
85
+ children: (0, _array.times)(nbRows, function (n) {
86
86
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LunaticComponents.LunaticComponents, {
87
87
  blocklist: _constant.blockedInLoopComponents,
88
88
  components: getComponents(n),
@@ -92,14 +92,37 @@ var Loop = exports.Loop = (0, _customizedComponent.customizedComponent)('BlockFo
92
92
  });
93
93
  }
94
94
  }, n);
95
+ })
96
+ }));
97
+ }
98
+ var CustomLoop = exports.CustomLoop = (0, _slottableComponent.slottableComponent)('Loop', function (props) {
99
+ var declarations = props.declarations,
100
+ id = props.id,
101
+ label = props.label,
102
+ canControlRows = props.canControlRows,
103
+ children = props.children,
104
+ errors = props.errors,
105
+ addRow = props.addRow,
106
+ removeRow = props.removeRow;
107
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
108
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
109
+ htmlFor: id,
110
+ id: "label-".concat(id),
111
+ children: label
112
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Declarations.Declarations, {
113
+ type: "AFTER_QUESTION_TEXT",
114
+ declarations: declarations,
115
+ id: id
116
+ }), children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
117
+ errors: errors
95
118
  }), canControlRows && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
96
119
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
97
120
  onClick: addRow,
98
- disabled: nbRows === max,
121
+ disabled: !addRow,
99
122
  children: _i18n["default"].DEFAULT_BUTTON_ADD
100
123
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
101
124
  onClick: removeRow,
102
- disabled: nbRows === 1,
125
+ disabled: !removeRow,
103
126
  children: _i18n["default"].DEFAULT_BUTTON_REMOVE
104
127
  })]
105
128
  })]
@@ -11,6 +11,7 @@ var _component = require("../use-lunatic/commons/component");
11
11
  var _ComponentWrapper = require("./shared/ComponentWrapper");
12
12
  var _library = require("./library");
13
13
  var _reactErrorBoundary = require("react-error-boundary");
14
+ var _slottableComponent = require("./shared/HOC/slottableComponent");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  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); }
16
17
  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; }
@@ -18,73 +19,81 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
18
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
20
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
20
21
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ var LunaticComponentWrapper = (0, _slottableComponent.slottableComponent)('ComponentWrapper', function (_ref) {
23
+ var children = _ref.children;
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
25
+ className: "lunatic lunatic-component",
26
+ children: children
27
+ });
28
+ });
29
+
21
30
  /**
22
31
  * Entry point for orchestrators, this component display the list of fields
23
32
  */
24
- function LunaticComponents(_ref) {
25
- var components = _ref.components,
26
- autoFocusKey = _ref.autoFocusKey,
27
- componentProps = _ref.componentProps,
28
- blocklist = _ref.blocklist,
29
- memo = _ref.memo,
30
- _ref$wrapper = _ref.wrapper,
31
- wrapper = _ref$wrapper === void 0 ? function (_ref2) {
32
- var children = _ref2.children;
33
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
34
- className: "lunatic lunatic-component",
35
- children: children
36
- });
37
- } : _ref$wrapper;
33
+ function LunaticComponents(_ref2) {
34
+ var components = _ref2.components,
35
+ autoFocusKey = _ref2.autoFocusKey,
36
+ componentProps = _ref2.componentProps,
37
+ blocklist = _ref2.blocklist,
38
+ memo = _ref2.memo,
39
+ slots = _ref2.slots,
40
+ _ref2$wrapper = _ref2.wrapper,
41
+ wrapper = _ref2$wrapper === void 0 ? function (args) {
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponentWrapper, _objectSpread({}, args));
43
+ } : _ref2$wrapper;
38
44
  var wrapperRef = (0, _react.useRef)(null);
39
45
  var hasComponents = components.length > 0;
40
46
  var WrapperComponent = autoFocusKey ? 'div' : _react.Fragment;
41
47
  (0, _useAutoFocus.useAutoFocus)(wrapperRef, hasComponents ? autoFocusKey : undefined);
42
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrapperComponent, {
43
49
  ref: WrapperComponent === _react.Fragment ? undefined : wrapperRef,
44
- children: components.map(function (component, k) {
45
- if ((0, _component.hasComponentType)(component)) {
46
- if (blocklist && blocklist.includes(component.componentType)) {
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_slottableComponent.SlotsProvider, {
51
+ slots: slots,
52
+ children: components.map(function (component, k) {
53
+ if ((0, _component.hasComponentType)(component)) {
54
+ if (blocklist && blocklist.includes(component.componentType)) {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
56
+ children: wrapper(_objectSpread({
57
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
58
+ style: {
59
+ color: 'red'
60
+ },
61
+ children: ["Component \"", component.componentType, "\" is not allowed here"]
62
+ }),
63
+ index: k
64
+ }, component))
65
+ }, computeId(component, k));
66
+ }
67
+ var _props = _objectSpread(_objectSpread({}, component), componentProps === null || componentProps === void 0 ? void 0 : componentProps(component));
47
68
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
48
69
  children: wrapper(_objectSpread({
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
50
- style: {
51
- color: 'red'
52
- },
53
- children: ["Component \"", component.componentType, "\" is not allowed here"]
54
- }),
70
+ children: memo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponentMemo, _objectSpread({}, _props)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponent, _objectSpread({}, _props)),
55
71
  index: k
56
- }, component))
72
+ }, _props))
57
73
  }, computeId(component, k));
58
74
  }
59
- var _props = _objectSpread(_objectSpread({}, component), componentProps === null || componentProps === void 0 ? void 0 : componentProps(component));
60
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
61
- children: wrapper(_objectSpread({
62
- children: memo ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponentMemo, _objectSpread({}, _props)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(LunaticComponent, _objectSpread({}, _props)),
63
- index: k
64
- }, _props))
65
- }, computeId(component, k));
66
- }
67
75
 
68
- // In some case (table for instance) we have static component that only have a label (no componentType)
69
- if (hasLabel(component)) {
70
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
71
- children: wrapper(_objectSpread(_objectSpread({}, component), {}, {
72
- children: component.label,
73
- index: k
74
- }))
75
- }, k);
76
- }
76
+ // In some case (table for instance) we have static component that only have a label (no componentType)
77
+ if (hasLabel(component)) {
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
79
+ children: wrapper(_objectSpread(_objectSpread({}, component), {}, {
80
+ children: component.label,
81
+ index: k
82
+ }))
83
+ }, k);
84
+ }
77
85
 
78
- // Component is a ReactNode
79
- if ( /*#__PURE__*/(0, _react.isValidElement)(component)) {
80
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
81
- children: wrapper({
82
- children: component,
83
- index: k
84
- })
85
- }, k);
86
- }
87
- return null;
86
+ // Component is a ReactNode
87
+ if ( /*#__PURE__*/(0, _react.isValidElement)(component)) {
88
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {
89
+ children: wrapper({
90
+ children: component,
91
+ index: k
92
+ })
93
+ }, k);
94
+ }
95
+ return null;
96
+ })
88
97
  })
89
98
  });
90
99
  }
@@ -1,22 +1,40 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.Question = void 0;
7
+ exports.Question = exports.CustomQuestion = void 0;
7
8
  var _LunaticComponents = require("../LunaticComponents");
8
- var _customizedComponent = require("../shared/HOC/customizedComponent");
9
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
9
10
  var _Declarations = require("../shared/Declarations/Declarations");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
12
+ var _excluded = ["components"];
13
+ 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; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
20
  /**
12
21
  * Surround a question giving additional context with label / description / declarations
13
22
  */
14
- var Question = exports.Question = (0, _customizedComponent.customizedComponent)('Question', function (props) {
23
+ var Question = exports.Question = function Question(_ref) {
24
+ var components = _ref.components,
25
+ props = _objectWithoutProperties(_ref, _excluded);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomQuestion, _objectSpread(_objectSpread({}, props), {}, {
27
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LunaticComponents.LunaticComponents, {
28
+ components: components
29
+ })
30
+ }));
31
+ };
32
+ var CustomQuestion = exports.CustomQuestion = (0, _slottableComponent.slottableComponent)('Question', function (props) {
15
33
  var id = props.id,
16
34
  description = props.description,
17
35
  declarations = props.declarations,
18
36
  label = props.label,
19
- components = props.components;
37
+ children = props.children;
20
38
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
21
39
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("legend", {
22
40
  id: "question-legend-".concat(id),
@@ -31,15 +49,6 @@ var Question = exports.Question = (0, _customizedComponent.customizedComponent)(
31
49
  type: "AFTER_QUESTION_TEXT",
32
50
  declarations: declarations,
33
51
  id: id
34
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LunaticComponents.LunaticComponents, {
35
- components: components,
36
- wrapper: function wrapper(_ref) {
37
- var children = _ref.children;
38
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
39
- className: "question-components",
40
- children: children
41
- });
42
- }
43
- })]
52
+ }), children]
44
53
  });
45
54
  });
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Radio = void 0;
7
7
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
8
8
  var _RadioGroup = require("../shared/Radio/RadioGroup");
9
- var _customizedComponent = require("../shared/HOC/customizedComponent");
9
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  function LunaticRadio(props) {
12
12
  var id = props.id,
@@ -38,4 +38,4 @@ function LunaticRadio(props) {
38
38
  readOnly: readOnly
39
39
  });
40
40
  }
41
- var Radio = exports.Radio = (0, _customizedComponent.customizedComponent)('LunaticRadio', LunaticRadio);
41
+ var Radio = exports.Radio = (0, _slottableComponent.slottableComponent)('Radio', LunaticRadio);