@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
@@ -6,20 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.RosterForLoop = void 0;
8
8
  var _react = require("react");
9
- require("./RosterForLoop.scss");
10
- var _i18n = _interopRequireDefault(require("../../i18n"));
11
9
  var _Table = require("../shared/Table");
12
10
  var _array = require("../../utils/array");
13
11
  var _LunaticComponents = require("../LunaticComponents");
14
12
  var _constant = require("../Loop/constant");
15
13
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
16
- var _Declarations = require("../shared/Declarations/Declarations");
17
- var _customizedComponent = require("../shared/HOC/customizedComponent");
18
- var _Label = require("../shared/Label/Label");
19
- var _Button = require("../shared/Button/Button");
14
+ var _Loop = require("../Loop/Loop");
20
15
  var _jsxRuntime = require("react/jsx-runtime");
21
- var _excluded = ["value", "lines", "handleChange", "declarations", "header", "iterations", "id", "getComponents", "label"];
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ var _excluded = ["value", "lines", "errors", "handleChange", "declarations", "header", "iterations", "id", "getComponents", "label"];
23
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; }
24
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; }
25
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; }
@@ -39,9 +33,10 @@ var DEFAULT_MAX_ROWS = 12;
39
33
  /**
40
34
  * Loop displayed as a table
41
35
  */
42
- var RosterForLoop = exports.RosterForLoop = (0, _customizedComponent.customizedComponent)('RosterforLoop', function (props) {
36
+ var RosterForLoop = exports.RosterForLoop = function RosterForLoop(props) {
43
37
  var valueMap = props.value,
44
38
  lines = props.lines,
39
+ errors = props.errors,
45
40
  handleChange = props.handleChange,
46
41
  declarations = props.declarations,
47
42
  header = props.header,
@@ -56,7 +51,6 @@ var RosterForLoop = exports.RosterForLoop = (0, _customizedComponent.customizedC
56
51
  _useState2 = _slicedToArray(_useState, 2),
57
52
  nbRows = _useState2[0],
58
53
  setNbRows = _useState2[1];
59
- var showButtons = min && max && min !== max;
60
54
  var addRow = (0, _react.useCallback)(function () {
61
55
  if (nbRows < max) {
62
56
  setNbRows(nbRows + 1);
@@ -84,16 +78,12 @@ var RosterForLoop = exports.RosterForLoop = (0, _customizedComponent.customizedC
84
78
  return null;
85
79
  }
86
80
  var cols = 0;
87
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
88
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
89
- htmlFor: id,
90
- id: "label-".concat(id),
91
- children: label
92
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Declarations.Declarations, {
93
- type: "AFTER_QUESTION_TEXT",
94
- declarations: declarations,
95
- id: id
96
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Table.Table, {
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Loop.CustomLoop, _objectSpread(_objectSpread({}, props), {}, {
82
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id),
83
+ addRow: nbRows === max ? undefined : addRow,
84
+ removeRow: nbRows === 1 ? undefined : removeRow,
85
+ canControlRows: !!(min && max && min !== max),
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Table.Table, {
97
87
  id: id,
98
88
  children: [header && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Table.TableHeader, {
99
89
  header: header,
@@ -140,19 +130,6 @@ var RosterForLoop = exports.RosterForLoop = (0, _customizedComponent.customizedC
140
130
  }, n);
141
131
  })
142
132
  })]
143
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
144
- errors: props.errors,
145
- componentId: id
146
- }), showButtons && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
147
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
148
- onClick: addRow,
149
- disabled: nbRows === max,
150
- children: _i18n["default"].DEFAULT_BUTTON_ADD
151
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
152
- onClick: removeRow,
153
- disabled: nbRows === min,
154
- children: _i18n["default"].DEFAULT_BUTTON_REMOVE
155
- })]
156
- })]
157
- });
158
- });
133
+ })
134
+ }));
135
+ };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CustomRoundabout = void 0;
7
7
  var _RoundaboutItButton = require("./RoundaboutItButton");
8
- var _customizedComponent = require("../shared/HOC/customizedComponent");
8
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
9
9
  var _extra = require("./extra");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  function RoundaboutIteration(_ref) {
@@ -29,7 +29,7 @@ function RoundaboutIteration(_ref) {
29
29
  })]
30
30
  });
31
31
  }
