@inseefr/lunatic 0.2.2-experimental → 0.2.3-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 (219) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +25 -23
  3. package/lib/index.js +1191 -475
  4. package/lib/index.js.map +1 -1
  5. package/package.json +174 -172
  6. package/src/components/breadcrumb/breadcrumb.scss +22 -22
  7. package/src/components/checkbox/boolean.js +172 -172
  8. package/src/components/checkbox/checkbox.scss +73 -73
  9. package/src/components/checkbox/group.js +231 -231
  10. package/src/components/checkbox/one.js +11 -11
  11. package/src/components/component-wrapper/controls/component.js +70 -0
  12. package/src/components/component-wrapper/controls/controls.scss +6 -0
  13. package/src/components/component-wrapper/controls/index.js +1 -0
  14. package/src/components/component-wrapper/controls/validators/datepicker.js +44 -0
  15. package/src/components/component-wrapper/controls/validators/index.js +16 -0
  16. package/src/components/component-wrapper/controls/validators/input-number.js +23 -0
  17. package/src/components/{missing-wrapper → component-wrapper}/index.js +0 -0
  18. package/src/components/component-wrapper/missing/component.js +200 -0
  19. package/src/components/component-wrapper/missing/index.js +1 -0
  20. package/src/components/{missing-wrapper → component-wrapper/missing}/missing.scss +32 -32
  21. package/src/components/component-wrapper/wrapper.js +23 -0
  22. package/src/components/components.js +1 -0
  23. package/src/components/datepicker/component.js +26 -11
  24. package/src/components/declarations/component.js +46 -46
  25. package/src/components/declarations/declarations.scss +40 -40
  26. package/src/components/declarations/wrappers/input-declarations-wrapper.js +328 -274
  27. package/src/components/declarations/wrappers/simple-declarations-wrapper.js +54 -54
  28. package/src/components/dropdown/commons/actions.js +65 -56
  29. package/src/components/dropdown/commons/children-to-option.js +9 -9
  30. package/src/components/dropdown/commons/cleaner-callbacks.js +58 -58
  31. package/src/components/dropdown/commons/components/dropdown-container.js +29 -29
  32. package/src/components/dropdown/commons/components/dropdown.js +204 -183
  33. package/src/components/dropdown/commons/event-callbacks/on-mousedown-callback.js +15 -15
  34. package/src/components/dropdown/commons/reducer.js +3 -0
  35. package/src/components/dropdown/commons/tools/index.js +17 -17
  36. package/src/components/dropdown/component.js +135 -135
  37. package/src/components/dropdown/dropdown-edit/dropdown-edit.js +194 -185
  38. package/src/components/dropdown/dropdown-edit/index.js +11 -11
  39. package/src/components/dropdown/dropdown-simple/dropdown.js +173 -164
  40. package/src/components/dropdown/dropdown-simple/index.js +20 -20
  41. package/src/components/dropdown/dropdown.scss +178 -178
  42. package/src/components/icon/icon.scss +15 -15
  43. package/src/components/index.js +2 -0
  44. package/src/components/index.scss +177 -175
  45. package/src/components/input/input-number.js +30 -54
  46. package/src/components/input/input.js +11 -11
  47. package/src/components/input/input.scss +31 -37
  48. package/src/components/loop/component.js +170 -169
  49. package/src/components/loop/loop.scss +13 -13
  50. package/src/components/loop/wrapper.js +1 -1
  51. package/src/components/loop-constructor/block/block.scss +10 -10
  52. package/src/components/loop-constructor/block/component.js +9 -9
  53. package/src/components/loop-constructor/roster/component.js +8 -8
  54. package/src/components/loop-constructor/wrapper/body-component.js +146 -125
  55. package/src/components/modal/component.js +36 -0
  56. package/src/components/modal/index.js +1 -0
  57. package/src/components/modal/modal.scss +33 -0
  58. package/src/components/progress-bar/progress-bar.scss +54 -54
  59. package/src/components/radio/component.js +9 -9
  60. package/src/components/radio/radio.scss +59 -59
  61. package/src/components/sequence/component.js +50 -50
  62. package/src/components/sequence/sequence.scss +10 -10
  63. package/src/components/subsequence/component.js +49 -49
  64. package/src/components/suggester/check-store.js +2 -4
  65. package/src/components/suggester/components/panel/default-option-renderer.js +27 -27
  66. package/src/components/suggester/components/panel/option-container.js +61 -61
  67. package/src/components/suggester/components/panel/panel.js +47 -47
  68. package/src/components/suggester/components/selection/default-label-renderer.js +31 -31
  69. package/src/components/suggester/components/selection/label.js +35 -35
  70. package/src/components/suggester/components/selection/selection.js +50 -50
  71. package/src/components/suggester/components/suggester-content.js +2 -2
  72. package/src/components/suggester/components/suggester.js +128 -88
  73. package/src/components/suggester/components/suggester.scss +101 -101
  74. package/src/components/suggester/default-style.scss +125 -125
  75. package/src/components/suggester/find-best-label/find-best-label.js +51 -49
  76. package/src/components/suggester/find-best-label/index.js +1 -1
  77. package/src/components/suggester/idb-suggester.js +73 -67
  78. package/src/components/suggester/lunatic-suggester.js +140 -137
  79. package/src/components/suggester/searching/create-searching.js +49 -47
  80. package/src/components/suggester/searching/index.js +1 -1
  81. package/src/components/suggester/state-management/actions.js +38 -38
  82. package/src/components/suggester/state-management/reducer/reduce-on-delete-search.js +11 -11
  83. package/src/components/suggester/state-management/reducer/reduce-on-init.js +29 -29
  84. package/src/components/suggester/state-management/reducer/reducer.js +38 -38
  85. package/src/components/suggester/suggester-wrapper.js +127 -121
  86. package/src/components/suggester-loader-widget/loader.js +67 -67
  87. package/src/components/suggester-loader-widget/widget.js +123 -123
  88. package/src/components/table/table.js +173 -171
  89. package/src/components/table/table.scss +26 -26
  90. package/src/components/textarea/component.js +11 -11
  91. package/src/components/textarea/textarea.scss +8 -8
  92. package/src/components/tooltip/tooltip.scss +30 -30
  93. package/src/stories/checkbox-boolean/data.json +78 -78
  94. package/src/stories/datepicker/data.json +3 -1
  95. package/src/stories/dropdown/README.md +44 -44
  96. package/src/stories/dropdown/data.json +98 -98
  97. package/src/stories/dropdown/dropdown.stories.js +89 -89
  98. package/src/stories/progress-bar/progress-bar.stories.js +24 -24
  99. package/src/stories/questionnaire/arithmetic-management.json +47 -0
  100. package/src/stories/questionnaire/arithmetic.json +247 -247
  101. package/src/stories/questionnaire/kish.json +275 -0
  102. package/src/stories/questionnaire/logement-queen.json +23390 -0
  103. package/src/stories/questionnaire/logement-s2.json +46028 -0
  104. package/src/stories/questionnaire/logement.json +20347 -26087
  105. package/src/stories/questionnaire/loop-and-controls.json +481 -0
  106. package/src/stories/questionnaire/questionnaire.stories.js +236 -138
  107. package/src/stories/questionnaire/update-external/data.json +1 -0
  108. package/src/stories/questionnaire/update-external/questionnaire.json +75 -0
  109. package/src/stories/suggester/README.md +46 -46
  110. package/src/stories/suggester/bailleurs-sociaux/fetch-bailleurs.js +15 -15
  111. package/src/stories/suggester/bailleurs-sociaux/index.js +2 -2
  112. package/src/stories/suggester/bailleurs-sociaux/option-bailleur-renderer.js +58 -58
  113. package/src/stories/suggester/bailleurs-sociaux/preloader.svg +51 -51
  114. package/src/stories/suggester/bailleurs-sociaux/theme.scss +22 -22
  115. package/src/stories/suggester/bailleurs-sociaux-2021/fetch-bailleurs.js +12 -0
  116. package/src/stories/suggester/bailleurs-sociaux-2021/index.js +1 -0
  117. package/src/stories/suggester/cog-communes/fetch-cog.js +15 -15
  118. package/src/stories/suggester/data-auto.json +232 -231
  119. package/src/stories/suggester/data-vtl.json +82 -82
  120. package/src/stories/suggester/data.json +169 -136
  121. package/src/stories/suggester/naf-rev2/index.js +2 -2
  122. package/src/stories/suggester/naf-rev2/option-naf-renderer.js +17 -17
  123. package/src/stories/suggester/suggester-workers.stories.js +226 -179
  124. package/src/stories/suggester/suggester.stories.js +138 -133
  125. package/src/stories/utils/orchestrator-split.js +119 -0
  126. package/src/stories/utils/orchestrator.js +119 -108
  127. package/src/tests/components/input-number.spec.js +6 -12
  128. package/src/tests/components/missing-wrapper.spec.js +0 -1
  129. package/src/tests/utils/lib/table/roster.spec.js +25 -25
  130. package/src/tests/utils/to-expose/handler/results/res-input-edited.json +1 -1
  131. package/src/utils/components/dragger/dragger.scss +7 -7
  132. package/src/utils/idb-tools/create-db-opener.js +43 -43
  133. package/src/utils/idb-tools/create-open-db.js +25 -25
  134. package/src/utils/idb-tools/idb-bulk-insert.js +96 -96
  135. package/src/utils/idb-tools/index.js +10 -10
  136. package/src/utils/idb-tools/insert-entity.js +15 -15
  137. package/src/utils/idb-tools/open-db.js +13 -13
  138. package/src/utils/idb-tools/open-or-create-db.js +34 -34
  139. package/src/utils/lib/controls/index.js +1 -0
  140. package/src/utils/lib/controls/utils.js +152 -0
  141. package/src/utils/lib/decorator/title-decorator.js +16 -16
  142. package/src/utils/lib/env.js +2 -2
  143. package/src/utils/lib/index.js +2 -0
  144. package/src/utils/lib/input-number.js +1 -1
  145. package/src/utils/lib/options-positioning.js +9 -9
  146. package/src/utils/lib/pagination/navigation/shared.js +12 -9
  147. package/src/utils/lib/prop-types/lines.js +6 -6
  148. package/src/utils/lib/responses.js +11 -9
  149. package/src/utils/lib/splitting.js +142 -0
  150. package/src/utils/lib/style.js +10 -10
  151. package/src/utils/store-tools/auto-load.js +74 -73
  152. package/src/utils/suggester-workers/append-to-index/append.js +25 -25
  153. package/src/utils/suggester-workers/append-to-index/append.worker.js +16 -16
  154. package/src/utils/suggester-workers/append-to-index/create-append-task.js +45 -43
  155. package/src/utils/suggester-workers/append-to-index/index.js +2 -2
  156. package/src/utils/suggester-workers/append-to-index/prepare-entities.js +61 -61
  157. package/src/utils/suggester-workers/append-to-index/store-messages.js +21 -21
  158. package/src/utils/suggester-workers/commons-tokenizer/create-entity-tokenizer.js +56 -0
  159. package/src/utils/suggester-workers/commons-tokenizer/create-fields-tokenizer.js +56 -0
  160. package/src/utils/suggester-workers/commons-tokenizer/create-filter-stop-words.js +17 -17
  161. package/src/utils/suggester-workers/commons-tokenizer/filters/compose-filters.js +10 -0
  162. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.js +17 -0
  163. package/src/utils/suggester-workers/commons-tokenizer/filters/create-filter-stop-words.spec.js +14 -0
  164. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-accents.js +12 -0
  165. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-accents.spec.js +12 -0
  166. package/src/utils/suggester-workers/commons-tokenizer/{filter-double.js → filters/filter-double.js} +12 -12
  167. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-double.spec.js +20 -0
  168. package/src/utils/suggester-workers/commons-tokenizer/{filter-length.js → filters/filter-length.js} +7 -7
  169. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-length.spec.js +18 -0
  170. package/src/utils/suggester-workers/commons-tokenizer/{filter-stemmer.js → filters/filter-stemmer.js} +13 -13
  171. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-stemmer.spec.js +12 -0
  172. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.js +36 -0
  173. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-synonyms.spec.js +12 -0
  174. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.js +10 -0
  175. package/src/utils/suggester-workers/commons-tokenizer/filters/filter-to-lower.spec.js +12 -0
  176. package/src/utils/suggester-workers/commons-tokenizer/filters/index.js +2 -0
  177. package/src/utils/suggester-workers/commons-tokenizer/{stop-words.js → filters/stop-words.js} +118 -118
  178. package/src/utils/suggester-workers/commons-tokenizer/get-regexp-from-pattern.js +8 -8
  179. package/src/utils/suggester-workers/commons-tokenizer/get-stemmer.js +18 -18
  180. package/src/utils/suggester-workers/commons-tokenizer/index.js +9 -8
  181. package/src/utils/suggester-workers/commons-tokenizer/prepare-string-indexation.js +13 -9
  182. package/src/utils/suggester-workers/commons-tokenizer/soft-tokenizer.js +7 -7
  183. package/src/utils/suggester-workers/create-worker.js +56 -0
  184. package/src/utils/suggester-workers/find-best-label/find-best-label.js +39 -39
  185. package/src/utils/suggester-workers/find-best-label/find-best-label.worker.js +40 -40
  186. package/src/utils/suggester-workers/find-best-label/tokenize.js +30 -33
  187. package/src/utils/suggester-workers/find-best-label/tokenize.spec.js +19 -19
  188. package/src/utils/suggester-workers/searching/compute-score.js +33 -33
  189. package/src/utils/suggester-workers/searching/get-db.js +18 -18
  190. package/src/utils/suggester-workers/searching/index.js +1 -1
  191. package/src/utils/suggester-workers/searching/order/create-alphanumeric-orderer.js +20 -20
  192. package/src/utils/suggester-workers/searching/order/index.js +19 -19
  193. package/src/utils/suggester-workers/{query-parser → searching/query-parser}/index.js +2 -2
  194. package/src/utils/suggester-workers/searching/query-parser/query-parser-soft.js +7 -0
  195. package/src/utils/suggester-workers/{query-parser → searching/query-parser}/query-parser-soft.spec.js +24 -24
  196. package/src/utils/suggester-workers/searching/query-parser/query-parser-tokenized.js +34 -0
  197. package/src/utils/suggester-workers/searching/resolve-query-parser.js +27 -27
  198. package/src/utils/suggester-workers/searching/search-in-index.js +17 -17
  199. package/src/utils/suggester-workers/searching/searching.js +70 -70
  200. package/src/utils/suggester-workers/searching/searching.worker.js +11 -11
  201. package/src/utils/to-expose/calculated-variables.js +113 -113
  202. package/src/utils/to-expose/handler.js +149 -112
  203. package/src/utils/to-expose/hooks/filter-components.js +27 -12
  204. package/src/utils/to-expose/hooks/index.js +2 -1
  205. package/src/utils/to-expose/hooks/lunatic-split.js +428 -0
  206. package/src/utils/to-expose/hooks/lunatic.js +284 -187
  207. package/src/utils/to-expose/index.js +1 -1
  208. package/src/utils/to-expose/init-questionnaire.js +164 -164
  209. package/src/utils/to-expose/interpret/vtl.js +18 -18
  210. package/src/utils/to-expose/state.js +66 -58
  211. package/src/components/missing-wrapper/component.js +0 -120
  212. package/src/components/missing-wrapper/wrapper.js +0 -10
  213. package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +0 -46
  214. package/src/utils/suggester-workers/commons-tokenizer/create-tokenizer.js +0 -103
  215. package/src/utils/suggester-workers/commons-tokenizer/filter-accents-to-lower.js +0 -9
  216. package/src/utils/suggester-workers/commons-tokenizer/filter-synonyms.js +0 -10
  217. package/src/utils/suggester-workers/query-parser/query-parser-soft.js +0 -7
  218. package/src/utils/suggester-workers/query-parser/query-parser-tokenized.js +0 -31
  219. package/src/utils/suggester-workers/query-parser/query-parser-tokenized.spec.js +0 -32
