@inseefr/lunatic 0.3.0-experimental → 0.3.0-prisme

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 (225) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +25 -23
  3. package/lib/index.esm.js +3539 -0
  4. package/lib/index.esm.js.map +1 -0
  5. package/lib/index.js +240 -282
  6. package/lib/index.js.map +1 -1
  7. package/package.json +179 -173
  8. package/src/components/breadcrumb/breadcrumb.scss +22 -22
  9. package/src/components/checkbox/boolean.js +172 -172
  10. package/src/components/checkbox/checkbox.scss +73 -73
  11. package/src/components/checkbox/group.js +231 -231
  12. package/src/components/checkbox/one.js +11 -11
  13. package/src/components/component-wrapper/controls/component.js +70 -70
  14. package/src/components/component-wrapper/controls/controls.scss +6 -6
  15. package/src/components/component-wrapper/controls/index.js +1 -1
  16. package/src/components/component-wrapper/controls/validators/datepicker.js +44 -33
  17. package/src/components/component-wrapper/controls/validators/index.js +16 -16
  18. package/src/components/component-wrapper/controls/validators/input-number.js +23 -23
  19. package/src/components/component-wrapper/index.js +1 -1
  20. package/src/components/component-wrapper/missing/component.js +200 -180
  21. package/src/components/component-wrapper/missing/index.js +1 -1
  22. package/src/components/component-wrapper/missing/missing.scss +32 -32
  23. package/src/components/component-wrapper/wrapper.js +23 -23
  24. package/src/components/components.js +19 -19
  25. package/src/components/datepicker/component.js +26 -30
  26. package/src/components/declarations/component.js +46 -46
  27. package/src/components/declarations/declarations.scss +40 -40
  28. package/src/components/declarations/wrappers/input-declarations-wrapper.js +328 -302
  29. package/src/components/declarations/wrappers/simple-declarations-wrapper.js +54 -54
  30. package/src/components/dropdown/commons/actions.js +65 -65
  31. package/src/components/dropdown/commons/children-to-option.js +9 -9
  32. package/src/components/dropdown/commons/cleaner-callbacks.js +58 -58
  33. package/src/components/dropdown/commons/components/dropdown-container.js +29 -29
  34. package/src/components/dropdown/commons/components/dropdown.js +204 -183
  35. package/src/components/dropdown/commons/components/panel.js +78 -78
  36. package/src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js +15 -15
  37. package/src/components/dropdown/commons/reducer.js +152 -152
  38. package/src/components/dropdown/commons/tools/index.js +17 -17
  39. package/src/components/dropdown/component.js +135 -135
  40. package/src/components/dropdown/dropdown-edit/dropdown-edit.js +194 -191
  41. package/src/components/dropdown/dropdown-edit/index.js +11 -11
  42. package/src/components/dropdown/dropdown-simple/dropdown.js +173 -171
  43. package/src/components/dropdown/dropdown-simple/index.js +20 -20
  44. package/src/components/dropdown/dropdown.scss +178 -178
  45. package/src/components/icon/icon.scss +15 -15
  46. package/src/components/index.js +2 -0
  47. package/src/components/index.scss +177 -177
  48. package/src/components/input/input-number.js +30 -28
  49. package/src/components/input/input.js +11 -11
  50. package/src/components/input/input.scss +31 -31
  51. package/src/components/loop/component.js +170 -170
  52. package/src/components/loop/loop.scss +13 -13
  53. package/src/components/loop/wrapper.js +15 -15
  54. package/src/components/loop-constructor/block/block.scss +10 -10
  55. package/src/components/loop-constructor/block/component.js +9 -9
  56. package/src/components/loop-constructor/roster/component.js +8 -8
  57. package/src/components/loop-constructor/wrapper/body-component.js +146 -131
  58. package/src/components/loop-constructor/wrapper/component.js +190 -190
  59. package/src/components/modal/component.js +36 -36
  60. package/src/components/modal/index.js +1 -1
  61. package/src/components/modal/modal.scss +33 -33
  62. package/src/components/progress-bar/progress-bar.scss +54 -54
  63. package/src/components/radio/component.js +9 -9
  64. package/src/components/radio/radio.scss +59 -59
  65. package/src/components/sequence/component.js +50 -50
  66. package/src/components/sequence/sequence.scss +10 -10
  67. package/src/components/subsequence/component.js +49 -49
  68. package/src/components/suggester/check-store.js +2 -4
  69. package/src/components/suggester/components/panel/default-option-renderer.js +27 -27
  70. package/src/components/suggester/components/panel/option-container.js +61 -61
  71. package/src/components/suggester/components/panel/panel.js +47 -47
  72. package/src/components/suggester/components/selection/default-label-renderer.js +31 -31
  73. package/src/components/suggester/components/selection/label.js +35 -35
  74. package/src/components/suggester/components/selection/selection.js +50 -50
  75. package/src/components/suggester/components/suggester-content.js +2 -2
  76. package/src/components/suggester/components/suggester.js +128 -88
  77. package/src/components/suggester/components/suggester.scss +101 -101
  78. package/src/components/suggester/default-style.scss +125 -125
  79. package/src/components/suggester/find-best-label/find-best-label.js +51 -51
  80. package/src/components/suggester/find-best-label/index.js +1 -1
  81. package/src/components/suggester/idb-suggester.js +73 -67
  82. package/src/components/suggester/lunatic-suggester.js +140 -139
  83. package/src/components/suggester/searching/create-searching.js +49 -49
  84. package/src/components/suggester/searching/index.js +1 -1
  85. package/src/components/suggester/state-management/actions.js +38 -38
  86. package/src/components/suggester/state-management/reducer/reduce-on-delete-search.js +11 -11
  87. package/src/components/suggester/state-management/reducer/reduce-on-init.js +29 -29
  88. package/src/components/suggester/state-management/reducer/reducer.js +38 -38
  89. package/src/components/suggester/suggester-wrapper.js +127 -121
  90. package/src/components/suggester-loader-widget/loader.js +67 -67
  91. package/src/components/suggester-loader-widget/widget.js +123 -123
  92. package/src/components/table/table.js +173 -171
  93. package/src/components/table/table.scss +26 -26
  94. package/src/components/textarea/component.js +11 -11
  95. package/src/components/textarea/textarea.scss +8 -8
  96. package/src/components/tooltip/tooltip.scss +30 -30
  97. package/src/stories/breadcrumb/breadcrumb.stories.js +21 -21
  98. package/src/stories/checkbox-boolean/data.json +78 -78
  99. package/src/stories/datepicker/data.json +45 -45
  100. package/src/stories/declarations/declarations.stories.js +116 -116
  101. package/src/stories/dropdown/README.md +44 -44
  102. package/src/stories/dropdown/data.json +98 -98
  103. package/src/stories/dropdown/dropdown.stories.js +89 -89
  104. package/src/stories/progress-bar/progress-bar.stories.js +24 -24
  105. package/src/stories/questionnaire/arithmetic-management.json +47 -0
  106. package/src/stories/questionnaire/arithmetic.json +247 -247
  107. package/src/stories/questionnaire/calc-var.json +187 -187
  108. package/src/stories/questionnaire/data-logement.json +2691 -2691
  109. package/src/stories/questionnaire/kish.json +275 -0
  110. package/src/stories/questionnaire/logement-queen.json +23390 -22706
  111. package/src/stories/questionnaire/logement-s2.json +46028 -44537
  112. package/src/stories/questionnaire/logement-sequence.json +26741 -26741
  113. package/src/stories/questionnaire/logement.json +21072 -21072
  114. package/src/stories/questionnaire/loop-and-controls.json +481 -0
  115. package/src/stories/questionnaire/questionnaire.stories.js +236 -172
  116. package/src/stories/questionnaire/update-external/data.json +1 -0
  117. package/src/stories/questionnaire/update-external/questionnaire.json +75 -0
  118. package/src/stories/sequence/sequence.stories.js +32 -32
  119. package/src/stories/subsequence/subsequence.stories.js +32 -32
  120. package/src/stories/suggester/README.md +46 -46
  121. package/src/stories/suggester/bailleurs-sociaux/fetch-bailleurs.js +15 -15
  122. package/src/stories/suggester/bailleurs-sociaux/index.js +2 -2
  123. package/src/stories/suggester/bailleurs-sociaux/option-bailleur-renderer.js +58 -58
  124. package/src/stories/suggester/bailleurs-sociaux/preloader.svg +51 -51
  125. package/src/stories/suggester/bailleurs-sociaux/theme.scss +22 -22
  126. package/src/stories/suggester/bailleurs-sociaux-2021/fetch-bailleurs.js +12 -0
  127. package/src/stories/suggester/bailleurs-sociaux-2021/index.js +1 -0
  128. package/src/stories/suggester/cog-communes/fetch-cog.js +15 -15
  129. package/src/stories/suggester/data-auto.json +232 -232
  130. package/src/stories/suggester/data-vtl.json +82 -82
  131. package/src/stories/suggester/data.json +169 -136
  132. package/src/stories/suggester/naf-rev2/index.js +2 -2
  133. package/src/stories/suggester/naf-rev2/option-naf-renderer.js +17 -17
  134. package/src/stories/suggester/suggester-workers.stories.js +226 -179
  135. package/src/stories/suggester/suggester.stories.js +138 -133
  136. package/src/stories/utils/orchestrator-split.js +119 -0
  137. package/src/stories/utils/orchestrator.js +119 -110
  138. package/src/tests/components/input-number.spec.js +188 -188
  139. package/src/tests/components/loops/roster-loop.json +71 -71
  140. package/src/tests/components/missing-wrapper.spec.js +32 -32
  141. package/src/tests/utils/lib/table/roster.spec.js +25 -25
  142. package/src/tests/utils/to-expose/handler/results/res-input-edited.json +1 -1
  143. package/src/tests/utils/to-expose/init-questionnaire/questionnaire.json +148 -148
  144. package/src/tests/utils/to-expose/init-questionnaire/result.json +181 -181
  145. package/src/utils/components/dragger/dragger.scss +7 -7
  146. package/src/utils/idb-tools/create-db-opener.js +43 -43
  147. package/src/utils/idb-tools/create-open-db.js +25 -25
  148. package/src/utils/idb-tools/idb-bulk-insert.js +96 -96
  149. package/src/utils/idb-tools/index.js +10 -10
  150. package/src/utils/idb-tools/insert-entity.js +15 -15
  151. package/src/utils/idb-tools/open-db.js +13 -13
  152. package/src/utils/idb-tools/open-or-create-db.js +34 -34
  153. package/src/utils/lib/controls/index.js +1 -1
  154. package/src/utils/lib/controls/utils.js +152 -146
  155. package/src/utils/lib/decorator/title-decorator.js +16 -16
  156. package/src/utils/lib/env.js +2 -2
  157. package/src/utils/lib/index.js +21 -20
  158. package/src/utils/lib/input-number.js +1 -1
  159. package/src/utils/lib/options-positioning.js +9 -9
  160. package/src/utils/lib/pagination/navigation/shared.js +256 -256
  161. package/src/utils/lib/prop-types/lines.js +6 -6
  162. package/src/utils/lib/responses.js +11 -11
  163. package/src/utils/lib/splitting.js +142 -0
  164. package/src/utils/lib/style.js +10 -10
  165. package/src/utils/store-tools/auto-load.js +74 -74
  166. package/src/utils/suggester-workers/append-to-index/append.js +25 -25
  167. package/src/utils/suggester-workers/append-to-index/append.worker.js +16 -16
  168. package/src/utils/suggester-workers/append-to-index/create-append-task.js +45 -45
  169. package/src/utils/suggester-workers/append-to-index/index.js +2 -2
  170. package/src/utils/suggester-workers/append-to-index/prepare-entities.js +61 -61
  171. package/src/utils/suggester-workers/append-to-index/store-messages.js +21 -21
  172. package/src/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +56 -54
  173. package/src/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +56 -52
  174. package/src/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +17 -17
  175. package/src/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +10 -10
  176. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +17 -17
  177. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +14 -14
  178. package/src/utils/suggester-workers/commons-tokenizer/filters/{filter-accents-to-lower.js → filter-accents.js} +12 -12
  179. package/src/utils/suggester-workers/commons-tokenizer/filters/{filter-accents-to-lower.spec.js → filter-accents.spec.js} +12 -12
  180. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-double.js +12 -12
  181. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +20 -20
  182. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-length.js +7 -7
  183. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +18 -18
  184. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.js +13 -13
  185. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +12 -12
  186. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +36 -10
  187. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +12 -12
  188. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +10 -0
  189. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +12 -0
  190. package/src/utils/suggester-workers/commons-tokenizer/filters/index.js +2 -2
  191. package/src/utils/suggester-workers/commons-tokenizer/filters/stop-words.js +118 -118
  192. package/src/utils/suggester-workers/commons-tokenizer/get-regexp-from-pattern.js +8 -8
  193. package/src/utils/suggester-workers/commons-tokenizer/get-stemmer.js +18 -18
  194. package/src/utils/suggester-workers/commons-tokenizer/index.js +9 -8
  195. package/src/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +13 -13
  196. package/src/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +7 -7
  197. package/src/utils/suggester-workers/create-worker.js +56 -56
  198. package/src/utils/suggester-workers/find-best-label/find-best-label.js +39 -39
  199. package/src/utils/suggester-workers/find-best-label/find-best-label.worker.js +40 -40
  200. package/src/utils/suggester-workers/find-best-label/tokenize.js +30 -30
  201. package/src/utils/suggester-workers/find-best-label/tokenize.spec.js +19 -19
  202. package/src/utils/suggester-workers/searching/compute-score.js +33 -33
  203. package/src/utils/suggester-workers/searching/get-db.js +18 -18
  204. package/src/utils/suggester-workers/searching/index.js +1 -1
  205. package/src/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +20 -20
  206. package/src/utils/suggester-workers/searching/order/index.js +19 -19
  207. package/src/utils/suggester-workers/searching/query-parser/index.js +2 -2
  208. package/src/utils/suggester-workers/searching/query-parser/query-parser-soft.js +7 -7
  209. package/src/utils/suggester-workers/searching/query-parser/query-parser-soft.spec.js +24 -24
  210. package/src/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +34 -28
  211. package/src/utils/suggester-workers/searching/resolve-query-parser.js +27 -27
  212. package/src/utils/suggester-workers/searching/search-in-index.js +17 -17
  213. package/src/utils/suggester-workers/searching/searching.js +70 -70
  214. package/src/utils/suggester-workers/searching/searching.worker.js +11 -11
  215. package/src/utils/to-expose/calculated-variables.js +113 -113
  216. package/src/utils/to-expose/handler.js +149 -112
  217. package/src/utils/to-expose/hooks/filter-components.js +27 -12
  218. package/src/utils/to-expose/hooks/index.js +2 -1
  219. package/src/utils/to-expose/hooks/lunatic-split.js +428 -0
  220. package/src/utils/to-expose/hooks/lunatic.js +284 -235
  221. package/src/utils/to-expose/index.js +1 -1
  222. package/src/utils/to-expose/init-questionnaire.js +164 -164
  223. package/src/utils/to-expose/interpret/vtl.js +18 -18
  224. package/src/utils/to-expose/state.js +66 -58
  225. package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +0 -46