32
- var CustomRoundabout = exports.CustomRoundabout = (0, _customizedComponent.customizedComponent)('Roundabout', function (_ref2) {
32
+ var CustomRoundabout = exports.CustomRoundabout = (0, _slottableComponent.slottableComponent)('Roundabout', function (_ref2) {
33
33
  var iterations = _ref2.iterations,
34
34
  expressions = _ref2.expressions,
35
35
  goToIteration = _ref2.goToIteration,
@@ -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");
@@ -7,13 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.RoundaboutItButton = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _customizedComponent = require("../shared/HOC/customizedComponent");
10
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
11
11
  var _Button = require("../shared/Button/Button");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
- var RoundaboutItButton = exports.RoundaboutItButton = (0, _customizedComponent.customizedComponent)('RoundaboutItButton', function (_ref) {
16
+ var RoundaboutItButton = exports.RoundaboutItButton = (0, _slottableComponent.slottableComponent)('RoundaboutItButton', function (_ref) {
17
17
  var complete = _ref.complete,
18
18
  partial = _ref.partial,
19
19
  iteration = _ref.iteration,
@@ -4,39 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RoundaboutPending = exports.RoundaboutLabel = exports.RoundaboutItTitle = exports.RoundaboutItContainer = exports.RoundaboutContainer = void 0;
7
- var _customizedComponent = require("../shared/HOC/customizedComponent");
7
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- var RoundaboutContainer = exports.RoundaboutContainer = (0, _customizedComponent.customizedComponent)('RoundaboutContainer', function (_ref) {
11
+ var RoundaboutContainer = exports.RoundaboutContainer = (0, _slottableComponent.slottableComponent)('RoundaboutContainer', function (_ref) {
12
12
  var children = _ref.children;
13
13
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
14
14
  className: "lunatic-roundabout",
15
15
  children: children
16
16
  });
17
17
  });
18
- var RoundaboutLabel = exports.RoundaboutLabel = (0, _customizedComponent.customizedComponent)('RoundaboutLabel', function (_ref2) {
18
+ var RoundaboutLabel = exports.RoundaboutLabel = (0, _slottableComponent.slottableComponent)('RoundaboutLabel', function (_ref2) {
19
19
  var value = _ref2.value;
20
20
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
21
21
  className: "roundabout-label",
22
22
  children: value
23
23
  });
24
24
  });
25
- var RoundaboutItTitle = exports.RoundaboutItTitle = (0, _customizedComponent.customizedComponent)('RoundaboutItTitle', function (_ref3) {
25
+ var RoundaboutItTitle = exports.RoundaboutItTitle = (0, _slottableComponent.slottableComponent)('RoundaboutItTitle', function (_ref3) {
26
26
  var label = _ref3.label;
27
27
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
28
28
  className: "roundabout-it-title",
29
29
  children: label
30
30
  });
31
31
  });
32
- var RoundaboutItContainer = exports.RoundaboutItContainer = (0, _customizedComponent.customizedComponent)('RoundaboutItContainer', function (_ref4) {
32
+ var RoundaboutItContainer = exports.RoundaboutItContainer = (0, _slottableComponent.slottableComponent)('RoundaboutItContainer', function (_ref4) {
33
33
  var children = _ref4.children;
34
34
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
35
35
  className: "roundabout-iteration-title",
36
36
  children: children
37
37
  });
38
38
  });
39
- var RoundaboutPending = exports.RoundaboutPending = (0, _customizedComponent.customizedComponent)('RoundaboutPending', function () {
39
+ var RoundaboutPending = exports.RoundaboutPending = (0, _slottableComponent.slottableComponent)('RoundaboutPending', function () {
40
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
41
41
  className: "roundabout-pending",
42
42
  children: "Pending..."
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Sequence = void 0;
7
- require("./Sequence.scss");
8
- var _customizedComponent = require("../shared/HOC/customizedComponent");
7
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
9
8
  var _LabelDescription = require("../shared/LabelDescription");
10
9
  var _Declarations = require("../shared/Declarations/Declarations");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
@@ -30,4 +29,4 @@ function LunaticSequence(_ref) {
30
29
  })]
31
30
  });
32
31
  }
33
- var Sequence = exports.Sequence = (0, _customizedComponent.customizedComponent)('Sequence', LunaticSequence);
32
+ var Sequence = exports.Sequence = (0, _slottableComponent.slottableComponent)('Sequence', LunaticSequence);
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Subsequence = void 0;
7
7
  var _Declarations = require("../shared/Declarations/Declarations");
8
- var _customizedComponent = require("../shared/HOC/customizedComponent");
8
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function LunaticSubsequence(_ref) {
11
11
  var id = _ref.id,
@@ -24,4 +24,4 @@ function LunaticSubsequence(_ref) {
24
24
  })]
25
25
  });
26
26
  }
27
- var Subsequence = exports.Subsequence = (0, _customizedComponent.customizedComponent)('Subsequence', LunaticSubsequence);
27
+ var Subsequence = exports.Subsequence = (0, _slottableComponent.slottableComponent)('Subsequence', LunaticSubsequence);
@@ -14,7 +14,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
14
14
  var mockDeclarations = [{
15
15
  id: '1',
16
16
  label: 'Declaration 1',
17
- declarationType: 'TYPE_1',
17
+ declarationType: 'COMMENT',
18
18
  position: 'AFTER_QUESTION_TEXT'
19
19
  }];
20
20
  var mockProps = {
@@ -8,7 +8,7 @@ exports.CustomSuggester = void 0;
8
8
  var _react = require("react");
9
9
  var _function = require("../../utils/function");
10
10
  var _i18n = _interopRequireDefault(require("../../i18n"));
11
- var _customizedComponent = require("../shared/HOC/customizedComponent");
11
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
12
12
  var _Combobox = require("../shared/Combobox/Combobox");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -21,7 +21,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
21
21
  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; }
22
22
  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; } }
23
23
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
- var CustomSuggester = exports.CustomSuggester = (0, _customizedComponent.customizedComponent)('Suggester', function (_ref) {
24
+ var CustomSuggester = exports.CustomSuggester = (0, _slottableComponent.slottableComponent)('Suggester', function (_ref) {
25
25
  var className = _ref.className,
26
26
  _ref$classNamePrefix = _ref.classNamePrefix,
27
27
  classNamePrefix = _ref$classNamePrefix === void 0 ? 'lunatic' : _ref$classNamePrefix,
@@ -38,18 +38,21 @@ var CustomSuggester = exports.CustomSuggester = (0, _customizedComponent.customi
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, _customizedComponent.customi
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,39 @@ 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
+ id: value,
93
+ label: value,
94
+ value: value
95
+ }];
96
+ }
97
+ var label = executeExpression(labelResponse.name, {
98
+ iteration: iteration
99
+ });
100
+ if (typeof label !== 'string') {
101
+ return [{
102
+ id: value,
103
+ label: value,
104
+ value: value
105
+ }];
106
+ }
107
+ return [{
108
+ id: value,
109
+ label: label,
110
+ value: value
111
+ }];
112
+ }, []);
51
113
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SuggesterStatus.SuggesterStatus, {
52
114
  storeName: storeName,
53
115
  getSuggesterStatus: getSuggesterStatus,
@@ -59,11 +121,12 @@ function Suggester(_ref) {
59
121
  }), state === 'Error' && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
122
  className: "lunatic-suggester-unvailable",
61
123
  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, {
124
+ }), state === 'Ready' && searching && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CustomSuggester.CustomSuggester, {
63
125
  id: id,
64
126
  className: className,
65
127
  optionRenderer: optionRenderer,
66
128
  labelRenderer: labelRenderer,
129
+ defaultOptions: defaultOptions,
67
130
  onSelect: onChange,
68
131
  searching: searching,
69
132
  disabled: disabled,
@@ -7,7 +7,7 @@ exports.SuggesterNotification = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _SuggesterStatus = require("./SuggesterStatus");
9
9
  var _Notification = require("../shared/Notification");
10
- var _customizedComponent = require("../shared/HOC/customizedComponent");
10
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
11
11
  var _Label = require("../shared/Label/Label");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -57,4 +57,4 @@ function LunaticSuggesterNotification(_ref) {
57
57
  children: children
58
58
  });