@@ -1,54 +1,54 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import Declarations from '../';
4
- import * as U from '../../../utils/lib';
5
- import * as C from '../../../constants';
6
-
7
- const SimpleDeclarationsWrapper = ({
8
- id,
9
- declarations,
10
- features,
11
- bindings,
12
- children,
13
- }) => (
14
- <>
15
- <Declarations
16
- id={id}
17
- type={C.BEFORE_QUESTION_TEXT}
18
- declarations={declarations}
19
- features={features}
20
- bindings={bindings}
21
- />
22
- {children}
23
- <Declarations
24
- id={id}
25
- type={C.AFTER_QUESTION_TEXT}
26
- declarations={declarations}
27
- features={features}
28
- bindings={bindings}
29
- />
30
- <Declarations
31
- id={id}
32
- type={C.DETACHABLE}
33
- declarations={declarations}
34
- features={features}
35
- bindings={bindings}
36
- />
37
- </>
38
- );
39
-
40
- SimpleDeclarationsWrapper.defaultProps = {
41
- declarations: [],
42
- features: [],
43
- bindings: {},
44
- };
45
-
46
- SimpleDeclarationsWrapper.propTypes = {
47
- id: PropTypes.string.isRequired,
48
- declarations: U.declarationsPropTypes,
49
- features: PropTypes.arrayOf(PropTypes.string),
50
- bindings: PropTypes.object,
51
- children: PropTypes.element.isRequired,
52
- };
53
-
54
- export default SimpleDeclarationsWrapper;
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import Declarations from '../';
4
+ import * as U from '../../../utils/lib';
5
+ import * as C from '../../../constants';
6
+
7
+ const SimpleDeclarationsWrapper = ({
8
+ id,
9
+ declarations,
10
+ features,
11
+ bindings,
12
+ children,
13
+ }) => (
14
+ <>
15
+ <Declarations
16
+ id={id}
17
+ type={C.BEFORE_QUESTION_TEXT}
18
+ declarations={declarations}
19
+ features={features}
20
+ bindings={bindings}
21
+ />
22
+ {children}
23
+ <Declarations
24
+ id={id}
25
+ type={C.AFTER_QUESTION_TEXT}
26
+ declarations={declarations}
27
+ features={features}
28
+ bindings={bindings}
29
+ />
30
+ <Declarations
31
+ id={id}
32
+ type={C.DETACHABLE}
33
+ declarations={declarations}
34
+ features={features}
35
+ bindings={bindings}
36
+ />
37
+ </>
38
+ );
39
+
40
+ SimpleDeclarationsWrapper.defaultProps = {
41
+ declarations: [],
42
+ features: [],
43
+ bindings: {},
44
+ };
45
+
46
+ SimpleDeclarationsWrapper.propTypes = {
47
+ id: PropTypes.string.isRequired,
48
+ declarations: U.declarationsPropTypes,
49
+ features: PropTypes.arrayOf(PropTypes.string),
50
+ bindings: PropTypes.object,
51
+ children: PropTypes.element.isRequired,
52
+ };
53
+
54
+ export default SimpleDeclarationsWrapper;
@@ -1,56 +1,65 @@
1
- export const SHOW_PANEL = "dropdown/show-panel";
2
- export const showPanel = () => ({ type: SHOW_PANEL });
3
-
4
- export const HIDE_PANEL = "dropdown/hide-panel";
5
- export const hidePanel = () => ({ type: HIDE_PANEL });
6
-
7
- export const SET_ACTIVE_OPTION = "dropdown/set-active-option";
8
- export const setActiveOption = index => ({
9
- type: SET_ACTIVE_OPTION,
10
- payload: { index }
11
- });
12
-
13
- export const SET_OPTIONS = "dropdown/set-options";
14
- export const setOptions = options => ({
15
- type: SET_OPTIONS,
16
- payload: { options }
17
- });
18
-
19
- export const SET_VALUE = "dropdown/set-value";
20
- export const setValue = value => ({ type: SET_VALUE, payload: { value } });
21
-
22
- export const SET_FOCUSED = "dropdown/set-focused";
23
- export const setFocused = focused => ({
24
- type: SET_FOCUSED,
25
- payload: { focused }
26
- });
27
-
28
- export const SET_SELECTED_OPTION = "dropdown/set-selectted-option";
29
- export const setSelectedOption = option => ({
30
- type: SET_SELECTED_OPTION,
31
- payload: { option }
32
- });
33
-
34
- export const RESET_SELECTION = "dropdown/reset-selection";
35
- export const resetSelection = option => ({
36
- type: RESET_SELECTION
37
- });
38
-
39
- /* */
40
- export const ARROW_UP_PRESSED = "dropdown/arrow-up-ressed";
41
- export const arrowUpPressed = () => ({ type: ARROW_UP_PRESSED });
42
-
43
- /* */
44
- export const ARROW_DOWN_PRESSED = "dropdown/arrow-down-pressed";
45
- export const arrowDownPressed = () => ({ type: ARROW_DOWN_PRESSED });
46
-
47
- /* */
48
- export const ENTER_PRESSED = "dropdown/enter-pressed";
49
- export const enterPressed = callback => ({
50
- type: ENTER_PRESSED,
51
- payload: { callback }
52
- });
53
-
54
- /* */
55
- export const SET_PREFIX = "dropdown/set-prefix";
56
- export const setPrefix = prefix => ({ type: SET_PREFIX, payload: { prefix } });
1
+ export const SHOW_PANEL = 'dropdown/show-panel';
2
+ export const showPanel = () => ({ type: SHOW_PANEL });
3
+
4
+ export const HIDE_PANEL = 'dropdown/hide-panel';
5
+ export const hidePanel = () => ({ type: HIDE_PANEL });
6
+
7
+ export const SET_ACTIVE_OPTION = 'dropdown/set-active-option';
8
+ export const setActiveOption = (index) => ({
9
+ type: SET_ACTIVE_OPTION,
10
+ payload: { index },
11
+ });
12
+
13
+ export const SET_OPTIONS = 'dropdown/set-options';
14
+ export const setOptions = (options) => ({
15
+ type: SET_OPTIONS,
16
+ payload: { options },
17
+ });
18
+
19
+ export const SET_VALUE = 'dropdown/set-value';
20
+ export const setValue = (value) => ({ type: SET_VALUE, payload: { value } });
21
+
22
+ export const SET_FOCUSED = 'dropdown/set-focused';
23
+ export const setFocused = (focused) => ({
24
+ type: SET_FOCUSED,
25
+ payload: { focused },
26
+ });
27
+
28
+ export const SET_SELECTED_OPTION = 'dropdown/set-selectted-option';
29
+ export const setSelectedOption = (option) => ({
30
+ type: SET_SELECTED_OPTION,
31
+ payload: { option },
32
+ });
33
+
34
+ export const RESET_SELECTION = 'dropdown/reset-selection';
35
+ export const resetSelection = (option) => ({
36
+ type: RESET_SELECTION,
37
+ });
38
+
39
+ /* */
40
+ export const ARROW_UP_PRESSED = 'dropdown/arrow-up-ressed';
41
+ export const arrowUpPressed = () => ({ type: ARROW_UP_PRESSED });
42
+
43
+ /* */
44
+ export const ARROW_DOWN_PRESSED = 'dropdown/arrow-down-pressed';
45
+ export const arrowDownPressed = () => ({ type: ARROW_DOWN_PRESSED });
46
+
47
+ /* */
48
+ export const ENTER_PRESSED = 'dropdown/enter-pressed';
49
+ export const enterPressed = (callback) => ({
50
+ type: ENTER_PRESSED,
51
+ payload: { callback },
52
+ });
53
+
54
+ /* */
55
+ export const INIT_ACTIVE_INDEX = 'dropdown/init-active-index';
56
+ export const initActiveIndex = () => ({
57
+ type: INIT_ACTIVE_INDEX,
58
+ });
59
+
60
+ /* */
61
+ export const SET_PREFIX = 'dropdown/set-prefix';
62
+ export const setPrefix = (prefix) => ({
63
+ type: SET_PREFIX,
64
+ payload: { prefix },
65
+ });
@@ -1,9 +1,9 @@
1
- export default (children = []) =>
2
- (Array.isArray(children) ? children : [children]).map(child => {
3
- const { value } = child.props;
4
- const label = child.props.children;
5
- if (label === undefined || value === undefined) {
6
- throw new Error("Ooops");
7
- }
8
- return { label, value };
9
- });
1
+ export default (children = []) =>
2
+ (Array.isArray(children) ? children : [children]).map(child => {
3
+ const { value } = child.props;
4
+ const label = child.props.children;
5
+ if (label === undefined || value === undefined) {
6
+ throw new Error("Ooops");
7
+ }
8
+ return { label, value };
9
+ });
@@ -1,58 +1,58 @@
1
- let CLEANER_CALLBACKS = {};
2
-
3
- /**
4
- *
5
- * @param {string} id identifiant de dropdown
6
- * @param {function} hook fonction de rappelle à invoquer
7
- */
8
- export const setCallback = (id, hook) => {
9
- CLEANER_CALLBACKS[id] = hook;
10
- };
11
-
12
- /**
13
- *
14
- * @param {...any} execpt identifiants de dropdownn a ne pas appliquer
15
- */
16
- export const applyAll = (...execpt) => {
17
- Object.entries(CLEANER_CALLBACKS).forEach(([k, todo]) => {
18
- if (execpt.indexOf(k) === -1) {
19
- apply(k);
20
- }
21
- });
22
- };
23
-
24
- /**
25
- * Applique une fonction pour l'identifiant transmis
26
- * @param {string} id
27
- */
28
- export const apply = id => {
29
- if (id in CLEANER_CALLBACKS && typeof CLEANER_CALLBACKS[id] === "function") {
30
- CLEANER_CALLBACKS[id]();
31
- }
32
- };
33
-
34
- /**
35
- *
36
- * @param {string} id
37
- * @param {function} callback
38
- */
39
- export const add = (id, callback) => {
40
- if (typeof callback === "function") {
41
- CLEANER_CALLBACKS[id] = callback;
42
- }
43
- };
44
-
45
- /**
46
- *
47
- */
48
- export const clearAll = () => {
49
- CLEANER_CALLBACKS = [];
50
- };
51
-
52
- /**
53
- *
54
- * @param {string} id
55
- */
56
- export const clear = id => {
57
- delete CLEANER_CALLBACKS[id];
58
- };
1
+ let CLEANER_CALLBACKS = {};
2
+
3
+ /**
4
+ *
5
+ * @param {string} id identifiant de dropdown
6
+ * @param {function} hook fonction de rappelle à invoquer
7
+ */
8
+ export const setCallback = (id, hook) => {
9
+ CLEANER_CALLBACKS[id] = hook;
10
+ };
11
+
12
+ /**
13
+ *
14
+ * @param {...any} execpt identifiants de dropdownn a ne pas appliquer
15
+ */
16
+ export const applyAll = (...execpt) => {
17
+ Object.entries(CLEANER_CALLBACKS).forEach(([k, todo]) => {
18
+ if (execpt.indexOf(k) === -1) {
19
+ apply(k);
20
+ }
21
+ });
22
+ };
23
+
24
+ /**
25
+ * Applique une fonction pour l'identifiant transmis
26
+ * @param {string} id
27
+ */
28
+ export const apply = id => {
29
+ if (id in CLEANER_CALLBACKS && typeof CLEANER_CALLBACKS[id] === "function") {
30
+ CLEANER_CALLBACKS[id]();
31
+ }
32
+ };
33
+
34
+ /**
35
+ *
36
+ * @param {string} id
37
+ * @param {function} callback
38
+ */
39
+ export const add = (id, callback) => {
40
+ if (typeof callback === "function") {
41
+ CLEANER_CALLBACKS[id] = callback;
42
+ }
43
+ };
44
+
45
+ /**
46
+ *
47
+ */
48
+ export const clearAll = () => {
49
+ CLEANER_CALLBACKS = [];
50
+ };
51
+
52
+ /**
53
+ *
54
+ * @param {string} id
55
+ */
56
+ export const clear = id => {
57
+ delete CLEANER_CALLBACKS[id];
58
+ };
@@ -1,29 +1,29 @@
1
- import React from 'react';
2
-
3
- const DropdownContainer = React.forwardRef(function (props, ref) {
4
- const {
5
- children,
6
- className,
7
- id,
8
- onMouseDown,
9
- onKeyDown,
10
- onFocus,
11
- onBlur,
12
- } = props;
13
- return (
14
- <div
15
- className={className}
16
- tabIndex="-1"
17
- id={id}
18
- onMouseDown={onMouseDown}
19
- onKeyDown={onKeyDown}
20
- onFocus={onFocus}
21
- onBlur={onBlur}
22
- ref={ref}
23
- >
24
- {children}
25
- </div>
26
- );
27
- });
28
-
29
- export default DropdownContainer;
1
+ import React from 'react';
2
+
3
+ const DropdownContainer = React.forwardRef(function (props, ref) {
4
+ const {
5
+ children,
6
+ className,
7
+ id,
8
+ onMouseDown,
9
+ onKeyDown,
10
+ onFocus,
11
+ onBlur,
12
+ } = props;
13
+ return (
14
+ <div
15
+ className={className}
16
+ tabIndex="-1"
17
+ id={id}
18
+ onMouseDown={onMouseDown}
19
+ onKeyDown={onKeyDown}
20
+ onFocus={onFocus}
21
+ onBlur={onBlur}
22
+ ref={ref}
23
+ >
24
+ {children}
25
+ </div>
26
+ );
27
+ });
28
+
29
+ export default DropdownContainer;