@@ -1,146 +1,152 @@
1
- import { buildLoopBindings } from '../loops';
2
- import { interpret } from '../../to-expose/interpret';
3
- import { splitPage } from '..';
4
- import { getTypeControls } from '../../../components/component-wrapper/controls/validators';
5
-
6
- export const getControls = ({
7
- page,
8
- components,
9
- bindings,
10
- features,
11
- preferences,
12
- }) =>
13
- getControlsFromComponents({
14
- page,
15
- components,
16
- depth: 1,
17
- bindings,
18
- features,
19
- preferences,
20
- });
21
-
22
- const getControlsFromComponents = ({
23
- page,
24
- depth,
25
- components,
26
- bindings,
27
- features,
28
- preferences,
29
- }) => {
30
- const { currentIteration, currentPageWithoutAnyIteration } = splitPage(
31
- page,
32
- depth
33
- );
34
- return components.reduce((acc, component) => {
35
- const {
36
- controls,
37
- componentType,
38
- components: loopComponents,
39
- page: componentPage,
40
- paginatedLoop,
41
- } = component;
42
- if (componentType === 'Loop') {
43
- const { bindingDependencies: bindingDependenciesLoop } = component;
44
- const rootLoopBindings = getReducedBindings(
45
- bindingDependenciesLoop,
46
- bindings
47
- );
48
- let loopBindings = {};
49
- if (paginatedLoop) {
50
- loopBindings = buildLoopBindings(currentIteration - 1)(
51
- Object.entries(rootLoopBindings)
52
- );
53
- return [
54
- ...acc,
55
- ...getControlsFromComponents({
56
- page,
57
- components: loopComponents,
58
- bindings: loopBindings,
59
- features,
60
- depth: depth + 1,
61
- preferences,
62
- }),
63
- ];
64
- } else {
65
- const { loopDependencies } = component;
66
- const iterations = parseInt(bindings[loopDependencies[0]], 10);
67
- const ctrls = [...Array(iterations).keys()].reduce((accIt, i) => {
68
- loopBindings = buildLoopBindings(i)(Object.entries(rootLoopBindings));
69
- return [
70
- ...accIt,
71
- ...getControlsFromComponents({
72
- page,
73
- components: loopComponents,
74
- bindings: loopBindings,
75
- features,
76
- depth: depth,
77
- preferences,
78
- }),
79
- ];
80
- }, []);
81
- return [...acc, ...ctrls];
82
- }
83
- }
84
- if (currentPageWithoutAnyIteration === componentPage) {
85
- if (controls) {
86
- const interpretedControls = controls.reduce(
87
- (
88
- iC,
89
- { id, control, errorMessage, criticality, bindingDependencies }
90
- ) => {
91
- const reducedBindings = getReducedBindings(
92
- bindingDependencies,
93
- bindings
94
- );
95
- const interpretedControl =
96
- interpret(features)(reducedBindings)(control);
97
- if (!interpretedControl)
98
- return [...iC, { id, errorMessage, criticality }];
99
- return iC;
100
- },
101
- []
102
- );
103
- if (!['InputNumber', 'Datepicker'].includes(componentType))
104
- return [...acc, ...interpretedControls];
105
- else {
106
- const {
107
- response: { name },
108
- } = component;
109
- const value = bindings[name];
110
- const typeControls = getTypeControls({
111
- ...component,
112
- value,
113
- preferences,
114
- });
115
-
116
- if (!typeControls) return [...acc, ...interpretedControls];
117
- return [
118
- ...acc,
119
- { ...typeControls, criticality: 'LOCK' },
120
- ...interpretedControls,
121
- ];
122
- }
123
- }
124
- if (['InputNumber', 'Datepicker'].includes(componentType)) {
125
- const {
126
- response: { name },
127
- } = component;
128
- const value = bindings[name];
129
- const typeControls = getTypeControls({
130
- ...component,
131
- value,
132
- preferences,
133
- });
134
- if (!typeControls) return [...acc];
135
- return [...acc, { ...typeControls, criticality: 'LOCK' }];
136
- }
137
- }
138
- return acc;
139
- }, []);
140
- };
141
-
142
- const getReducedBindings = (bindingDependencies, bindings) =>
143
- (bindingDependencies || []).reduce(
144
- (accB, bD) => ({ ...accB, [bD]: bindings[bD] }),
145
- {}
146
- );
1
+ import { buildLoopBindings } from '../loops';
2
+ import { interpret } from '../../to-expose/interpret';
3
+ import { splitPage } from '..';
4
+ import { getTypeControls } from '../../../components/component-wrapper/controls/validators';
5
+
6
+ export const getControls = ({
7
+ page,
8
+ components,
9
+ bindings,
10
+ features,
11
+ preferences,
12
+ }) =>
13
+ getControlsFromComponents({
14
+ page,
15
+ components,
16
+ depth: 1,
17
+ bindings,
18
+ features,
19
+ preferences,
20
+ });
21
+
22
+ const getControlsFromComponents = ({
23
+ page,
24
+ depth,
25
+ components,
26
+ bindings,
27
+ features,
28
+ preferences,
29
+ }) => {
30
+ const { currentIteration, currentPageWithoutAnyIteration } = splitPage(
31
+ page,
32
+ depth
33
+ );
34
+ return components.reduce((acc, component) => {
35
+ const {
36
+ controls,
37
+ componentType,
38
+ components: loopComponents,
39
+ page: componentPage,
40
+ paginatedLoop,
41
+ } = component;
42
+ if (componentType === 'Loop') {
43
+ const { bindingDependencies: bindingDependenciesLoop } = component;
44
+ const rootLoopBindings = getReducedBindings(
45
+ bindingDependenciesLoop,
46
+ bindings
47
+ );
48
+ let loopBindings = {};
49
+ if (paginatedLoop) {
50
+ loopBindings = buildLoopBindings(currentIteration - 1)(
51
+ Object.entries(rootLoopBindings)
52
+ );
53
+ return [
54
+ ...acc,
55
+ ...getControlsFromComponents({
56
+ page,
57
+ components: loopComponents,
58
+ bindings: loopBindings,
59
+ features,
60
+ depth: depth + 1,
61
+ preferences,
62
+ }),
63
+ ];
64
+ } else {
65
+ const {
66
+ loopDependencies,
67
+ lines: { min },
68
+ } = component;
69
+ const iterationsStr = loopDependencies
70
+ ? bindings[loopDependencies[0]]
71
+ : min;
72
+ const iterations = parseInt(iterationsStr, 10);
73
+ const ctrls = [...Array(iterations).keys()].reduce((accIt, i) => {
74
+ loopBindings = buildLoopBindings(i)(Object.entries(rootLoopBindings));
75
+ return [
76
+ ...accIt,
77
+ ...getControlsFromComponents({
78
+ page,
79
+ components: loopComponents,
80
+ bindings: loopBindings,
81
+ features,
82
+ depth: depth,
83
+ preferences,
84
+ }),
85
+ ];
86
+ }, []);
87
+ return [...acc, ...ctrls];
88
+ }
89
+ }
90
+ if (currentPageWithoutAnyIteration === componentPage) {
91
+ if (controls) {
92
+ const interpretedControls = controls.reduce(
93
+ (
94
+ iC,
95
+ { id, control, errorMessage, criticality, bindingDependencies }
96
+ ) => {
97
+ const reducedBindings = getReducedBindings(
98
+ bindingDependencies,
99
+ bindings
100
+ );
101
+ const interpretedControl =
102
+ interpret(features)(reducedBindings)(control);
103
+ if (!interpretedControl)
104
+ return [...iC, { id, errorMessage, criticality }];
105
+ return iC;
106
+ },
107
+ []
108
+ );
109
+ if (!['InputNumber', 'Datepicker'].includes(componentType))
110
+ return [...acc, ...interpretedControls];
111
+ else {
112
+ const {
113
+ response: { name },
114
+ } = component;
115
+ const value = bindings[name];
116
+ const typeControls = getTypeControls({
117
+ ...component,
118
+ value,
119
+ preferences,
120
+ });
121
+
122
+ if (!typeControls) return [...acc, ...interpretedControls];
123
+ return [
124
+ ...acc,
125
+ { ...typeControls, criticality: 'LOCK' },
126
+ ...interpretedControls,
127
+ ];
128
+ }
129
+ }
130
+ if (['InputNumber', 'Datepicker'].includes(componentType)) {
131
+ const {
132
+ response: { name },
133
+ } = component;
134
+ const value = bindings[name];
135
+ const typeControls = getTypeControls({
136
+ ...component,
137
+ value,
138
+ preferences,
139
+ });
140
+ if (!typeControls) return [...acc];
141
+ return [...acc, { ...typeControls, criticality: 'LOCK' }];
142
+ }
143
+ }
144
+ return acc;
145
+ }, []);
146
+ };
147
+
148
+ const getReducedBindings = (bindingDependencies, bindings) =>
149
+ (bindingDependencies || []).reduce(
150
+ (accB, bD) => ({ ...accB, [bD]: bindings[bD] }),
151
+ {}
152
+ );
@@ -1,16 +1,16 @@
1
- import React from 'react';
2
-
3
- const titleDecorator = WrappedComponent => {
4
- const TitleComponent = props => {
5
- const { title } = props;
6
- return (
7
- <>
8
- <h1>{title}</h1>
9
- <WrappedComponent />
10
- </>
11
- );
12
- };
13
- return TitleComponent;
14
- };
15
-
16
- export default titleDecorator;
1
+ import React from 'react';
2
+
3
+ const titleDecorator = WrappedComponent => {
4
+ const TitleComponent = props => {
5
+ const { title } = props;
6
+ return (
7
+ <>
8
+ <h1>{title}</h1>
9
+ <WrappedComponent />
10
+ </>
11
+ );
12
+ };
13
+ return TitleComponent;
14
+ };
15
+
16
+ export default titleDecorator;
@@ -1,2 +1,2 @@
1
- export const isDev =
2
- !process.env.NODE_ENV || process.env.NODE_ENV === 'development';
1
+ export const isDev = false;
2
+ // !process.env.NODE_ENV || process.env.NODE_ENV === 'development';
@@ -1,20 +1,21 @@
1
- export { getAlphabet } from './alphabet';
2
- export * from './array';
3
- export * from './checkbox';
4
- export * from './controls';
5
- export { titleDecorator } from './decorator';
6
- export * from './env';
7
- export * from './input-number';
8
- export * from './label-position';
9
- export * from './loops';
10
- export * from './memo-check';
11
- export * from './missing';
12
- export * from './options-positioning';
13
- export * from './pagination';
14
- export * from './prop-types';
15
- export * from './responses';
16
- export { buildStyleObject } from './style';
17
- export * from './table';
18
- export * from './tooltip';
19
- export { isFunction } from './function';
20
- export { createObjectEvent } from './event';
1
+ export { getAlphabet } from './alphabet';
2
+ export * from './array';
3
+ export * from './checkbox';
4
+ export * from './controls';
5
+ export { titleDecorator } from './decorator';
6
+ export * from './env';
7
+ export * from './input-number';
8
+ export * from './label-position';
9
+ export * from './loops';
10
+ export * from './memo-check';
11
+ export * from './missing';
12
+ export * from './options-positioning';
13
+ export * from './pagination';
14
+ export * from './prop-types';
15
+ export * from './responses';
16
+ export { buildStyleObject } from './style';
17
+ export * from './table';
18
+ export * from './tooltip';
19
+ export { isFunction } from './function';
20
+ export { createObjectEvent } from './event';
21
+ export * from './splitting';
@@ -1,6 +1,6 @@
1
1
  export const isNumberValid = (num, decimals = 0) => {
2
2
  // \\ because of escaping, basic regex has only one \
3
3
  if (num.includes('.') && !decimals) return false;
4
- const regex = new RegExp(`^(-)?(0|[1-9]\\d*)(\\.(\\d){0,${decimals}})?$`);
4
+ const regex = new RegExp(`^(-)?(0|[1-9]\\d*)((\\.|,)(\\d){0,${decimals}})?$`);
5
5
  return regex.test(num);
6
6
  };
@@ -1,9 +1,9 @@
1
- export const getItemsPositioningClass = positioning => {
2
- switch (positioning) {
3
- case 'HORIZONTAL':
4
- return 'horizontal-options';
5
- case 'VERTICAL':
6
- default:
7
- return '';
8
- }
9
- };
1
+ export const getItemsPositioningClass = positioning => {
2
+ switch (positioning) {
3
+ case 'HORIZONTAL':
4
+ return 'horizontal-options';
5
+ case 'VERTICAL':
6
+ default:
7
+ return '';
8
+ }
9
+ };