59
59
  }
60
- var SuggesterNotification = exports.SuggesterNotification = (0, _customizedComponent.customizedComponent)('SuggesterNotification', LunaticSuggesterNotification);
60
+ var SuggesterNotification = exports.SuggesterNotification = (0, _slottableComponent.slottableComponent)('SuggesterNotification', LunaticSuggesterNotification);
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Summary = Summary;
7
7
  exports.SummaryTitle = exports.SummaryResponses = void 0;
8
- var _customizedComponent = require("../shared/HOC/customizedComponent");
8
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
11
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -61,14 +61,14 @@ function Summary(props) {
61
61
  /**
62
62
  * Title displayed on top of the Summary
63
63
  */
64
- var SummaryTitle = exports.SummaryTitle = (0, _customizedComponent.customizedComponent)('SummaryTitle', function (_ref) {
64
+ var SummaryTitle = exports.SummaryTitle = (0, _slottableComponent.slottableComponent)('SummaryTitle', function (_ref) {
65
65
  var label = _ref.label;
66
66
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
67
67
  className: "lunatic-summary-label",
68
68
  children: label
69
69
  });
70
70
  });
71
- var SummaryResponses = exports.SummaryResponses = (0, _customizedComponent.customizedComponent)('SummaryResponses', function (_ref2) {
71
+ var SummaryResponses = exports.SummaryResponses = (0, _slottableComponent.slottableComponent)('SummaryResponses', function (_ref2) {
72
72
  var sections = _ref2.sections;
73
73
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
74
74
  children: sections.map(function (section, index) {
@@ -1,45 +1,66 @@
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.Switch = void 0;
7
+ exports.Switch = exports.CustomSwitch = void 0;
7
8
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
  var _classnames = _interopRequireDefault(require("classnames"));
10
- var _customizedComponent = require("../shared/HOC/customizedComponent");
11
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
11
12
  var _Label = require("../shared/Label/Label");
12
13
  var _Declarations = require("../shared/Declarations/Declarations");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["handleChange", "response", "errors", "value", "statusLabel"];
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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; }
15
24
  var defaultLabel = {
16
25
  "true": 'True',
17
26
  "false": 'False'
18
27
  };
19
28
  function LunaticSwitch(_ref) {
20
- var id = _ref.id,
21
- value = _ref.value,
22
- _ref$statusLabel = _ref.statusLabel,
23
- statusLabel = _ref$statusLabel === void 0 ? defaultLabel : _ref$statusLabel,
24
- handleChange = _ref.handleChange,
29
+ var handleChange = _ref.handleChange,
25
30
  response = _ref.response,
26
- label = _ref.label,
27
31
  errors = _ref.errors,
28
- disabled = _ref.disabled,
29
- declarations = _ref.declarations;
32
+ value = _ref.value,
33
+ statusLabel = _ref.statusLabel,
34
+ props = _objectWithoutProperties(_ref, _excluded);
30
35
  var checked = value !== null && value !== void 0 ? value : false;
31
- var handleClick = function handleClick() {
32
- handleChange(response, !checked);
33
- };
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomSwitch, _objectSpread(_objectSpread({}, props), {}, {
37
+ statusLabel: statusLabel !== null && statusLabel !== void 0 ? statusLabel : defaultLabel,
38
+ checked: value !== null && value !== void 0 ? value : false,
39
+ onChange: function onChange() {
40
+ return handleChange(response, !checked);
41
+ },
42
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
43
+ }));
44
+ }
45
+ var CustomSwitch = exports.CustomSwitch = (0, _slottableComponent.slottableComponent)('Switch', function (props) {
46
+ var id = props.id,
47
+ onChange = props.onChange,
48
+ checked = props.checked,
49
+ _props$statusLabel = props.statusLabel,
50
+ statusLabel = _props$statusLabel === void 0 ? defaultLabel : _props$statusLabel,
51
+ label = props.label,
52
+ errors = props.errors,
53
+ disabled = props.disabled,
54
+ declarations = props.declarations;
55
+ var labelTrue = statusLabel["true"],
56
+ labelFalse = statusLabel["false"];
57
+ var labelId = "lunatic-switch-label-".concat(id);
34
58
  var handleKeyDown = function handleKeyDown(e) {
35
59
  var code = e.code;
36
60
  if (code === 'Space') {
37
- handleChange(response, !checked);
61
+ onChange();
38
62
  }
39
63
  };
40
- var labelTrue = statusLabel["true"],
41
- labelFalse = statusLabel["false"];
42
- var labelId = "lunatic-switch-label-".concat(id);
43
64
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
44
65
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
45
66
  htmlFor: id,
@@ -66,7 +87,7 @@ function LunaticSwitch(_ref) {
66
87
  disabled: disabled,
67
88
  checked: checked
68
89
  }),
69
- onClick: handleClick,
90
+ onClick: onChange,
70
91
  onKeyDown: handleKeyDown,
71
92
  "aria-labelledby": labelId,
72
93
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -79,9 +100,8 @@ function LunaticSwitch(_ref) {
79
100
  children: labelTrue
80
101
  })]
81
102
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
82
- errors: errors,
83
- componentId: id
103
+ errors: errors
84
104
  })]
85
105
  });
86
- }
87
- var Switch = exports.Switch = (0, _customizedComponent.customizedComponent)('Switch', LunaticSwitch);
106
+ });
107
+ var Switch = exports.Switch = (0, _slottableComponent.slottableComponent)('Switch', LunaticSwitch);
@@ -1,34 +1,52 @@
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.Textarea = void 0;
7
- require("./Textarea.scss");
7
+ exports.CustomTextarea = void 0;
8
+ exports.Textarea = Textarea;
8
9
  var _Label = require("../shared/Label/Label");
9
10
  var _ComponentErrors = require("../shared/ComponentErrors/ComponentErrors");
10
- var _customizedComponent = require("../shared/HOC/customizedComponent");
11
+ var _slottableComponent = require("../shared/HOC/slottableComponent");
11
12
  var _Declarations = require("../shared/Declarations/Declarations");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
- function LunaticTextarea(_ref) {
14
- var id = _ref.id,
15
- rows = _ref.rows,
16
- maxLength = _ref.maxLength,
17
- cols = _ref.cols,
18
- value = _ref.value,
19
- label = _ref.label,
20
- handleChange = _ref.handleChange,
14
+ var _excluded = ["handleChange", "response", "errors"];
15
+ 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; }
16
+ 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; }
17
+ 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; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ 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); }
20
+ 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; }
21
+ 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; }
22
+ function Textarea(_ref) {
23
+ var handleChange = _ref.handleChange,
21
24
  response = _ref.response,
22
- description = _ref.description,
23
25
  errors = _ref.errors,
24
- placeHolder = _ref.placeHolder,
25
- readOnly = _ref.readOnly,
26
- required = _ref.required,
27
- declarations = _ref.declarations;
26
+ props = _objectWithoutProperties(_ref, _excluded);
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomTextarea, _objectSpread(_objectSpread({}, props), {}, {
28
+ onChange: function onChange(v) {
29
+ return handleChange(response, v);
30
+ },
31
+ errors: (0, _ComponentErrors.getComponentErrors)(errors, props.id)
32
+ }));
33
+ }
34
+ var CustomTextarea = exports.CustomTextarea = (0, _slottableComponent.slottableComponent)('Textarea', function (props) {
35
+ var value = props.value,
36
+ _onChange = props.onChange,
37
+ disabled = props.disabled,
38
+ required = props.required,
39
+ maxLength = props.maxLength,
40
+ label = props.label,
41
+ description = props.description,
42
+ id = props.id,
43
+ errors = props.errors,
44
+ readOnly = props.readOnly,
45
+ declarations = props.declarations,
46
+ rows = props.rows,
47
+ cols = props.cols,
48
+ placeHolder = props.placeHolder;
28
49
  var labelId = "label-".concat(id);
29
- var onChange = function onChange(e) {
30
- handleChange(response, e.target.value);
31
- };
32
50
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
33
51
  className: "lunatic-textarea",
34
52
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
@@ -42,19 +60,20 @@ function LunaticTextarea(_ref) {
42
60
  id: id
43
61
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("textarea", {
44
62
  required: required,
63
+ disabled: disabled,
45
64
  id: id,
46
65
  rows: rows,
47
66
  maxLength: maxLength,
48
67
  cols: cols,
49
- onChange: onChange,
68
+ onChange: function onChange(e) {
69
+ return _onChange(e.target.value);
70
+ },
50
71
  value: value !== null && value !== void 0 ? value : '',
51
72
  placeholder: placeHolder,
52
73
  readOnly: readOnly,
53
74
  "aria-invalid": !!errors
54
75
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ComponentErrors.ComponentErrors, {
55
- errors: errors,
56
- componentId: id
76
+ errors: errors
57
77
  })]
58
78
  });
59
- }
60
- var Textarea = exports.Textarea = (0, _customizedComponent.customizedComponent)('Textarea', LunaticTextarea);
79
+ });