@inseefr/lunatic 0.3.2-experimental → 0.3.6-experimental
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.
- package/lib/index.js +38 -82
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/breadcrumb/component.js +29 -29
- package/src/components/button/component.js +53 -53
- package/src/components/button/index.js +1 -1
- package/src/components/checkbox/index.js +3 -3
- package/src/components/datepicker/index.js +1 -1
- package/src/components/declarations/index.js +1 -1
- package/src/components/declarations/wrappers/input-declarations-wrapper.js +28 -7
- package/src/components/declarations/wrappers/list-declarations-wrapper.js +232 -232
- package/src/components/dropdown/commons/components/dropdown.js +21 -0
- package/src/components/dropdown/dropdown-edit/dropdown-edit.js +4 -1
- package/src/components/dropdown/dropdown-simple/dropdown.js +3 -1
- package/src/components/filter-description/component.js +42 -42
- package/src/components/icon/component.js +33 -33
- package/src/components/input/index.js +2 -2
- package/src/components/input/input-number.js +2 -1
- package/src/components/loop/index.js +1 -1
- package/src/components/loop-constructor/wrapper/body-component.js +13 -1
- package/src/components/radio/index.js +1 -1
- package/src/components/sequence/index.js +1 -1
- package/src/components/subsequence/index.js +1 -1
- package/src/components/suggester/check-store.js +70 -70
- package/src/components/suggester/components/suggester-content.js +42 -42
- package/src/components/suggester/components/suggester.js +43 -3
- package/src/components/suggester/idb-suggester.js +7 -1
- package/src/components/suggester/lunatic-suggester.js +1 -0
- package/src/components/suggester/suggester-wrapper.js +6 -0
- package/src/components/tooltip/response.js +52 -52
- package/src/stories/checkbox-boolean/data-forced.json +48 -48
- package/src/stories/icons/icons.stories.js +16 -16
- package/src/stories/questionnaire/kish.json +275 -0
- package/src/stories/questionnaire/logement-queen.json +23390 -23390
- package/src/stories/questionnaire/logement-s2.json +46027 -44536
- package/src/stories/questionnaire/questionnaire.stories.js +14 -2
- package/src/stories/utils/custom-lunatic.scss +23 -23
- package/src/stories/utils/orchestrator-split.js +4 -2
- package/src/stories/utils/orchestrator.js +4 -2
- package/src/tests/components/breadcrumb.spec.js +13 -13
- package/src/tests/components/button.spec.js +11 -11
- package/src/tests/components/checkbox-boolean.spec.js +45 -45
- package/src/tests/components/checkbox-group.spec.js +53 -53
- package/src/tests/components/checkbox-one.spec.js +32 -32
- package/src/tests/components/datepicker.spec.js +22 -22
- package/src/tests/components/declarations-wrappers/input-declarations-wrapper.spec.js +67 -67
- package/src/tests/components/declarations-wrappers/list-declarations-wrapper.spec.js +52 -52
- package/src/tests/components/declarations-wrappers/simple-declarations-wrapper.spec.js +21 -21
- package/src/tests/components/declarations.spec.js +46 -46
- package/src/tests/components/input.spec.js +18 -18
- package/src/tests/components/loops/loop-static.json +66 -66
- package/src/tests/components/loops/loop.json +258 -258
- package/src/tests/components/loops/loop.spec.js +30 -30
- package/src/tests/components/loops/roster-for-loop.spec.js +18 -18
- package/src/tests/components/progress-bar.spec.js +15 -15
- package/src/tests/components/radio.spec.js +27 -27
- package/src/tests/components/sequence.spec.js +9 -9
- package/src/tests/components/subsequence.spec.js +9 -9
- package/src/tests/components/table.spec.js +11 -11
- package/src/tests/components/textarea.spec.js +18 -18
- package/src/tests/components/tooltip.spec.js +25 -25
- package/src/tests/setup/setupTests.js +4 -4
- package/src/tests/utils/lib/alphabet.spec.js +36 -36
- package/src/tests/utils/lib/array.spec.js +22 -22
- package/src/tests/utils/lib/checkbox/group.spec.js +72 -72
- package/src/tests/utils/lib/decorator/title-decorator.spec.js +12 -12
- package/src/tests/utils/lib/input-number.spec.js +18 -18
- package/src/tests/utils/lib/items-positioning.spec.js +17 -17
- package/src/tests/utils/lib/label-position.spec.js +22 -22
- package/src/tests/utils/lib/loops/bindings.spec.js +75 -75
- package/src/tests/utils/lib/loops/shared.spec.js +82 -82
- package/src/tests/utils/lib/missing/missing.spec.js +74 -74
- package/src/tests/utils/lib/missing/mock.js +137 -137
- package/src/tests/utils/lib/pagination/shared.spec.js +42 -42
- package/src/tests/utils/lib/responses.spec.js +64 -64
- package/src/tests/utils/lib/style.spec.js +26 -26
- package/src/tests/utils/lib/tooltip/build-response.spec.js +95 -95
- package/src/tests/utils/lib/tooltip/content.spec.js +109 -109
- package/src/tests/utils/to-expose/handler/handler.spec.js +94 -94
- package/src/tests/utils/to-expose/handler/questionnaire.json +158 -158
- package/src/tests/utils/to-expose/handler/results/index.js +6 -6
- package/src/tests/utils/to-expose/handler/results/res-double.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-input-collected.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-input-edited.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-loop.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-matrix.json +158 -158
- package/src/tests/utils/to-expose/handler/results/res-responses.json +158 -158
- package/src/tests/utils/to-expose/hooks/use-lunatic.spec.js +46 -46
- package/src/tests/utils/to-expose/init-questionnaire/data.json +12 -12
- package/src/tests/utils/to-expose/init-questionnaire/init-questionnaire.spec.js +19 -19
- package/src/tests/utils/to-expose/interpret/interpret.spec.js +48 -48
- package/src/tests/utils/to-expose/state/questionnaire.json +61 -61
- package/src/tests/utils/to-expose/state/results.js +78 -78
- package/src/utils/lib/splitting.js +55 -23
- package/src/utils/lib/tooltip/build-response.js +41 -41
- package/src/utils/store-tools/create/index.js +1 -1
- package/src/utils/store-tools/create/update-store-info.js +26 -26
- package/src/utils/store-tools/index.js +5 -5
- package/src/utils/to-expose/handler.js +12 -14
- package/src/utils/to-expose/hooks/lunatic-split.js +44 -27
- package/src/utils/to-expose/hooks/lunatic.js +12 -5
package/lib/index.js
CHANGED
|
@@ -232,7 +232,27 @@ if(20<t||10>t)switch(t%10){case 1:return n+"st";case 2:return n+"nd";case 3:retu
|
|
|
232
232
|
* // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:
|
|
233
233
|
* const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)
|
|
234
234
|
* //=> Thu Jul 10 2014 12:45:29.250
|
|
235
|
-
*/function subMilliseconds(e,n){requiredArgs(2,arguments);var t=toInteger(n);return addMilliseconds(e,-t)}function
|
|
235
|
+
*/function subMilliseconds(e,n){requiredArgs(2,arguments);var t=toInteger(n);return addMilliseconds(e,-t)}var MILLISECONDS_IN_DAY=864e5;// This function will be a part of public API when UTC function will be implemented.
|
|
236
|
+
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
237
|
+
function getUTCDayOfYear(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getTime();n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0);var a=n.getTime();return Math.floor((t-a)/MILLISECONDS_IN_DAY)+1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
238
|
+
function startOfUTCISOWeek(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getUTCDay(),a=(1>t?7:0)+t-1;return n.setUTCDate(n.getUTCDate()-a),n.setUTCHours(0,0,0,0),n}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
239
|
+
function getUTCISOWeekYear(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(t+1,0,4),a.setUTCHours(0,0,0,0);var i=startOfUTCISOWeek(a),o=new Date(0);o.setUTCFullYear(t,0,4),o.setUTCHours(0,0,0,0);var d=startOfUTCISOWeek(o);return n.getTime()>=i.getTime()?t+1:n.getTime()>=d.getTime()?t:t-1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
240
|
+
function startOfUTCISOWeekYear(e){requiredArgs(1,arguments);var n=getUTCISOWeekYear(e),t=new Date(0);t.setUTCFullYear(n,0,4),t.setUTCHours(0,0,0,0);var a=startOfUTCISOWeek(t);return a}var MILLISECONDS_IN_WEEK$1=6048e5;// This function will be a part of public API when UTC function will be implemented.
|
|
241
|
+
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
242
|
+
function getUTCISOWeek(e){requiredArgs(1,arguments);var n=toDate(e),t=startOfUTCISOWeek(n).getTime()-startOfUTCISOWeekYear(n).getTime();// Round the number of days to the nearest integer
|
|
243
|
+
// because the number of milliseconds in a week is not constant
|
|
244
|
+
// (e.g. it's different in the week of the daylight saving time clock shift)
|
|
245
|
+
return Math.round(t/MILLISECONDS_IN_WEEK$1)+1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
246
|
+
function startOfUTCWeek(e,n){requiredArgs(1,arguments);var t=n||{},a=t.locale,i=a&&a.options&&a.options.weekStartsOn,o=null==i?0:toInteger(i),d=null==t.weekStartsOn?o:toInteger(t.weekStartsOn);// Test if weekStartsOn is between 0 and 6 _and_ is not NaN
|
|
247
|
+
if(!(0<=d&&6>=d))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var r=toDate(e),s=r.getUTCDay(),l=(s<d?7:0)+s-d;return r.setUTCDate(r.getUTCDate()-l),r.setUTCHours(0,0,0,0),r}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
248
|
+
function getUTCWeekYear(e,n){requiredArgs(1,arguments);var t=toDate(e),a=t.getUTCFullYear(),i=n||{},o=i.locale,d=o&&o.options&&o.options.firstWeekContainsDate,r=null==d?1:toInteger(d),s=null==i.firstWeekContainsDate?r:toInteger(i.firstWeekContainsDate);// Test if weekStartsOn is between 1 and 7 _and_ is not NaN
|
|
249
|
+
if(!(1<=s&&7>=s))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(a+1,0,s),l.setUTCHours(0,0,0,0);var u=startOfUTCWeek(l,n),c=new Date(0);c.setUTCFullYear(a,0,s),c.setUTCHours(0,0,0,0);var f=startOfUTCWeek(c,n);return t.getTime()>=u.getTime()?a+1:t.getTime()>=f.getTime()?a:a-1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
250
|
+
function startOfUTCWeekYear(e,n){requiredArgs(1,arguments);var t=n||{},a=t.locale,i=a&&a.options&&a.options.firstWeekContainsDate,o=null==i?1:toInteger(i),d=null==t.firstWeekContainsDate?o:toInteger(t.firstWeekContainsDate),r=getUTCWeekYear(e,n),s=new Date(0);s.setUTCFullYear(r,0,d),s.setUTCHours(0,0,0,0);var l=startOfUTCWeek(s,n);return l}var MILLISECONDS_IN_WEEK=6048e5;// This function will be a part of public API when UTC function will be implemented.
|
|
251
|
+
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
252
|
+
function getUTCWeek(e,n){requiredArgs(1,arguments);var t=toDate(e),a=startOfUTCWeek(t,n).getTime()-startOfUTCWeekYear(t,n).getTime();// Round the number of days to the nearest integer
|
|
253
|
+
// because the number of milliseconds in a week is not constant
|
|
254
|
+
// (e.g. it's different in the week of the daylight saving time clock shift)
|
|
255
|
+
return Math.round(a/MILLISECONDS_IN_WEEK)+1}function addLeadingZeros(e,n){for(var t=Math.abs,a=0>e?"-":"",i=t(e).toString();i.length<n;)i="0"+i;return a+i}/*
|
|
236
256
|
* | | Unit | | Unit |
|
|
237
257
|
* |-----|--------------------------------|-----|--------------------------------|
|
|
238
258
|
* | a | AM, PM | A* | |
|
|
@@ -261,27 +281,7 @@ h:function(e,n){return addLeadingZeros(e.getUTCHours()%12||12,n.length)},// Hour
|
|
|
261
281
|
H:function(e,n){return addLeadingZeros(e.getUTCHours(),n.length)},// Minute
|
|
262
282
|
m:function(e,n){return addLeadingZeros(e.getUTCMinutes(),n.length)},// Second
|
|
263
283
|
s:function(e,n){return addLeadingZeros(e.getUTCSeconds(),n.length)},// Fraction of second
|
|
264
|
-
S:function(e,n){var t=n.length,a=e.getUTCMilliseconds(),i=Math.floor(a*Math.pow(10,t-3));return addLeadingZeros(i,n.length)}},lightFormatters=formatters$2,
|
|
265
|
-
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
266
|
-
function getUTCDayOfYear(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getTime();n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0);var a=n.getTime();return Math.floor((t-a)/MILLISECONDS_IN_DAY)+1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
267
|
-
function startOfUTCISOWeek(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getUTCDay(),a=(1>t?7:0)+t-1;return n.setUTCDate(n.getUTCDate()-a),n.setUTCHours(0,0,0,0),n}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
268
|
-
function getUTCISOWeekYear(e){requiredArgs(1,arguments);var n=toDate(e),t=n.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(t+1,0,4),a.setUTCHours(0,0,0,0);var i=startOfUTCISOWeek(a),o=new Date(0);o.setUTCFullYear(t,0,4),o.setUTCHours(0,0,0,0);var d=startOfUTCISOWeek(o);return n.getTime()>=i.getTime()?t+1:n.getTime()>=d.getTime()?t:t-1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
269
|
-
function startOfUTCISOWeekYear(e){requiredArgs(1,arguments);var n=getUTCISOWeekYear(e),t=new Date(0);t.setUTCFullYear(n,0,4),t.setUTCHours(0,0,0,0);var a=startOfUTCISOWeek(t);return a}var MILLISECONDS_IN_WEEK$1=6048e5;// This function will be a part of public API when UTC function will be implemented.
|
|
270
|
-
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
271
|
-
function getUTCISOWeek(e){requiredArgs(1,arguments);var n=toDate(e),t=startOfUTCISOWeek(n).getTime()-startOfUTCISOWeekYear(n).getTime();// Round the number of days to the nearest integer
|
|
272
|
-
// because the number of milliseconds in a week is not constant
|
|
273
|
-
// (e.g. it's different in the week of the daylight saving time clock shift)
|
|
274
|
-
return Math.round(t/MILLISECONDS_IN_WEEK$1)+1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
275
|
-
function startOfUTCWeek(e,n){requiredArgs(1,arguments);var t=n||{},a=t.locale,i=a&&a.options&&a.options.weekStartsOn,o=null==i?0:toInteger(i),d=null==t.weekStartsOn?o:toInteger(t.weekStartsOn);// Test if weekStartsOn is between 0 and 6 _and_ is not NaN
|
|
276
|
-
if(!(0<=d&&6>=d))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var r=toDate(e),s=r.getUTCDay(),l=(s<d?7:0)+s-d;return r.setUTCDate(r.getUTCDate()-l),r.setUTCHours(0,0,0,0),r}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
277
|
-
function getUTCWeekYear(e,n){requiredArgs(1,arguments);var t=toDate(e),a=t.getUTCFullYear(),i=n||{},o=i.locale,d=o&&o.options&&o.options.firstWeekContainsDate,r=null==d?1:toInteger(d),s=null==i.firstWeekContainsDate?r:toInteger(i.firstWeekContainsDate);// Test if weekStartsOn is between 1 and 7 _and_ is not NaN
|
|
278
|
-
if(!(1<=s&&7>=s))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var l=new Date(0);l.setUTCFullYear(a+1,0,s),l.setUTCHours(0,0,0,0);var u=startOfUTCWeek(l,n),c=new Date(0);c.setUTCFullYear(a,0,s),c.setUTCHours(0,0,0,0);var f=startOfUTCWeek(c,n);return t.getTime()>=u.getTime()?a+1:t.getTime()>=f.getTime()?a:a-1}// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
279
|
-
function startOfUTCWeekYear(e,n){requiredArgs(1,arguments);var t=n||{},a=t.locale,i=a&&a.options&&a.options.firstWeekContainsDate,o=null==i?1:toInteger(i),d=null==t.firstWeekContainsDate?o:toInteger(t.firstWeekContainsDate),r=getUTCWeekYear(e,n),s=new Date(0);s.setUTCFullYear(r,0,d),s.setUTCHours(0,0,0,0);var l=startOfUTCWeek(s,n);return l}var MILLISECONDS_IN_WEEK=6048e5;// This function will be a part of public API when UTC function will be implemented.
|
|
280
|
-
// See issue: https://github.com/date-fns/date-fns/issues/376
|
|
281
|
-
function getUTCWeek(e,n){requiredArgs(1,arguments);var t=toDate(e),a=startOfUTCWeek(t,n).getTime()-startOfUTCWeekYear(t,n).getTime();// Round the number of days to the nearest integer
|
|
282
|
-
// because the number of milliseconds in a week is not constant
|
|
283
|
-
// (e.g. it's different in the week of the daylight saving time clock shift)
|
|
284
|
-
return Math.round(a/MILLISECONDS_IN_WEEK)+1}var dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={// Era
|
|
284
|
+
S:function(e,n){var t=n.length,a=e.getUTCMilliseconds(),i=Math.floor(a*Math.pow(10,t-3));return addLeadingZeros(i,n.length)}},lightFormatters=formatters$2,dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters={// Era
|
|
285
285
|
G:function(e,n,t){var a=0<e.getUTCFullYear()?1:0;switch(n){// AD, BC
|
|
286
286
|
case"G":case"GG":case"GGG":return t.era(a,{width:"abbreviated"});// A, B
|
|
287
287
|
case"GGGGG":return t.era(a,{width:"narrow"});// Anno Domini, Before Christ
|
|
@@ -399,51 +399,7 @@ z:function(e,n,t,a){var i=a._originalDate||e,o=i.getTimezoneOffset();switch(n){/
|
|
|
399
399
|
case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(o,":");// Long
|
|
400
400
|
case"zzzz":default:return"GMT"+formatTimezone(o,":");}},// Seconds timestamp
|
|
401
401
|
t:function(e,n,t,a){var i=a._originalDate||e,o=Math.floor(i.getTime()/1e3);return addLeadingZeros(o,n.length)},// Milliseconds timestamp
|
|
402
|
-
T:function(e,n,t,a){var i=a._originalDate||e,o=i.getTime();return addLeadingZeros(o,n.length)}}
|
|
403
|
-
* | | Unit | | Unit |
|
|
404
|
-
* |-----|--------------------------------|-----|--------------------------------|
|
|
405
|
-
* | a | AM, PM | A* | Milliseconds in day |
|
|
406
|
-
* | b | AM, PM, noon, midnight | B | Flexible day period |
|
|
407
|
-
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
|
|
408
|
-
* | d | Day of month | D | Day of year |
|
|
409
|
-
* | e | Local day of week | E | Day of week |
|
|
410
|
-
* | f | | F* | Day of week in month |
|
|
411
|
-
* | g* | Modified Julian day | G | Era |
|
|
412
|
-
* | h | Hour [1-12] | H | Hour [0-23] |
|
|
413
|
-
* | i! | ISO day of week | I! | ISO week of year |
|
|
414
|
-
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
|
|
415
|
-
* | k | Hour [1-24] | K | Hour [0-11] |
|
|
416
|
-
* | l* | (deprecated) | L | Stand-alone month |
|
|
417
|
-
* | m | Minute | M | Month |
|
|
418
|
-
* | n | | N | |
|
|
419
|
-
* | o! | Ordinal number modifier | O | Timezone (GMT) |
|
|
420
|
-
* | p! | Long localized time | P! | Long localized date |
|
|
421
|
-
* | q | Stand-alone quarter | Q | Quarter |
|
|
422
|
-
* | r* | Related Gregorian year | R! | ISO week-numbering year |
|
|
423
|
-
* | s | Second | S | Fraction of second |
|
|
424
|
-
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
|
|
425
|
-
* | u | Extended year | U* | Cyclic year |
|
|
426
|
-
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
|
|
427
|
-
* | w | Local week of year | W* | Week of month |
|
|
428
|
-
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
|
|
429
|
-
* | y | Year (abs) | Y | Local week-numbering year |
|
|
430
|
-
* | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
|
|
431
|
-
*
|
|
432
|
-
* Letters marked by * are not implemented but reserved by Unicode standard.
|
|
433
|
-
*
|
|
434
|
-
* Letters marked by ! are non-standard, but implemented by date-fns:
|
|
435
|
-
* - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
|
|
436
|
-
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
|
|
437
|
-
* i.e. 7 for Sunday, 1 for Monday, etc.
|
|
438
|
-
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
|
|
439
|
-
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
|
|
440
|
-
* `R` is supposed to be used in conjunction with `I` and `i`
|
|
441
|
-
* for universal ISO week-numbering date, whereas
|
|
442
|
-
* `Y` is supposed to be used in conjunction with `w` and `e`
|
|
443
|
-
* for week-numbering date specific to the locale.
|
|
444
|
-
* - `P` is long localized date format
|
|
445
|
-
* - `p` is long localized time format
|
|
446
|
-
*/function formatTimezoneShort(e,n){var t=0<e?"-":"+",a=Math.abs(e),i=Math.floor(a/60),o=a%60;return 0===o?t+(i+""):t+(i+"")+n+addLeadingZeros(o,2)}function formatTimezoneWithOptionalMinutes(e,n){if(0==e%60){var t=0<e?"-":"+";return t+addLeadingZeros(Math.abs(e)/60,2)}return formatTimezone(e,n)}function formatTimezone(e,n){var t=0<e?"-":"+",a=Math.abs(e),i=addLeadingZeros(Math.floor(a/60),2),o=addLeadingZeros(a%60,2);return t+i+(n||"")+o}var formatters$1=formatters;function dateLongFormatter(e,n){switch(e){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"});}}function timeLongFormatter(e,n){switch(e){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"});}}function dateTimeLongFormatter(e,n){var t=e.match(/(P+)(p+)?/)||[],a=t[1],i=t[2];if(!i)return dateLongFormatter(e,n);var o;switch(a){case"P":o=n.dateTime({width:"short"});break;case"PP":o=n.dateTime({width:"medium"});break;case"PPP":o=n.dateTime({width:"long"});break;case"PPPP":default:o=n.dateTime({width:"full"});}return o.replace("{{date}}",dateLongFormatter(a,n)).replace("{{time}}",timeLongFormatter(i,n))}var longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},longFormatters$1=longFormatters;/**
|
|
402
|
+
T:function(e,n,t,a){var i=a._originalDate||e,o=i.getTime();return addLeadingZeros(o,n.length)}};function formatTimezoneShort(e,n){var t=0<e?"-":"+",a=Math.abs(e),i=Math.floor(a/60),o=a%60;if(0===o)return t+(i+"");return t+(i+"")+(n||"")+addLeadingZeros(o,2)}function formatTimezoneWithOptionalMinutes(e,n){if(0==e%60){var t=0<e?"-":"+";return t+addLeadingZeros(Math.abs(e)/60,2)}return formatTimezone(e,n)}function formatTimezone(e,n){var t=0<e?"-":"+",a=Math.abs(e),i=addLeadingZeros(Math.floor(a/60),2),o=addLeadingZeros(a%60,2);return t+i+(n||"")+o}var formatters$1=formatters;function dateLongFormatter(e,n){switch(e){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"});}}function timeLongFormatter(e,n){switch(e){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"});}}function dateTimeLongFormatter(e,n){var t=e.match(/(P+)(p+)?/)||[],a=t[1],i=t[2];if(!i)return dateLongFormatter(e,n);var o;switch(a){case"P":o=n.dateTime({width:"short"});break;case"PP":o=n.dateTime({width:"medium"});break;case"PPP":o=n.dateTime({width:"long"});break;case"PPPP":default:o=n.dateTime({width:"full"});}return o.replace("{{date}}",dateLongFormatter(a,n)).replace("{{time}}",timeLongFormatter(i,n))}var longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},longFormatters$1=longFormatters;/**
|
|
447
403
|
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
|
|
448
404
|
* They usually appear for dates that denote time before the timezones were introduced
|
|
449
405
|
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
|
|
@@ -712,7 +668,7 @@ var formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|.
|
|
|
712
668
|
* 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.
|
|
713
669
|
* You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr
|
|
714
670
|
*
|
|
715
|
-
* 9. `D` and `DD` tokens represent days of the year but they are
|
|
671
|
+
* 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.
|
|
716
672
|
* You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr
|
|
717
673
|
*
|
|
718
674
|
* ### v2.0.0 breaking changes:
|
|
@@ -787,20 +743,20 @@ if(e.includes(".")&&!n)return!1;var t=new RegExp("^(-)?(0|[1-9]\\d*)(\\.(\\d){0,
|
|
|
787
743
|
if("Loop"===o&&p){var m=n.conditionFilter,g=m.bindingDependencies,h=m.value,b=(g||[]).reduce(function(e,n){return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,t[n]))},{}),y=buildVectorialBindings(b);if(r||!0!==interpret(i)(y)(h)||d===FLOW_PREVIOUS&&1===c&&1===u&&s===l)return"continue";var w=getIterations({component:n,bindings:t,featuresWithoutMD:i}),x=n.components,v=getStartedIteration({currentIteration:c,currentRootPage:l,page:s,flow:d,iterations:w}),k=buildIterationsArray({start:d===FLOW_NEXT?v:0,end:d===FLOW_NEXT?w-1:v,flow:d}),E=buildIterationsArray({start:0,end:x.length-1,flow:d}),S=_createForOfIteratorHelper(k.values()),C;try{for(S.s();!(C=S.n()).done;){var T=C.value,N=_createForOfIteratorHelper(E.values()),R;try{for(N.s();!(R=N.n()).done;){var P=R.value,_=x[P];if(!hasToBeExcluded({flow:d,currentRootPage:l,page:s,it:T,currentIteration:c,currentComponentIndex:u,loopComponent:_})){var L=_.conditionFilter,D=L.bindingDependencies,I=L.value,O=(D||[]).map(function(e){return t[e]?[e,t[e]]:[e,null]}),z=buildLoopBindings(T)(O),A=interpret(i)(z)(I);if(r||!0===A)return{v:"".concat(_.page,"#").concat(T+1)}}}}catch(e){N.e(e)}finally{N.f()}}}catch(e){S.e(e)}finally{S.f()}}else{// Handle Simple Component + Loop on the same page
|
|
788
744
|
var M=f.filter(function(e){return e.page===s&&"Loop"===e.componentType});if(0<M.length){var U=d===FLOW_NEXT?M[0].id:M[M.length-1].id,F=f.findIndex(function(e){return e.id===a}),W=f.findIndex(function(e){return e.id===U});if(d===FLOW_NEXT&&!(W<=F)||d===FLOW_PREVIOUS&&!(W>=F))return"continue"}var B=n.conditionFilter,j=B.bindingDependencies,H=B.value,V=(j||[]).reduce(function(e,n){return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,t[n]))},{}),q=buildVectorialBindings(V),Q=interpret(i)(q)(H);if(r||!0===Q)return{v:s}}},m=0,g;m<f.length;m++)if(g=p(m),"continue"!==g&&"object"===_typeof(g))return g.v},getStartedIteration=function(e){var n=e.currentIteration,t=e.currentRootPage,a=e.page,i=e.flow,o=e.iterations;return n&&t===a?n-1:i===FLOW_NEXT?0:i===FLOW_PREVIOUS?o-1:void 0},buildIterationsArray=function(e){var n=e.end,t=e.start,a=e.flow,i=_toConsumableArray(Array(n-t+1)).map(function(e,n){return n+t});return a===FLOW_PREVIOUS?i.slice().reverse():i},hasToBeExcluded=function(e){var n=e.flow,t=e.currentRootPage,a=e.page,i=e.it,o=e.currentIteration,d=e.currentComponentIndex,r=e.loopComponent,s=r.page,l=r.depth,u=splitPage(s,l),c=u.currentComponentIndex;return n===FLOW_NEXT?t===a&&i===o-1&&c<=d||!r.page:!(n!==FLOW_PREVIOUS)&&(t===a&&i===o-1&&c>=d||!r.page)},getIterations=function(e){var n=e.component,t=e.bindings,a=e.featuresWithoutMD,i=n.loopDependencies,o=n.iterations,d=n.lines,r=i.reduce(function(e,n){return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,t[n]))},{}),s=buildVectorialBindings(r);if(o)return parseInt(interpret(a)(s)(o),10);if(d){var l=d.min,u=d.max,c=parseInt(interpret(a)(s)(u),10);return c||parseInt(l,10)}},splitPage=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:"1",n=1<arguments.length?arguments[1]:void 0,t=n?null===e||void 0===e?void 0:e.split(".").slice(0,n+1)// scoped
|
|
789
745
|
.join("."):e,a=null===t||void 0===t?void 0:t.split("#").slice(0,-1).join("#"),i=null===t||void 0===t?void 0:t.split(".").map(function(n){return n.split("#")[0]}).join("."),o=null===a||void 0===a?void 0:a.split(".").slice(0,-1).join("."),d=null===t||void 0===t?void 0:t.split(".").pop().split("#").map(function(e){return parseInt(e,10)}),r=_slicedToArray(d,2),s=r[0],l=r[1];return{currentRootPage:o,currentComponentIndex:s,currentIteration:l,currentPageWithoutAnyIteration:i}},declarations=PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({id:PropTypes__default["default"].string.isRequired,declarationType:PropTypes__default["default"].oneOf([INSTRUCTION,COMMENT,HELP,WARNING,MESSAGE_FILTER,STATEMENT]),position:PropTypes__default["default"].oneOf([BEFORE_QUESTION_TEXT,AFTER_QUESTION_TEXT,DETACHABLE]),label:PropTypes__default["default"].string.isRequired})).isRequired,options=PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({label:PropTypes__default["default"].string.isRequired,value:PropTypes__default["default"].string.isRequired})),response=PropTypes__default["default"].shape({name:PropTypes__default["default"].string,values:PropTypes__default["default"].shape({})}),valueType=PropTypes__default["default"].oneOf(["COLLECTED","PREVIOUS","FORCED","EDITED","INPUTED"]),lines=PropTypes__default["default"].shape({min:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number]),max:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number])}),getResponseName=function(e){return e&&e.name||""},getResponseByPreference=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return function(n){return n&&n.values?e.reduce(function(e,t){var a=n.values[t];return null===a?e:a},null):null}},buildStyleObject=function n(e){return e?Object.entries(e).reduce(function(e,t){var a=_slicedToArray(t,2),i=a[0],o=a[1];return i.startsWith(":")?e[i]=n(o):e[camelCase__default["default"](i)]=o,e},{}):{}},isResponseEmpty=function(e){return 0===Object.values(e.values).filter(function(e){return null!==e}).length},getRosterInitLines=function(e){return Array.isArray(e)?e.filter(function(e){return e.filter(function(e){var n=e.response;return!n}).length!==e.length}).reduce(function(e,n){return[].concat(_toConsumableArray(e),[n.reduce(function(e,n){var t=n.response,a=n.label;return!!a||(e||!t?e:!isResponseEmpty(t))},!1)])},[]).filter(function(e){return e}).length:0},buildTooltip=function(e){if(!e||!e.values||0===Object.keys(e.values).length)return{};var n=e.values,t=n[EDITED],a=n[FORCED],i=n[COLLECTED];return""!==t||has$1(a)||has$1(i)?has$1(t)?has$1(a)?{content:[{key:"Brute",value:i||" - "},{key:"Correction automatique",value:a}],imgName:"editedImg"}:{content:[{key:"Brute",value:i||" - "}],imgName:"editedImg"}:has$1(a)?{content:[{key:"Brute",value:i||" - "}],imgName:"forcedImg"}:{}:{}},has$1=function(e){return![null,void 0].includes(e)},getCalculatedVariables=function(e){return function(n){var t=n.bindings,a=n.updatedVars,i=n.logFunction,o=n.init,d={};return Object.entries(e).reduce(function(n,r){var s=_slicedToArray(r,2),l=s[0],u=s[1],c=getCalculatedVariable(u,l)(e)({bindings:t,wip:d,updatedVars:a,logFunction:i,init:void 0!==o&&o});return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},l,c))},{})}},getCalculatedVariable=function t(e,n){return function(a){return function(i){var o=i.bindings,d=i.wip,r=i.updatedVars,s=i.logFunction,l=i.init,u=e.bindingDependencies;if(!l&&!Array.isArray(u))return e;if(Array.isArray(r)&&0<r.length&&Array.isArray(u)&&!r.some(function(e){return u.includes(e)}))return e;var c=(u||[]).reduce(function(e,n){if(void 0!==o[n])return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,o[n]));if(void 0!==d[n])return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,d[n]));var i=a[n];if(!i)return e;var s=t(i)(a)({bindings:o,wip:d,updatedVars:r,init:l});return d[n]=s.value,_objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,s.value))},{}),f=e.expression,p=e.shapeFrom,m=d[n]===void 0?getValue(o,c,f,p):d[n],g=m&&m._isAMomentObject?m.format("DD-MM-YYYY"):m;if(isFunction(s)&&// Filter only filterResult vars : name.startsWith('FILTER_RESULT_') &&
|
|
790
|
-
JSON.stringify(m)!==JSON.stringify(a[n].value)){var h;s({idParadataObject:"".concat(n),typeParadataObject:CALCULATED_VAR_CATEGORY,type:EVENT_VALUE_CHANGE,oldValue:m,newValue:null===(h=a[n])||void 0===h?void 0:h.value})}return p?{expression:f,bindingDependencies:u,value:g,shapeFrom:p}:{expression:f,bindingDependencies:u,value:g}}}},getValue=function(e,n,t,a){if(!a){var i=buildVectorialBindings(n),o=interpret(["VTL"])(i)(t);return Array.isArray(o)?o[0]:o}var d=e[a];return buildShape(n,t)(d)},buildShape=function t(e,n){return function(a){return a.map(function(o,a){var i=buildBindingsForDeeperComponents(a)(e);if(Array.isArray(o))return t(i,n)(o);var d=buildVectorialBindings(i),r=interpret(["VTL"])(d)(n);return Array.isArray(r)?r[0]:r})}},_excluded$b=["components","variables"],_excluded2$5=["name"],_excluded3$2=["responses","missingResponse"],_excluded4=["cells","depth","missingResponse"],_excluded5=["components","depth","missingResponse"],INITIAL_DEPTH=1,mergeQuestionnaireAndData=function(e){return function(n){if(!e||!e.components)return{};if(0===e.components.length)return e;var t=e.components,a=e.variables,i=_objectWithoutProperties(e,_excluded$b),o=buildVars(n||{})(a),d=buildFilledComponents(o[COLLECTED])(t)(INITIAL_DEPTH);return _objectSpread2(_objectSpread2({},i),{},{components:d,variables:o})}},buildVars=function(e){return function(n){if(!Array.isArray(n))return{};if(isDev){console.log("Start init vars");var t=new Date().getTime()}var a=e.COLLECTED,i=n.filter(function(e){var n=e.variableType;return n===COLLECTED}).reduce(function(e,n){var t=n.values,i=n.name,o=n.componentRef,r=a&&a[i]||{};return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},i,{componentRef:o,values:_objectSpread2(_objectSpread2({},t),r)}))},{}),o=n.filter(function(e){var n=e.variableType;return n===EXTERNAL}).reduce(function(n,t){return _objectSpread2(_objectSpread2({},n),initExternalVariable(t)(e))},{}),d=Object.entries(_objectSpread2(_objectSpread2({},i),o)).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return null!==i&&void 0!==i&&i.values?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i.values[COLLECTED])):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i))},{}),r=n.filter(function(e){var n=e.variableType;return n===CALCULATED}).reduce(function(e,n){var t=n.name,a=_objectWithoutProperties(n,_excluded2$5);return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,a))},{}),s=getCalculatedVariables(r)({bindings:d,init:!0});return isDev&&console.log("End init vars: ".concat(new Date().getTime()-t," ms")),{EXTERNAL:o,COLLECTED:i,CALCULATED:s}}},buildFilledComponents=function(e){return function(n){return function(t){return n.map(function(n){var a=_objectSpread2({depth:t},n);return buildFilledComponent(e)(a)})}}},buildFilledComponent=function(e){return function(n){if(n.response)return buildResponseComponent(e)(n);return n.responses?buildResponsesComponent(e)(n):n.cells?buildCellsComponent(e)(n):n.components?buildComponentsComponent(e)(n):n}},buildResponseComponent=function(e){return function(n){var t=n.missingResponse,a={name:n.response.name,values:e[n.response.name].values};return t?_objectSpread2(_objectSpread2({},n),{},{response:a,missingResponse:{name:t.name,values:e[t.name].values}}):_objectSpread2(_objectSpread2({},n),{},{response:a})}},buildResponsesComponent=function(e){return function(n){var t=n.responses,a=n.missingResponse,i=_objectWithoutProperties(n,_excluded3$2),o=t.map(function(n){return buildResponseComponent(e)(n)});return a?_objectSpread2(_objectSpread2({},i),{},{responses:o,missingResponse:{name:a.name,values:e[a.name].values}}):_objectSpread2(_objectSpread2({},i),{},{responses:o})}},buildCellsComponent=function(e){return function(n){var t=n.cells,a=n.depth,i=n.missingResponse,o=_objectWithoutProperties(n,_excluded4),d=t.map(function(n){return buildFilledComponents(e)(n)(a)});return i?_objectSpread2(_objectSpread2({},o),{},{cells:d,missingResponse:{name:i.name,values:e[i.name].values}}):_objectSpread2(_objectSpread2({},o),{},{depth:a,cells:d})}},buildComponentsComponent=function(e){return function(n){var t=n.components,a=n.depth,i=n.missingResponse,o=_objectWithoutProperties(n,_excluded5),d=buildFilledComponents(e)(t)(a+1);return i?_objectSpread2(_objectSpread2({},o),{},{components:d,missingResponse:{name:i.name,values:e[i.name].values}}):_objectSpread2(_objectSpread2({},o),{},{depth:a,components:d})}},initExternalVariable=function(e){var n=e.name;return function(e){return _defineProperty({},n,e&&e.EXTERNAL&&e.EXTERNAL[n]||null)}},supportedPreferences=[PREVIOUS,COLLECTED,FORCED,EDITED,INPUTED],_excluded$a=["variables","components"],_excluded2$4=["COLLECTED"],_excluded3$1=["variables"],updateQuestionnaire=function(e){return function(n){return function(t,a){return function(i){if(!supportedPreferences.includes(e)||0===t.length||!i)return n;var o=n.variables,d=n.components,s=_objectWithoutProperties(n,_excluded$a);if(!d||0===d.length)return n;var l=Object.entries(i).reduce(function(n,a){var i=_slicedToArray(a,2),o=i[0],d=i[1],r=n.newVariables,s=r.COLLECTED,l=_objectWithoutProperties(r,_excluded2$4),u=n.refs,c=s[o],f=c.componentRef,p=c.values,m={componentRef:f,values:_objectSpread2(_objectSpread2({},p),{},_defineProperty({},e,buildNewValue(t)(e)(p)(d)))},g=_objectSpread2(_objectSpread2({},s),{},_defineProperty({},o,m));return{newVariables:_objectSpread2(_objectSpread2({},l),{},{COLLECTED:g}),refs:[].concat(_toConsumableArray(u),[f])}},{newVariables:o,refs:[]}),u=l.newVariables,f=l.refs,r=addCalculatedVars(u,i)(a,t),p=u[COLLECTED],m=d.map(function(e){return f.includes(e.id)?buildFilledComponent(p)(e):e});return _objectSpread2(_objectSpread2({},s),{},{variables:r,components:m})}}}},updateExternals=function(e){return function(n){return function(t){var a=e.variables,i=_objectWithoutProperties(e,_excluded3$1),o=a.EXTERNAL,d=_objectSpread2(_objectSpread2({},a),{},{EXTERNAL:_objectSpread2(_objectSpread2({},o),t)}),r=addCalculatedVars(d,t)(n);return _objectSpread2(_objectSpread2({},i),{},{variables:r})}}},buildNewValue=function(e){return function(n){return function(t){return function(a){if(1===e.length)return a;var i=e.indexOf(n);if(1>i)return a;var o=e.slice(0,i).map(function(e){return t[e]}).filter(function(e){return null!==e}),d=o[o.length-1];return d===a?null:a}}}},getCollectedAndExternal=function(e){return function(n){var t=n.COLLECTED;return 1===e.length&&"COLLECTED"===e[0]?getCollectedAndExternalSimple(t):getCollectedAndExternalByPreferences(e)(t)}},getCollectedAndExternalSimple=function(e){var n=Object.entries(e).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1].values;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i.COLLECTED))},{});return _objectSpread2(_objectSpread2({},n),e.EXTERNAL)},getCollectedAndExternalByPreferences=function(e){return function(n){var t=Object.entries(n).reduce(function(n,t){var a=_slicedToArray(t,2),i=a[0],o=a[1].values,d=e.reduce(function(e,n){var t=o[n];return[null,""].includes(t)?e:t},null);return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,d))},{});return _objectSpread2(_objectSpread2({},t),n.EXTERNAL)}},addCalculatedVars=function(e,n){return function(t,a){if(!e[CALCULATED]||0===Object.keys(e[CALCULATED]).length)return e;if(isDev){console.log("Start var calculation");var i=new Date().getTime()}var o=e.COLLECTED,d=e.EXTERNAL,r=e.CALCULATED,s=Object.keys(n),l=getCollectedAndExternal(a)(e),u=getCalculatedVariables(r)({bindings:l,updatedVars:s,logFunction:t});return isDev&&console.log("End var calculation: ".concat(new Date().getTime()-i," ms")),{EXTERNAL:d,COLLECTED:o,CALCULATED:u}}},buildMultiTooltipResponse=function(e){return function(n){if(!n||0===Object.keys(n).length||!e)return{};var t=n.name,a=n.values,i=Object.entries(a).reduce(function(n,t){var a=_slicedToArray(t,2),i=a[0],d=a[1];return null===d?_objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,d)):_objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,e.find(function(e){return e.value===d}).label))},{});return{name:t,values:i}}},buildBooleanTooltipResponse=function(e){if(!e||0===Object.keys(e).length)return{};var n=e.name,t=e.values,a=Object.entries(t).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return null===i?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i)):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i?"Vrai":"Faux"))},{});return{name:n,values:a}},buildLocalResponse=function(e,n){if(!e||0===Object.keys(e).length)return{};var t=e.name,a=e.values,i=buildNewValue([COLLECTED,FORCED,EDITED])(EDITED)(a)(n);return{name:t,values:_objectSpread2(_objectSpread2({},a),{},{EDITED:i})}},isFunction=function(e){return e&&"function"==typeof e},createObjectEvent=function(e,n,t,a,i){return{idParadataObject:e,typeParadataObject:n,type:t,responseName:a,value:i}},_excluded$9=["components","variables"],getBindingsDependenciesCalculated=function(e){return e?e.reduce(function(e,n){var t=n.variableType,a=n.name,i=n.bindingDependencies,o=n.shapeFrom;return"CALCULATED"===t&&o&&i?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,[].concat(_toConsumableArray(i),[o]))):i?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i)):o?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,[o])):e},{}):{}},getAllDeps=function n(e){return function(t){return e&&t?e.reduce(function(e,a){var i=t[a];return Array.isArray(i)?[].concat(_toConsumableArray(e),[a],_toConsumableArray(n(i)(t))):[].concat(_toConsumableArray(e),[a])},[]):[]}},getNestedVars=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return function(n){var t=getBindingsDependenciesCalculated(n),a=e.reduce(function(e,n){var t=n.bindingDependencies,a=n.conditionFilter,i=[];return Array.isArray(t)&&(i=[].concat(_toConsumableArray(i),_toConsumableArray(t))),Array.isArray(null===a||void 0===a?void 0:a.bindingDependencies)&&(i=[].concat(_toConsumableArray(i),_toConsumableArray(a.bindingDependencies))),[].concat(_toConsumableArray(e),_toConsumableArray(i))},[]).filter(function(e,n,t){return t.indexOf(e)===n});return getAllDeps(a)(t).filter(function(e,n,t){return t.indexOf(e)===n})}},getUsefullVariablesFromSource=function(e){return function(n){return!e||e.filter(function(e){var t=e.variableType,a=e.name;return!!("CALCULATED"!==t||n.includes(a))&&!!("COLLECTED"!==t||n.includes(a))})}},getSplitQuestionnaireSource=function(e){var n=e.components,t=e.variables,a=_objectWithoutProperties(e,_excluded$9),i=[],o=[];return n.map(function(e){var n=e.componentType;// splitting by Sequence or Loop
|
|
791
|
-
return"Sequence"===n||"Loop"===n?(0<o.length&&i.push(o),o=[e]):o.push(e),null}),0<o.length&&i.push(o),i.reduce(function(e,n){var i=n[0].page,o=n[n.length-1].page,d=getNestedVars(n)(t),r=getUsefullVariablesFromSource(t)(d);return[].concat(_toConsumableArray(e),[_objectSpread2(_objectSpread2({},a),{},{variables:r,firstPage:i,maxPage:o,components:n})])},[])},getRootPageInSources=function(e){return e.map(function(e){var n=e.components;return n.reduce(function(e,n){var t=n.page;return t?[].concat(_toConsumableArray(e),[t]):e},[])})},mergeStateData=function(e,n){return{COLLECTED:_objectSpread2(_objectSpread2({},e.COLLECTED),n.COLLECTED),CALCULATED:_objectSpread2(_objectSpread2({},e.CALCULATED),n.CALCULATED),EXTERNAL:_objectSpread2(_objectSpread2({},e.EXTERNAL),n.EXTERNAL)}};function styleInject(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t?a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$o=".lunatic-component .breadcrumb-lunatic {\n width: 100%;\n height: 40px;\n box-sizing: border-box;\n border-radius: 0px;\n background-color: var(--color-primary-light);\n color: white;\n font-weight: bold;\n font-size: 130%;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.lunatic-component .breadcrumb-element-lunatic:before {\n content: \">\";\n color: white;\n margin-left: 0.4em;\n margin-right: 0.4em;\n}";styleInject(".lunatic-component .breadcrumb-lunatic {\n width: 100%;\n height: 40px;\n box-sizing: border-box;\n border-radius: 0px;\n background-color: var(--color-primary-light);\n color: white;\n font-weight: bold;\n font-size: 130%;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.lunatic-component .breadcrumb-element-lunatic:before {\n content: \">\";\n color: white;\n margin-left: 0.4em;\n margin-right: 0.4em;\n}");var Breadcrumb=function(e){var n=e.elements,t=e.style;return/*#__PURE__*/React__default["default"].createElement("div",{"aria-label":"breadcrumb",className:"breadcrumb-lunatic",style:buildStyleObject(t)},n.map(function(n,e){return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,{key:"breadcrumb-".concat(n.toLowerCase())},n&&/*#__PURE__*/React__default["default"].createElement("span",{className:0===e?void 0:"breadcrumb-element-lunatic"},n))}))};Breadcrumb.propTypes={elements:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string).isRequired,style:PropTypes__default["default"].object};var css_248z$n=".button-lunatic {\n min-width: 20%;\n color: white;\n border-color: var(--color-primary-dark);\n background-color: var(--color-primary-dark);\n font-size: 1.5em;\n font-weight: bold;\n padding: 0.4em;\n}\n.button-lunatic:hover, .button-lunatic:focus:hover {\n color: var(--color-primary-dark);\n background-color: white;\n border-color: var(--color-primary-dark);\n}\n.button-lunatic:focus {\n outline: none;\n background-color: var(--color-primary-light);\n border-color: var(--color-primary-light);\n}\n.button-lunatic:disabled {\n background: var(--color-disabled);\n color: var(--color-primary-dark);\n}";styleInject(".button-lunatic {\n min-width: 20%;\n color: white;\n border-color: var(--color-primary-dark);\n background-color: var(--color-primary-dark);\n font-size: 1.5em;\n font-weight: bold;\n padding: 0.4em;\n}\n.button-lunatic:hover, .button-lunatic:focus:hover {\n color: var(--color-primary-dark);\n background-color: white;\n border-color: var(--color-primary-dark);\n}\n.button-lunatic:focus {\n outline: none;\n background-color: var(--color-primary-light);\n border-color: var(--color-primary-light);\n}\n.button-lunatic:disabled {\n background: var(--color-disabled);\n color: var(--color-primary-dark);\n}");var Button=function(e){var n=e.label,t=e.value,a=e.onClick,i=e.disabled,o=e.style,d=e.logFunction,r=e.id;return/*#__PURE__*/React__default["default"].createElement("button",{type:"button","aria-label":n||"button",className:"button-lunatic",style:buildStyleObject(o),disabled:i,onClick:function(t){a(t),isFunction(d)&&d(createObjectEvent("button-lunatic-".concat(r),BUTTON_CATEGORY,EVENT_CLICK,null,n))}},t)};Button.propTypes={value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].element]).isRequired,disabled:PropTypes__default["default"].bool,onClick:PropTypes__default["default"].func.isRequired};var css_248z$m=".lunatic-component .missing-wrapper .missing-buttons {\n margin-top: 1em;\n}\n.lunatic-component .missing-wrapper .missing-buttons .button-lunatic {\n width: 4em;\n font-size: 1em;\n font-weight: normal;\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic {\n background-color: var(--color-very-very-light);\n color: var(--color-primary-dark);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic:hover {\n background-color: white;\n color: var(--color-primary-main);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic {\n background-color: var(--color-primary-dark);\n color: var(--color-very-very-light);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic:hover {\n background-color: var(--color-primary-main);\n color: white;\n}";styleInject(".lunatic-component .missing-wrapper .missing-buttons {\n margin-top: 1em;\n}\n.lunatic-component .missing-wrapper .missing-buttons .button-lunatic {\n width: 4em;\n font-size: 1em;\n font-weight: normal;\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic {\n background-color: var(--color-very-very-light);\n color: var(--color-primary-dark);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic:hover {\n background-color: white;\n color: var(--color-primary-main);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic {\n background-color: var(--color-primary-dark);\n color: var(--color-very-very-light);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic:hover {\n background-color: var(--color-primary-main);\n color: white;\n}");var Missing=function(e){var n=e.Component,t=e.props,a=t.dontKnowButton,i=void 0===a?"Don't know":a,o=t.refusedButton,d=void 0===o?"Refused":o,r=t.missingResponse,s=t.handleChange,l=t.preferences,u=t.missingStrategy,c=t.missingShortcut,f=void 0===c?{dontKnow:"",refused:""}:c,p=t.response,m=t.responses,g=t.cells,h=t.components,b=t.savingType,y=t.bindings,w=t.shortcut,x=t.componentType,v=t.paginatedLoop,k=getResponseName(r),E=getResponseByPreference(l)(r),S=React.useState(function(){return E}),C=_slicedToArray(S,1),T=C[0],N=React.useState(null),R=_slicedToArray(N,2),P=R[0],_=R[1];React.useEffect(function(){P&&!(E===T)&&(isFunction(u)&&u(P),_(null))},[P,u,E,T]),React.useEffect(function(){null!==E&&hasToCleanMissing(b)({response:p,responses:m,cells:g,components:h})&&s(_defineProperty({},k,null))},[E,s,b,p,m,g,h,k]);var L=function(){return getToClean(b)({response:p,responses:m,cells:g,components:h})},D=function(e){return function(){if(!(E===e)){var n=L();if(Object.keys(n)){var a=t.currentPage,i=getCurrentIterationIndex({currentPage:a});if(s(n),isFunction(u)){var o=t.fullBindings,d=getVarsToHandle({toClean:n,fullBindings:o,currentIterationIndex:i}),r=getMissingBindings({currentIterationIndex:i,bindings:y,fullBindings:o,toHandle:d});_(r)}}else isFunction(u)&&_(y);s(_defineProperty({},k,e))}}};return"Loop"===x&&v||!r?/*#__PURE__*/React__default["default"].createElement(n,t):/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-wrapper"},/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-component"},/*#__PURE__*/React__default["default"].createElement(n,t)),/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-buttons"},/*#__PURE__*/React__default["default"].createElement("span",{className:"missing-button".concat(E===DK?"-active":""," missing-button-dk").concat(E===DK?"-active":"")},/*#__PURE__*/React__default["default"].createElement(Button,{label:"dont-know-button",value:i,disabled:!k||0===(null===k||void 0===k?void 0:k.length),onClick:D(DK)})),/*#__PURE__*/React__default["default"].createElement("span",{className:"missing-button".concat(E===RF?"-active":""," missing-button-rf").concat(E===RF?"-active":"")},/*#__PURE__*/React__default["default"].createElement(Button,{label:"refused-button",value:d,disabled:!k||0===(null===k||void 0===k?void 0:k.length),onClick:D(RF)}))),w&&0<(null===k||void 0===k?void 0:k.length)&&f&&f.dontKnow&&f.refused&&/*#__PURE__*/React__default["default"].createElement(KeyboardEventHandler__default["default"],{handleKeys:Object.values(f),onKeyEvent:function(n,t){t.preventDefault(),n===f.dontKnow&&D(DK)(),n===f.refused&&D(RF)()},handleFocusableElements:!0}))},getCurrentIterationIndex=function(e){var n=e.currentPage,t=splitPage(n,1),a=t.currentIteration;return a?a-1:null},getVarsToHandle=function(e){var n=e.toClean,t=e.fullBindings,a=e.currentIterationIndex;return a||0===a?Object.entries(n).reduce(function(e,n){var i=_slicedToArray(n,2),o=i[0],d=i[1],r=t[o].map(function(e,n){return n===a?d:e});return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},o,r))},{}):n},getMissingBindings=function(e){var n=e.bindings,t=e.fullBindings,a=e.currentIterationIndex,i=e.toHandle;return a||0===a?_objectSpread2(_objectSpread2({},t),i):_objectSpread2(_objectSpread2({},n),i)},css_248z$l=".lunatic-controls .lunatic-control {\n margin-top: 1em;\n color: red;\n}";styleInject(css_248z$l);var Controls=function(e){var n=e.Component,t=e.props,a=t.response,i=t.responses,o=t.cells,d=t.components,r=t.preferences,s=t.missingResponse,l=t.savingType,u=React.useState(function(){return hasToCleanMissing(l)({response:a,responses:i,cells:o,components:d})}),c=_slicedToArray(u,2),f=c[0],p=c[1];// handle responses & cells
|
|
746
|
+
JSON.stringify(m)!==JSON.stringify(a[n].value)){var h;s({idParadataObject:"".concat(n),typeParadataObject:CALCULATED_VAR_CATEGORY,type:EVENT_VALUE_CHANGE,oldValue:m,newValue:null===(h=a[n])||void 0===h?void 0:h.value})}return p?{expression:f,bindingDependencies:u,value:g,shapeFrom:p}:{expression:f,bindingDependencies:u,value:g}}}},getValue=function(e,n,t,a){if(!a){var i=buildVectorialBindings(n),o=interpret(["VTL"])(i)(t);return Array.isArray(o)?o[0]:o}var d=e[a];return buildShape(n,t)(d)},buildShape=function t(e,n){return function(a){return a.map(function(o,a){var i=buildBindingsForDeeperComponents(a)(e);if(Array.isArray(o))return t(i,n)(o);var d=buildVectorialBindings(i),r=interpret(["VTL"])(d)(n);return Array.isArray(r)?r[0]:r})}},_excluded$b=["components","variables"],_excluded2$5=["name"],_excluded3$2=["responses","missingResponse"],_excluded4=["cells","depth","missingResponse"],_excluded5=["components","depth","missingResponse"],INITIAL_DEPTH=1,mergeQuestionnaireAndData=function(e){return function(n){if(!e||!e.components)return{};if(0===e.components.length)return e;var t=e.components,a=e.variables,i=_objectWithoutProperties(e,_excluded$b),o=buildVars(n||{})(a),d=buildFilledComponents(o[COLLECTED])(t)(INITIAL_DEPTH);return _objectSpread2(_objectSpread2({},i),{},{components:d,variables:o})}},buildVars=function(e){return function(n){if(!Array.isArray(n))return{};if(isDev){console.log("Start init vars");var t=new Date().getTime()}var a=e.COLLECTED,i=n.filter(function(e){var n=e.variableType;return n===COLLECTED}).reduce(function(e,n){var t=n.values,i=n.name,o=n.componentRef,r=a&&a[i]||{};return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},i,{componentRef:o,values:_objectSpread2(_objectSpread2({},t),r)}))},{}),o=n.filter(function(e){var n=e.variableType;return n===EXTERNAL}).reduce(function(n,t){return _objectSpread2(_objectSpread2({},n),initExternalVariable(t)(e))},{}),d=Object.entries(_objectSpread2(_objectSpread2({},i),o)).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return null!==i&&void 0!==i&&i.values?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i.values[COLLECTED])):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i))},{}),r=n.filter(function(e){var n=e.variableType;return n===CALCULATED}).reduce(function(e,n){var t=n.name,a=_objectWithoutProperties(n,_excluded2$5);return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,a))},{}),s=getCalculatedVariables(r)({bindings:d,init:!0});return isDev&&console.log("End init vars: ".concat(new Date().getTime()-t," ms")),{EXTERNAL:o,COLLECTED:i,CALCULATED:s}}},buildFilledComponents=function(e){return function(n){return function(t){return n.map(function(n){var a=_objectSpread2({depth:t},n);return buildFilledComponent(e)(a)})}}},buildFilledComponent=function(e){return function(n){if(n.response)return buildResponseComponent(e)(n);return n.responses?buildResponsesComponent(e)(n):n.cells?buildCellsComponent(e)(n):n.components?buildComponentsComponent(e)(n):n}},buildResponseComponent=function(e){return function(n){var t=n.missingResponse,a={name:n.response.name,values:e[n.response.name].values};return t?_objectSpread2(_objectSpread2({},n),{},{response:a,missingResponse:{name:t.name,values:e[t.name].values}}):_objectSpread2(_objectSpread2({},n),{},{response:a})}},buildResponsesComponent=function(e){return function(n){var t=n.responses,a=n.missingResponse,i=_objectWithoutProperties(n,_excluded3$2),o=t.map(function(n){return buildResponseComponent(e)(n)});return a?_objectSpread2(_objectSpread2({},i),{},{responses:o,missingResponse:{name:a.name,values:e[a.name].values}}):_objectSpread2(_objectSpread2({},i),{},{responses:o})}},buildCellsComponent=function(e){return function(n){var t=n.cells,a=n.depth,i=n.missingResponse,o=_objectWithoutProperties(n,_excluded4),d=t.map(function(n){return buildFilledComponents(e)(n)(a)});return i?_objectSpread2(_objectSpread2({},o),{},{cells:d,missingResponse:{name:i.name,values:e[i.name].values}}):_objectSpread2(_objectSpread2({},o),{},{depth:a,cells:d})}},buildComponentsComponent=function(e){return function(n){var t=n.components,a=n.depth,i=n.missingResponse,o=_objectWithoutProperties(n,_excluded5),d=buildFilledComponents(e)(t)(a+1);return i?_objectSpread2(_objectSpread2({},o),{},{components:d,missingResponse:{name:i.name,values:e[i.name].values}}):_objectSpread2(_objectSpread2({},o),{},{depth:a,components:d})}},initExternalVariable=function(e){var n=e.name;return function(e){return _defineProperty({},n,e&&e.EXTERNAL&&e.EXTERNAL[n]||null)}},supportedPreferences=[PREVIOUS,COLLECTED,FORCED,EDITED,INPUTED],_excluded$a=["variables","components"],_excluded2$4=["COLLECTED"],_excluded3$1=["variables"],updateQuestionnaire=function(e){return function(n){return function(t,a){return function(i){if(!supportedPreferences.includes(e)||0===t.length||!i)return n;var o=n.variables,d=n.components,s=_objectWithoutProperties(n,_excluded$a);if(!d||0===d.length)return n;var l=Object.entries(i).reduce(function(n,a){var i=_slicedToArray(a,2),o=i[0],d=i[1],r=n.newVariables,s=r.COLLECTED,l=_objectWithoutProperties(r,_excluded2$4),u=n.refs,c=s[o],f=c.componentRef,p=c.values,m={componentRef:f,values:_objectSpread2(_objectSpread2({},p),{},_defineProperty({},e,buildNewValue(t)(e)(p)(d)))},g=_objectSpread2(_objectSpread2({},s),{},_defineProperty({},o,m));return{newVariables:_objectSpread2(_objectSpread2({},l),{},{COLLECTED:g}),refs:[].concat(_toConsumableArray(u),[f])}},{newVariables:o,refs:[]}),u=l.newVariables,f=l.refs,r=addCalculatedVars(u,i)(a,t),p=u[COLLECTED],m=d.map(function(e){return f.includes(e.id)?buildFilledComponent(p)(e):e});return _objectSpread2(_objectSpread2({},s),{},{variables:r,components:m})}}}},updateExternals=function(e){return function(n,t){return function(a){var i=e.variables,o=_objectWithoutProperties(e,_excluded3$1),d=i.EXTERNAL,r=_objectSpread2(_objectSpread2({},i),{},{EXTERNAL:_objectSpread2(_objectSpread2({},d),a)}),s=addCalculatedVars(r,a)(n,t);return _objectSpread2(_objectSpread2({},o),{},{variables:s})}}},buildNewValue=function(e){return function(n){return function(t){return function(a){if(1===e.length)return a;var i=e.indexOf(n);if(1>i)return a;var o=e.slice(0,i).map(function(e){return t[e]}).filter(function(e){return null!==e}),d=o[o.length-1];return d===a?null:a}}}},getCollectedAndExternal=function(e){return function(n){var t=n.COLLECTED,a=n.EXTERNAL;return 1===e.length&&"COLLECTED"===e[0]?_objectSpread2(_objectSpread2({},getCollectedAndExternalSimple(t)),a):_objectSpread2(_objectSpread2({},getCollectedAndExternalByPreferences(e)(t)),a)}},getCollectedAndExternalSimple=function(e){return Object.entries(e).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1].values;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i.COLLECTED))},{})},getCollectedAndExternalByPreferences=function(e){return function(n){return Object.entries(n).reduce(function(n,t){var a=_slicedToArray(t,2),i=a[0],o=a[1].values,d=e.reduce(function(e,n){var t=o[n];return[null,""].includes(t)?e:t},null);return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,d))},{})}},addCalculatedVars=function(e,n){return function(t,a){if(!e[CALCULATED]||0===Object.keys(e[CALCULATED]).length)return e;if(isDev){console.log("Start var calculation");var i=new Date().getTime()}var o=e.COLLECTED,d=e.EXTERNAL,r=e.CALCULATED,s=Object.keys(n),l=getCollectedAndExternal(a)(e),u=getCalculatedVariables(r)({bindings:l,updatedVars:s,logFunction:t});return isDev&&console.log("End var calculation: ".concat(new Date().getTime()-i," ms")),{EXTERNAL:d,COLLECTED:o,CALCULATED:u}}},buildMultiTooltipResponse=function(e){return function(n){if(!n||0===Object.keys(n).length||!e)return{};var t=n.name,a=n.values,i=Object.entries(a).reduce(function(n,t){var a=_slicedToArray(t,2),i=a[0],d=a[1];return null===d?_objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,d)):_objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,e.find(function(e){return e.value===d}).label))},{});return{name:t,values:i}}},buildBooleanTooltipResponse=function(e){if(!e||0===Object.keys(e).length)return{};var n=e.name,t=e.values,a=Object.entries(t).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return null===i?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i)):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i?"Vrai":"Faux"))},{});return{name:n,values:a}},buildLocalResponse=function(e,n){if(!e||0===Object.keys(e).length)return{};var t=e.name,a=e.values,i=buildNewValue([COLLECTED,FORCED,EDITED])(EDITED)(a)(n);return{name:t,values:_objectSpread2(_objectSpread2({},a),{},{EDITED:i})}},isFunction=function(e){return e&&"function"==typeof e},createObjectEvent=function(e,n,t,a,i){return{idParadataObject:e,typeParadataObject:n,type:t,responseName:a,value:i}},_excluded$9=["components","variables"],getBindingsDependenciesCalculated=function(e){return e?e.reduce(function(e,n){var t=n.name,a=n.bindingDependencies,i=n.shapeFrom;return i&&a?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[].concat(_toConsumableArray(a),[i]))):a?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,a)):i?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[i])):e},{}):{}},getAllDeps=function n(e){return function(t){return e&&t?e.reduce(function(e,a){var i=t[a];return Array.isArray(i)?[].concat(_toConsumableArray(e),[a],_toConsumableArray(n(i)(t))):[].concat(_toConsumableArray(e),[a])},[]):[]}},getNestedVarsInFilterOrControl=function(e){return e&&Array.isArray(null===e||void 0===e?void 0:e.bindingDependencies)?null===e||void 0===e?void 0:e.bindingDependencies:[]},getNestedVarsInComponent=function n(e){var t=e.componentType,a=e.bindingDependencies,i=void 0===a?[]:a,o=e.conditionFilter,d=e.controls,r=void 0===d?[]:d,s=[].concat(_toConsumableArray(i),_toConsumableArray(getNestedVarsInFilterOrControl(o)),_toConsumableArray(r.reduce(function(e,n){return[].concat(_toConsumableArray(e),_toConsumableArray(getNestedVarsInFilterOrControl(n)))},[])));if("Loop"===t){var l=e.components,u=e.loopDependencies;Array.isArray(u)&&(s=[].concat(_toConsumableArray(s),_toConsumableArray(u))),Array.isArray(l)&&(s=l.reduce(function(e,t){return[].concat(_toConsumableArray(e),_toConsumableArray(n(t)))},_toConsumableArray(s)))}return s},getNestedVars=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return function(n){var t=getBindingsDependenciesCalculated(n),a=e.reduce(function(e,n){return[].concat(_toConsumableArray(e),_toConsumableArray(getNestedVarsInComponent(n)))},[]).filter(function(e,n,t){return t.indexOf(e)===n});return getAllDeps(a)(t).filter(function(e,n,t){return t.indexOf(e)===n})}},getUsefullVariablesFromSource=function(e){return function(n){return e.filter(function(e){var t=e.variableType,a=e.name;return!!("CALCULATED"!==t||n.includes(a))&&!!("COLLECTED"!==t||n.includes(a))})}},getSplitQuestionnaireSource=function(e){var n=e.components,t=e.variables,a=_objectWithoutProperties(e,_excluded$9),i=[],o=[],d=null;return n.map(function(e){var n=e.componentType,t=e.page;// splitting by Sequence or Loop
|
|
747
|
+
return("Sequence"===n||"Loop"===n)&&d!==t?(0<o.length&&i.push(o),o=[e]):o.push(e),d=t,null}),0<o.length&&i.push(o),i.reduce(function(e,n){var i=n[0].page,o=n[n.length-1].page,d=getNestedVars(n)(t),r=getUsefullVariablesFromSource(t)(d);return[].concat(_toConsumableArray(e),[_objectSpread2(_objectSpread2({},a),{},{variables:r,firstPage:i,maxPage:o,components:n})])},[])},getRootPageInSources=function(e){return e.map(function(e){var n=e.components;return n.reduce(function(e,n){var t=n.page;return t?[].concat(_toConsumableArray(e),[t]):e},[])})},mergeStateData=function(e,n){return{COLLECTED:_objectSpread2(_objectSpread2({},e.COLLECTED),n.COLLECTED),CALCULATED:_objectSpread2(_objectSpread2({},e.CALCULATED),n.CALCULATED),EXTERNAL:_objectSpread2(_objectSpread2({},e.EXTERNAL),n.EXTERNAL)}};function styleInject(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===t?a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}var css_248z$o=".lunatic-component .breadcrumb-lunatic {\n width: 100%;\n height: 40px;\n box-sizing: border-box;\n border-radius: 0px;\n background-color: var(--color-primary-light);\n color: white;\n font-weight: bold;\n font-size: 130%;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.lunatic-component .breadcrumb-element-lunatic:before {\n content: \">\";\n color: white;\n margin-left: 0.4em;\n margin-right: 0.4em;\n}";styleInject(".lunatic-component .breadcrumb-lunatic {\n width: 100%;\n height: 40px;\n box-sizing: border-box;\n border-radius: 0px;\n background-color: var(--color-primary-light);\n color: white;\n font-weight: bold;\n font-size: 130%;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.lunatic-component .breadcrumb-element-lunatic:before {\n content: \">\";\n color: white;\n margin-left: 0.4em;\n margin-right: 0.4em;\n}");var Breadcrumb=function(e){var n=e.elements,t=e.style;return/*#__PURE__*/React__default["default"].createElement("div",{"aria-label":"breadcrumb",className:"breadcrumb-lunatic",style:buildStyleObject(t)},n.map(function(n,e){return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,{key:"breadcrumb-".concat(n.toLowerCase())},n&&/*#__PURE__*/React__default["default"].createElement("span",{className:0===e?void 0:"breadcrumb-element-lunatic"},n))}))};Breadcrumb.propTypes={elements:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string).isRequired,style:PropTypes__default["default"].object};var css_248z$n=".button-lunatic {\n min-width: 20%;\n color: white;\n border-color: var(--color-primary-dark);\n background-color: var(--color-primary-dark);\n font-size: 1.5em;\n font-weight: bold;\n padding: 0.4em;\n}\n.button-lunatic:hover, .button-lunatic:focus:hover {\n color: var(--color-primary-dark);\n background-color: white;\n border-color: var(--color-primary-dark);\n}\n.button-lunatic:focus {\n outline: none;\n background-color: var(--color-primary-light);\n border-color: var(--color-primary-light);\n}\n.button-lunatic:disabled {\n background: var(--color-disabled);\n color: var(--color-primary-dark);\n}";styleInject(".button-lunatic {\n min-width: 20%;\n color: white;\n border-color: var(--color-primary-dark);\n background-color: var(--color-primary-dark);\n font-size: 1.5em;\n font-weight: bold;\n padding: 0.4em;\n}\n.button-lunatic:hover, .button-lunatic:focus:hover {\n color: var(--color-primary-dark);\n background-color: white;\n border-color: var(--color-primary-dark);\n}\n.button-lunatic:focus {\n outline: none;\n background-color: var(--color-primary-light);\n border-color: var(--color-primary-light);\n}\n.button-lunatic:disabled {\n background: var(--color-disabled);\n color: var(--color-primary-dark);\n}");var Button=function(e){var n=e.label,t=e.value,a=e.onClick,i=e.disabled,o=e.style,d=e.logFunction,r=e.id;return/*#__PURE__*/React__default["default"].createElement("button",{type:"button","aria-label":n||"button",className:"button-lunatic",style:buildStyleObject(o),disabled:i,onClick:function(t){a(t),isFunction(d)&&d(createObjectEvent("button-lunatic-".concat(r),BUTTON_CATEGORY,EVENT_CLICK,null,n))}},t)};Button.propTypes={value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].element]).isRequired,disabled:PropTypes__default["default"].bool,onClick:PropTypes__default["default"].func.isRequired};var css_248z$m=".lunatic-component .missing-wrapper .missing-buttons {\n margin-top: 1em;\n}\n.lunatic-component .missing-wrapper .missing-buttons .button-lunatic {\n width: 4em;\n font-size: 1em;\n font-weight: normal;\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic {\n background-color: var(--color-very-very-light);\n color: var(--color-primary-dark);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic:hover {\n background-color: white;\n color: var(--color-primary-main);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic {\n background-color: var(--color-primary-dark);\n color: var(--color-very-very-light);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic:hover {\n background-color: var(--color-primary-main);\n color: white;\n}";styleInject(".lunatic-component .missing-wrapper .missing-buttons {\n margin-top: 1em;\n}\n.lunatic-component .missing-wrapper .missing-buttons .button-lunatic {\n width: 4em;\n font-size: 1em;\n font-weight: normal;\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic {\n background-color: var(--color-very-very-light);\n color: var(--color-primary-dark);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button .button-lunatic:hover {\n background-color: white;\n color: var(--color-primary-main);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic {\n background-color: var(--color-primary-dark);\n color: var(--color-very-very-light);\n}\n.lunatic-component .missing-wrapper .missing-buttons .missing-button-active .button-lunatic:hover {\n background-color: var(--color-primary-main);\n color: white;\n}");var Missing=function(e){var n=e.Component,t=e.props,a=t.dontKnowButton,i=void 0===a?"Don't know":a,o=t.refusedButton,d=void 0===o?"Refused":o,r=t.missingResponse,s=t.handleChange,l=t.preferences,u=t.missingStrategy,c=t.missingShortcut,f=void 0===c?{dontKnow:"",refused:""}:c,p=t.response,m=t.responses,g=t.cells,h=t.components,b=t.savingType,y=t.bindings,w=t.shortcut,x=t.componentType,v=t.paginatedLoop,k=getResponseName(r),E=getResponseByPreference(l)(r),S=React.useState(function(){return E}),C=_slicedToArray(S,1),T=C[0],N=React.useState(null),R=_slicedToArray(N,2),P=R[0],_=R[1];React.useEffect(function(){P&&!(E===T)&&(isFunction(u)&&u(P),_(null))},[P,u,E,T]),React.useEffect(function(){null!==E&&hasToCleanMissing(b)({response:p,responses:m,cells:g,components:h})&&s(_defineProperty({},k,null))},[E,s,b,p,m,g,h,k]);var L=function(){return getToClean(b)({response:p,responses:m,cells:g,components:h})},D=function(e){return function(){if(!(E===e)){var n=L();if(Object.keys(n)){var a=t.currentPage,i=getCurrentIterationIndex({currentPage:a});if(s(n),isFunction(u)){var o=t.fullBindings,d=getVarsToHandle({toClean:n,fullBindings:o,currentIterationIndex:i}),r=getMissingBindings({currentIterationIndex:i,bindings:y,fullBindings:o,toHandle:d});_(r)}}else isFunction(u)&&_(y);s(_defineProperty({},k,e))}}};return"Loop"===x&&v||!r?/*#__PURE__*/React__default["default"].createElement(n,t):/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-wrapper"},/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-component"},/*#__PURE__*/React__default["default"].createElement(n,t)),/*#__PURE__*/React__default["default"].createElement("div",{className:"missing-buttons"},/*#__PURE__*/React__default["default"].createElement("span",{className:"missing-button".concat(E===DK?"-active":""," missing-button-dk").concat(E===DK?"-active":"")},/*#__PURE__*/React__default["default"].createElement(Button,{label:"dont-know-button",value:i,disabled:!k||0===(null===k||void 0===k?void 0:k.length),onClick:D(DK)})),/*#__PURE__*/React__default["default"].createElement("span",{className:"missing-button".concat(E===RF?"-active":""," missing-button-rf").concat(E===RF?"-active":"")},/*#__PURE__*/React__default["default"].createElement(Button,{label:"refused-button",value:d,disabled:!k||0===(null===k||void 0===k?void 0:k.length),onClick:D(RF)}))),w&&0<(null===k||void 0===k?void 0:k.length)&&f&&f.dontKnow&&f.refused&&/*#__PURE__*/React__default["default"].createElement(KeyboardEventHandler__default["default"],{handleKeys:Object.values(f),onKeyEvent:function(n,t){t.preventDefault(),n===f.dontKnow&&D(DK)(),n===f.refused&&D(RF)()},handleFocusableElements:!0}))},getCurrentIterationIndex=function(e){var n=e.currentPage,t=splitPage(n,1),a=t.currentIteration;return a?a-1:null},getVarsToHandle=function(e){var n=e.toClean,t=e.fullBindings,a=e.currentIterationIndex;return a||0===a?Object.entries(n).reduce(function(e,n){var i=_slicedToArray(n,2),o=i[0],d=i[1],r=t[o].map(function(e,n){return n===a?d:e});return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},o,r))},{}):n},getMissingBindings=function(e){var n=e.bindings,t=e.fullBindings,a=e.currentIterationIndex,i=e.toHandle;return a||0===a?_objectSpread2(_objectSpread2({},t),i):_objectSpread2(_objectSpread2({},n),i)},css_248z$l=".lunatic-controls .lunatic-control {\n margin-top: 1em;\n color: red;\n}";styleInject(css_248z$l);var Controls=function(e){var n=e.Component,t=e.props,a=t.response,i=t.responses,o=t.cells,d=t.components,r=t.preferences,s=t.missingResponse,l=t.savingType,u=React.useState(function(){return hasToCleanMissing(l)({response:a,responses:i,cells:o,components:d})}),c=_slicedToArray(u,2),f=c[0],p=c[1];// handle responses & cells
|
|
792
748
|
React.useEffect(function(){!f&&hasToCleanMissing(l)({response:a,responses:i,cells:o,components:d})&&p(!0)},[a,i,o,d,f,l]);var m=null!==getResponseByPreference(r)(s),g=t.controls,h=t.features,b=t.bindings,y=h.filter(function(e){return"MD"!==e}),w=(f||m)&&g?g.filter(function(e){var n=e.bindingDependencies,t=e.control,a=(n||[]).reduce(function(e,n){return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},n,b[n]))},{}),i=buildVectorialBindings(a);return!0!==interpret(y)(i)(t)},[]):[];return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(n,t),/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-controls"},w.map(function(e){var n=e.id,t=e.errorMessage;return/*#__PURE__*/React__default["default"].createElement("div",{key:"control-".concat(n),className:"lunatic-control"},t)})))},componentWrapper=function(e){return function(n){var t=n.missing,a=n.controls,i=n.componentType,o=hasControls(a,i);if(t&&!o)return/*#__PURE__*/React__default["default"].createElement(Missing,{Component:e,props:n});if(!t&&o)return/*#__PURE__*/React__default["default"].createElement(Controls,{Component:e,props:n});if(t&&o){var d=function(){return/*#__PURE__*/React__default["default"].createElement(Controls,{Component:e,props:n})};return/*#__PURE__*/React__default["default"].createElement(Missing,{Component:d,props:n})}return/*#__PURE__*/React__default["default"].createElement(e,n)}},hasControls=function(e,n){return Array.isArray(e)&&0<e.length||["InputNumber","Datepicker"].includes(n)},getState=function(e){var n=e.variables,t;return t={},_defineProperty(t,CALCULATED,getCalculatedFromVariables(n)),_defineProperty(t,COLLECTED,getCollectedState(e)),_defineProperty(t,EXTERNAL,getExternalFromVariables(n)),t},getCollectedState=function(e){var n=e.variables;return n&&n[COLLECTED]&&Object.entries(n[COLLECTED]).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1].values;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i))},{})||{}},getCalculatedFromVariables=function(e){return e&&e[CALCULATED]?Object.entries(e[CALCULATED]).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1].value;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},a,i))},{}):{}},getExternalFromVariables=function(e){return e&&e[EXTERNAL]||{}},getCollectedStateByValueType=function(e,n){return function(t,a){return["PREVIOUS","COLLECTED","FORCED","EDITED","INPUTED"].includes(t)?Object.entries(n||getCollectedState(e)).reduce(function(e,n){return a||null!==n[1][t]?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},n[0],n[1][t])):e},{}):{}}},getBindings=function(e){if(isDev){console.log("Get bindings");var n=new Date().getTime()}var t=e.variables,a=_objectSpread2(_objectSpread2(_objectSpread2({},getCollectedStateByValueType(e)("COLLECTED",!0)),getCalculatedFromVariables(t)),getExternalFromVariables(t));return isDev&&console.log("End get bindings: ".concat(new Date().getTime()-n," ms")),a},cache={},customFilterPagination=function(e,n,t){var a=e.page;return!n||(null===t||void 0===t?void 0:t.split(".")[0])===a},filterComponents=function(e){var n=e.components,t=e.updatedVars,a=e.features,i=e.bindings,o={},d=n.filter(function(e){var n=e.conditionFilter;if(!n||!n.value)return!0;var d=n.bindingDependencies,r=n.value;if(void 0!==o[r])return o[r];if((!d||!t.some(function(e){return d.includes(e)}))&&void 0!==cache[r])return cache[r];var s=buildVectorialBindings(i),l=interpret(a)(s)(r);return o[r]=l,l});return cache=_objectSpread2(_objectSpread2({},cache),o),d},buildComponents=function(e){var n=e.components,t=e.management,a=e.bindings,i=e.features,o=e.page,d=e.pagination,r=e.todo;if(t&&!d)return n;if(t&&d)return n.filter(function(e){return customFilterPagination(e,d,o)});if(isDev){console.log("Start filter");var s=new Date().getTime()}var l=Object.keys(r);if(!d){var u=filterComponents({components:n,updatedVars:l,features:i,bindings:a});return isDev&&console.log("End filter: ".concat(new Date().getTime()-s," ms")),u}var c=n.filter(function(e){return customFilterPagination(e,d,o)}),f=filterComponents({components:c,updatedVars:l,features:i,bindings:a});return isDev&&console.log("End filter: ".concat(new Date().getTime()-s)),f},oldComponents=[],memoryTodo={},useFilterComponents=function(e){var n=e.questionnaire,t=e.management,a=e.bindings,i=e.features,o=e.page,d=e.pagination,r=e.todo;if(0<Object.keys(r).length)return memoryTodo=r,oldComponents;var s=buildComponents({components:n.components,management:t,bindings:a,features:i,page:o,pagination:d,todo:memoryTodo});return oldComponents=s,s},STORE_DATA_NAME="store/entities",STORE_INFO_NAME="store/info",STORE_INDEX_NAME="store/entities/index",STORE_INDEX_PATH="searching",MAX_STRING=String.fromCharCode(65535),SEARCH_TYPES={prefix:"search/prefix",tokens:"search/tokens"},CONSTANTES={STORE_DATA_NAME:STORE_DATA_NAME,STORE_INDEX_NAME:STORE_INDEX_NAME,STORE_INDEX_PATH:STORE_INDEX_PATH,MAX_STRING:MAX_STRING,SEARCH_TYPES:SEARCH_TYPES,STORE_INFO_NAME:STORE_INFO_NAME};/* eslint-disable no-restricted-globals */function getIDB(){var e=self||window;return e.indexedDB||e.mozIndexedDB||e.webkitIndexedDB||e.msIndexedDB}var IDB_REF$1=getIDB();function onSuccessDefault(n,e){e(n.result)}function onUpgradeNeededDefault(){throw new Error("Upgrade needed hook required!")}function onErrorDefault(n,e,t){t(n.error)}function createDbOpener(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},n=e.onSuccess,t=void 0===n?onSuccessDefault:n,a=e.onUpgradeNeeded,i=void 0===a?onUpgradeNeededDefault:a,o=e.onError,d=void 0===o?onErrorDefault:o;return function(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1;return new Promise(function(a,o){IDB_REF$1||o("indexedDb not supported !");var r=IDB_REF$1.open(e,n);r.onupgradeneeded=function(n){i(n,a,o)},r.onsuccess=function(n){t(n,a,o)},r.onerror=function(n){d(n,a,o)}})}}/* eslint-disable no-restricted-globals */function onUpgradeNeeded$1(n,e,t){n.target.transaction.abort(),t({message:"base seems to need an upgrade!"})}function onSuccess$1(n,e){e(n.target.result)}var openDb=createDbOpener({onUpgradeNeeded:onUpgradeNeeded$1,onSuccess:onSuccess$1});function clearStore(){return _clearStore.apply(this,arguments)}function _clearStore(){return _clearStore=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(e,n){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:new Promise(function(t,a){try{var i=e.transaction(n,"readwrite");i.oncomplete=function(){t(!0)};var o=i.objectStore(n);o.clear()}catch(n){a(n)}});case 1:case"end":return t.stop();}},t)})),_clearStore.apply(this,arguments)}function get$1(e,n,t){return new Promise(function(a,i){var o=e.transaction(n,"readwrite"),d=o.objectStore(n),r=d.get(t);o.onerror=function(){i(o.error)},r.onsuccess=function(){a(r.result)}})}/* eslint-disable no-restricted-globals */function onUpgradeNeeded(n,e,t){try{n.target.onsuccess=function(){// Block success event!
|
|
793
749
|
};var a=n.target.result,i=a.createObjectStore(CONSTANTES.STORE_DATA_NAME,{keyPath:"id"});a.createObjectStore(CONSTANTES.STORE_INFO_NAME,{keyPath:"name"}),i.createIndex(CONSTANTES.STORE_INDEX_NAME,"tokens",{multiEntry:!0});var o=n.target.transaction;o.oncomplete=function(){e(a)}}catch(n){t(n)}}function onSuccess(n,e){e(n.target.result)}createDbOpener({onUpgradeNeeded:onUpgradeNeeded,onSuccess:onSuccess});var BULK_INSERT_MESSAGES={bulkInsertComplete:{type:"bulk-insert/complete"},bulkInsertFinished:{type:"bulk-insert/finished"},bulkInsertError:{type:"bulk-insert/error"}},IDB_REF=getIDB();/* eslint-disable no-restricted-globals */function openStorage(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1;return new Promise(function(t,a){IDB_REF||a("indexedDb not supported !");var i=IDB_REF.open(e,n),o=!0,d;i.onupgradeneeded=function(n){o=!1,d=n.target.result;var e=d.createObjectStore(CONSTANTES.STORE_DATA_NAME,{keyPath:"id"});d.createObjectStore(CONSTANTES.STORE_INFO_NAME,{keyPath:"name"}),e.createIndex(CONSTANTES.STORE_INDEX_NAME,"tokens",{multiEntry:!0});var a=n.target.transaction;a.oncomplete=function(){t(d)}},i.onsuccess=function(){o&&t(i.result)},i.onerror=function(n){a(n)}})}function update(e,n){return new Promise(function(t,a){try{var i=e.transaction(CONSTANTES.STORE_INFO_NAME,"readwrite"),o=i.objectStore(CONSTANTES.STORE_INFO_NAME),d=o.add(n);d.onsuccess=function(){t("success")},d.onerror=function(n){a(n)}}catch(n){a(n)}})}function clear$2(){return _clear$1.apply(this,arguments)}function _clear$1(){return _clear$1=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function n(e){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,clearStore(e,CONSTANTES.STORE_DATA_NAME);case 2:case"end":return n.stop();}},n)})),_clear$1.apply(this,arguments)}function clear$1(){return _clear.apply(this,arguments)}function _clear(){return _clear=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function n(e){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,clearStore(e,CONSTANTES.STORE_INFO_NAME);case 2:case"end":return n.stop();}},n)})),_clear.apply(this,arguments)}// Enable cross domain workers
|
|
794
750
|
var testSameOrigin=function(e){var n=window.location,t=document.createElement("a");return t.href=e,t.hostname===n.hostname&&t.port===n.port&&t.protocol===n.protocol},createWorkerFallback=function(n){console.log("Create worker for MFE");var t=null;try{var a;try{a=new Blob(["importScripts('".concat(n,"');")],{type:"application/javascript"})}catch(t){var i=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder);i.append("importScripts('".concat(n,"');")),a=i.getBlob("application/javascript")}var o=window.URL||window.webkitURL,d=o.createObjectURL(a);t=new Worker(d)}catch(e){console.error("Lunatic-worker : Failed to load web worker : ".concat(n))}return t},createWorker=function(n){var t=null;try{testSameOrigin(n)?(console.log("Trying create classic worker"),t=new Worker(n),t.onerror=function(e){e.preventDefault(),t=createWorkerFallback(n)}):t=createWorkerFallback(n)}catch(a){t=createWorkerFallback(n)}return t},workerPath$1=process.env.LUNATIC_LOADER_WORKER_PATH||process.env.REACT_APP_LUNATIC_LOADER_WORKER_PATH||"workers/lunatic-loader-worker-0.1.0.js",loadSuggesters=function(e){return/*#__PURE__*/function(){var n=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(n){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:Object.entries(n).forEach(/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function n(e){var t,a,i,o,d;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=_slicedToArray(e,2),a=t[0],i=t[1],o=i.version,n.next=4,openStorage(a,o);case 4:if(d=n.sent,!d){n.next=12;break}return n.next=8,clear$2(d);case 8:return n.next=10,clear$1(d);case 10:return n.next=12,update(d,i);case 12:case"end":return n.stop();}},n)}));return function(){return e.apply(this,arguments)}}()),Object.entries(n).forEach(function(n){var t=_slicedToArray(n,2),a=t[0],i=t[1],o=i.url,d=i.version,r=i.fields,s=i.stopWords,l=e||fetch;l(o).then(/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function n(e){var t,i,o,l,u;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.json();case 2:return t=n.sent,i=task$1({name:a,fields:r,stopWords:s},d),o=_slicedToArray(i,2),l=o[0],u=o[1],n.next=6,l(t);case 6:u();case 7:case"end":return n.stop();}},n)}));return function(){return e.apply(this,arguments)}}())});case 2:case"end":return t.stop();}},t)}));return function(){return n.apply(this,arguments)}}()};/**
|
|
795
751
|
* Only with Worker
|
|
796
|
-
*/function task$1(e,n){function t(){s&&(l=!0,r.terminate())}var a=e.name,i=e.fields,o=e.stopWords,d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:function(){return null},r=createWorker(workerPath$1),s=!1,l=!1;return[function(e){var t=1<arguments.length&&arguments[1]!==void 0?arguments[1]:function(){return null};return new Promise(function(u){s=!0,r.postMessage({name:a,version:n,fields:i,entities:e,stopWords:o}),r.addEventListener("message",function(n){var e=n.data;"success"===e?(!l&&t(),u(e)):d(e)})})},t]}var useLunatic=function(e
|
|
752
|
+
*/function task$1(e,n){function t(){s&&(l=!0,r.terminate())}var a=e.name,i=e.fields,o=e.stopWords,d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:function(){return null},r=createWorker(workerPath$1),s=!1,l=!1;return[function(e){var t=1<arguments.length&&arguments[1]!==void 0?arguments[1]:function(){return null};return new Promise(function(u){s=!0,r.postMessage({name:a,version:n,fields:i,entities:e,stopWords:o}),r.addEventListener("message",function(n){var e=n.data;"success"===e?(!l&&t(),u(e)):d(e)})})},t]}var defaultData$1={},defaultPreferences$1=[COLLECTED],defaultFeatures$1=["VTL"],useLunatic=function(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:defaultData$1,t=2<arguments.length?arguments[2]:void 0,a=t.savingType,i=void 0===a?COLLECTED:a,o=t.preferences,d=void 0===o?defaultPreferences$1:o,r=t.features,s=void 0===r?defaultFeatures$1:r,l=t.management,u=void 0!==l&&l,c=t.pagination,f=void 0!==c&&c,p=t.modalForControls,m=void 0!==p&&p,g=t.initialPage,h=void 0===g?"1":g,b=t.logFunction,y=void 0===b?null:b,w=t.autoSuggesterLoading,x=void 0!==w&&w,v=t.suggesterFetcher,k=t.suggesters;if(isDev){console.log("useLunatic");var E=new Date().getTime()}var S=React.useState(!1),C=_slicedToArray(S,2),T=C[0],N=C[1],R=s.filter(function(e){return"MD"!==e}),P=React.useState(function(){return mergeQuestionnaireAndData(e)(n||{})}),_=_slicedToArray(P,2),L=_[0],D=_[1],I=React.useState(function(){return getBindings(L)}),O=_slicedToArray(I,2),z=O[0],A=O[1],M=React.useState(h),U=_slicedToArray(M,2),F=U[0],W=U[1],B=React.useState({}),j=_slicedToArray(B,2),H=j[0],V=j[1],q=React.useState({}),Q=_slicedToArray(q,2),Y=Q[0],K=Q[1],$=React.useState(null),X=_slicedToArray($,2),G=X[0],Z=X[1],J=useFilterComponents({questionnaire:L,management:u,bindings:z,features:R,page:F,pagination:f,todo:_objectSpread2(_objectSpread2({},H),Y)}),ee=e.suggesters;React.useEffect(function(){var e=/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:x&&"object"===_typeof(k)&&0<Object.values(k).length&&(n=ee.reduce(function(e,n){var t=n.name;return k[t]?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,_objectSpread2(_objectSpread2({},n),{},{url:k[t].url,stopWords:k[t].stopWords}))):e},{}),loadSuggesters(v)(n));case 1:case"end":return e.stop();}},e)}));return function(){return e.apply(this,arguments)}}();e()},[x,v,k,ee]);var ne=React.useState(FLOW_NEXT),te=_slicedToArray(ne,2),ae=te[0],ie=te[1],oe=e.maxPage,de="1"===F,re=F===oe;// TODO: dynamic because of filters (kind of last accessible page)
|
|
797
753
|
React.useEffect(function(){!T&&J&&0===J.length?// no component for initialPage, get next page
|
|
798
754
|
W(getPage({components:L.components,bindings:z,currentPage:F,features:R,flow:FLOW_NEXT,management:u})):!T&&J&&0<J.length&&// initialPage is correct, end of initPage
|
|
799
|
-
N(!0)},[T,J,L.components,z,F,R,u]);var se=React.useCallback(function(e){V(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]),le=React.useCallback(function(e){K(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]);React.useEffect(function(){D(mergeQuestionnaireAndData(e)(n))},[e]),React.useEffect(function(){if(0!==Object.keys(H).length){var e=updateQuestionnaire(i)(L)(d,y)(H);A(getBindings(e)),D(e),V({})}},[H,d,y,L,i,s,u]),React.useEffect(function(){if(0!==Object.keys(Y).length){var e=updateExternals(L)(y)(Y);D(e),K({})}},[Y,y,L]);var ue=f&&G?[{componentType:"Modal",controls:G.controls,validateModal:function(){W(G.page),Z(null)},cancelModal:function(){Z(null)}}].concat(_toConsumableArray(J)):J;return isDev&&console.log("End useLunatic: ".concat(new Date().getTime()-E," ms")),{questionnaire:L,handleChange:se,handleExternals:le,components:ue,bindings:z,pagination:{page:F,maxPage:oe,goNext:function(e,n){if(!re){ae!==FLOW_NEXT&&ie(FLOW_NEXT);var t=getPage({components:L.components,bindings:n||z,currentPage:F,featuresWithoutMD:R,flow:FLOW_NEXT,management:u});if(m){var a=getControls({page:F,features:R,components:J,bindings:z,preferences:d});0<a.length?Z({page:t,controls:a}):W(t)}else W(t)}},goPrevious:function(){if(!de){ae!==FLOW_PREVIOUS&&ie(FLOW_PREVIOUS);var e=getPage({components:L.components,bindings:z,currentPage:F,featuresWithoutMD:R,flow:FLOW_PREVIOUS,management:u});if(m){var n=getControls({page:F,features:R,components:J,bindings:z,preferences:d});0<n.length?Z({page:e,controls:n}):W(e)}else W(e)}},isFirstPage:de,isLastPage:re,setPage:W}}},useLunaticSplit=function(e
|
|
800
|
-
React.useEffect(function(){if(!
|
|
801
|
-
},[le,r,w,j,o,l,c]),React.useEffect(function(){if(0!==Object.keys(pe).length){var e=updateExternals(j)(w)(pe);H(e),me({})}},[pe,w,j]);var Ae=p&&be?[{componentType:"Modal",controls:be.controls,validateModal:function(){var e=be.confirm;e&&e(),ye(null)},cancelModal:function(){ye(null)}}].concat(_toConsumableArray(we)):we;return isDev&&console.log("End useLunaticSplit: ".concat(new Date().getTime()-S," ms")),{questionnaire:j,handleChange:Oe,handleExternals:ze,components:Ae,bindings:Q,allBindings:X,state:{getState:a,getCollectedState:te,getCollectedStateByValueType:function(e){return function(n,t){return getCollectedStateByValueType(null,te(e))(n,t)}},getBindings:function(e){var n=getBindings(e);return _objectSpread2(_objectSpread2({},X),n)}},pagination:{page:oe,maxPage:C[C.length-1].maxPage,goNext:function(e,n){if(!(Re&&_e)){Ee!==FLOW_NEXT&&Se(FLOW_NEXT);var t=getPage({components:j.components,bindings:n||Q,currentPage:oe,featuresWithoutMD:F,flow:FLOW_NEXT,management:c}),a=t?function(){return de(t)}:Le;if(g){var i=getControls({page:oe,features:F,components:we,bindings:Q,preferences:r});0<i.length?ye({confirm:a,controls:i}):a()}else a()}},goPrevious:function(){if(!(Ne&&Pe)){Ee!==FLOW_PREVIOUS&&Se(FLOW_PREVIOUS);var e=getPage({components:j.components,bindings:Q,currentPage:oe,featuresWithoutMD:F,flow:FLOW_PREVIOUS,management:c}),n=e?function(){return de(e)}:De;if(g){var t=getControls({page:oe,features:F,components:we,bindings:Q,preferences:r});0<t.length?ye({confirm:n,controls:t}):n()}else n()}},isFirstPage:Ne&&Pe,isLastPage:Re&&_e,setPage:Ie}}},css_248z$k="@charset \"UTF-8\";\n.lunatic-component .declarations-lunatic {\n margin-bottom: 0.4rem;\n}\n.lunatic-component .declaration-instruction {\n font-style: italic;\n font-size: 80%;\n}\n.lunatic-component .declaration-comment {\n font-size: 80%;\n}\n.lunatic-component .declaration-statement {\n font-style: italic;\n font-size: 80%;\n color: blue;\n}\n.lunatic-component .declaration-help {\n font-style: italic;\n font-size: 80%;\n color: green;\n}\n.lunatic-component .declaration-warning {\n font-style: bold;\n font-size: 80%;\n color: red;\n}\n.lunatic-component .declaration-message_filter {\n font-size: 100%;\n color: #494242;\n}\n.lunatic-component .declaration-message_filter:before {\n content: \"\u2192 \";\n}";styleInject(css_248z$k);var Declarations=function(e){var n=e.id,t=e.type,a=e.declarations,i=e.features,o=e.bindings,d=e.logFunction,r=a.filter(function(e){var n=e.position;return n===t});return 0===r.length?null:/*#__PURE__*/React__default["default"].createElement("div",{id:"declarations-".concat(n,"-").concat(t),className:"declarations-lunatic"},r.map(function(e){var n=e.id,t=e.label,a=e.declarationType;return/*#__PURE__*/React__default["default"].createElement("div",{key:"".concat(n),className:"declaration-lunatic declaration-".concat(a.toLowerCase())},interpret(i,d)(o)(t))}))};Declarations.defaultProps={type:"AFTER_QUESTION_TEXT",declarations:[],features:[],bindings:{}},Declarations.propTypes={id:PropTypes__default["default"].string.isRequired,type:PropTypes__default["default"].string,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object};var RadioChecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},RadioUnchecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},CheckboxChecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}))},CheckboxUnchecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},css_248z$j=".lunatic-component .list-icon-wrapper:focus-within svg {\n fill: var(--color-primary-dark);\n}\n.lunatic-component .list-icon {\n position: absolute;\n margin-top: -0.1rem;\n}\n.lunatic-component .list-icon.list-icon-disabled svg {\n background-color: var(--color-disabled);\n}";styleInject(css_248z$j);var Content=function(e){var n=e.type,t=e.checked;return"radio"===n?t?/*#__PURE__*/React__default["default"].createElement(RadioChecked,null):/*#__PURE__*/React__default["default"].createElement(RadioUnchecked,null):"checkbox"===n?t?/*#__PURE__*/React__default["default"].createElement(CheckboxChecked,null):/*#__PURE__*/React__default["default"].createElement(CheckboxUnchecked,null):null},Icon$1=function(e){var n=e.type,t=e.checked,a=e.disabled,i=e.children;return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement("span",{className:"list-icon-wrapper"},/*#__PURE__*/React__default["default"].createElement("span",{className:"list-icon ".concat(a?"list-icon-disabled":"")},/*#__PURE__*/React__default["default"].createElement(Content,{type:n,checked:t})),i))},img$2=new Image;img$2.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAAGEMEXHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABjUExURf///8Xn9XrH6Va44zKp3Eiy4GW+5b7j9Kja8Bme2CSj2p7W7vH5/UGv34XM69vw+czq9iCh2ZbT7bfg82W94+33/Njt92zB5k+14XPE6On2+4vN6sLl9Mno9i+n3Cum2wAAAIfAWccAAAAhdFJOU///////////////////////////////////////////AJ/B0CEAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAEVSURBVChTVVIBcsMgDFODm2JKIFnTbvv/Ryfb0F11Z4ptWYBSYL8wFBk34A7kLwDCUIbBfkcIHppsM2tIVy61exRoQ0LFaa2NhLSiP7l/MA7no6rsdd+UI5SINQSvZKVsBXSB7N4plnFRyihxxrFdtxeep5qwYRFZx1ZK6735IMrmJSQOZR9sXKWZSKeaVdQVfftOirdG8kHjhXlFxZ0ZWezpwrclo4Q69ZUWZj28BPyobmbCQPYxR6HdE53leLyBpGIGEELHP7GGtB/DIyds+mathZ/BEBefyNSRMJxDwRggcXbMlSlGsPM9uWHpgKnRgPB/zBCd/yStLB3z1hK6wO+8zn7o+7sx47v/s9oOdgdoLAD8AWlNC8M57XWRAAAAAElFTkSuQmCC";var img$1=new Image;img$1.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAMAAAFiGY6DAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABUUExURf///6zc8Uiy4PH5/d/x+b7j9Bme2DKp3CSj2la442W+5YnN61O34nrH6Z7W7tDr9yCh2bfg8+33/HPE6EGv35bT7U+14czq9nDD56XZ7+n2+wAAAJWny4EAAAAcdFJOU////////////////////////////////////wAXsuLXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKElEQVQoU2VSC3bDIAwzJRM0hCb0ldfd/6STDFm7TgnEX2GbGHExQ4PZoc0scT0MgC/6xkqZ+tC0x6y4E4zlU5VAs8I2Wrv0/PL/xzih4gKsCJVB1RZKsvXYrJntG7gXrM/ddgZ3JPDtBRHFSQYG1Ylgy9cUhStwdaGKO6tAdX0wCQi5tUyzK6oYYNHB+aDDBXhHcjtu09uHKgfTYGTUXMRDtCOU7HUU8ShH1CdWdj1FoS/3k+4vyB3Se6KV8tv6Bamm2Z3d+GWvuNmel4WC7A9+OUcV9AKr5PHEJHIxavjui4mOisf0/B7uiqwTrp9/gisa0wuycLTs3zlI2yl7QpTvDR8FlXy3jWq3hqBYjYpXPy/A7Lmu33GIMR1r3z6OPnFngYFXbfYDTw4LkdQNpj4AAAAASUVORK5CYII=";var img=/*#__PURE__*/Object.freeze({__proto__:null,editedImg:img$2,forcedImg:img$1}),css_248z$i="* {\n box-sizing: border-box;\n --color-primary-dark: #2a5885;\n --color-primary-light: #5181b8;\n --color-primary-main: #4a73a4;\n --color-primary-contrast-text: #ffffff;\n --color-secondary-dark: #14202d;\n --color-secondary-light: #f7f8fa;\n --color-secondary-main: #1a293b;\n --color-secondary-contrast-text: #ffffff;\n --color-very-light: #dbe4ef;\n --color-very-very-light: #e6eaee;\n --color-current-item: #0d823e;\n --color-error: #f50c0c;\n --color-disabled: rgb(235, 235, 228);\n --color-prefix: cornflowerblue;\n --color-dropdown-active: rgba(0, 0, 0, 0.04);\n --color-dropdown-selected: rgba(0, 0, 0, 0.08);\n --dropdown-transition-time: 0.5s;\n}\n\n.lunatic-component {\n /* refactor proposition */\n /******/\n}\n.lunatic-component .mandatory:after {\n content: \" *\";\n color: red;\n}\n.lunatic-component .horizontal-options {\n display: inline-block;\n margin-right: 2em;\n}\n.lunatic-component label,\n.lunatic-component legend,\n.lunatic-component .subsequence-lunatic,\n.lunatic-component .lunatic-dropdown-label,\n.lunatic-component .lunatic-dropdown-label focused {\n color: var(--color-primary-dark);\n background-color: var(--color-primary-contrast-text);\n border: 0;\n padding: 0;\n font-size: 0.75rem;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 0.75rem;\n font-weight: bold;\n margin-bottom: 0.375rem;\n}\n.lunatic-component .lunatic-component-container {\n display: flex;\n}\n.lunatic-component .lunatic-component-container.label-left-ex {\n flex-direction: row;\n align-items: baseline;\n}\n.lunatic-component .lunatic-component-container.label-left-ex .lunatic-label {\n margin-right: 1em;\n}\n.lunatic-component .lunatic-component-container.label-right-ex {\n flex-direction: row-reverse;\n align-items: baseline;\n}\n.lunatic-component .lunatic-component-container.label-right-ex .lunatic-label {\n margin-left: 1em;\n}\n.lunatic-component .lunatic-component-container.label-top-ex {\n flex-direction: column;\n}\n.lunatic-component .lunatic-component-container.label-bottom-ex {\n flex-direction: column-reverse;\n}\n.lunatic-component .label-top {\n display: flex;\n flex-direction: column;\n}\n.lunatic-component .label-bottom {\n display: flex;\n flex-direction: column-reverse;\n}\n.lunatic-component .label-right {\n justify-content: flex-end;\n display: flex;\n flex-direction: row-reverse;\n align-items: baseline;\n}\n.lunatic-component .label-right :first-child {\n margin-right: 1rem;\n}\n.lunatic-component .label-left {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n.lunatic-component .label-left :first-child {\n margin-right: 1rem;\n}\n.lunatic-component .field-container {\n display: flex;\n}\n.lunatic-component .modality-label p {\n display: inline;\n}\n.lunatic-component .tooltip {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.lunatic-component .field-with-tooltip {\n width: calc(100% - 25px);\n position: relative;\n}\n.lunatic-component .field {\n width: 100%;\n position: relative;\n}\n.lunatic-component .field,\n.lunatic-component .field-with-tooltip {\n display: flex;\n}\n.lunatic-component .field .unit,\n.lunatic-component .field-with-tooltip .unit {\n margin: auto 0;\n color: var(--color-primary-dark);\n font-weight: bold;\n}\n.lunatic-component .link-md .field-md {\n border-bottom: dashed 0.1em var(--color-primary-dark);\n}\n.lunatic-component .link-md .field-md:hover {\n cursor: help;\n color: var(--color-primary-contrast-text);\n background-color: var(--color-primary-dark);\n}\n.lunatic-component .link-md .tooltip-content {\n min-width: 15em;\n max-width: 25em;\n background: var(--color-primary-dark);\n color: var(--color-primary-contrast-text);\n padding: 0.5em;\n border-radius: 6px;\n font-size: 1em;\n}\n.lunatic-component .link-md .tooltip-content.place-bottom::before {\n border-bottom: 10px solid var(--color-primary-dark);\n}\n.lunatic-component .link-md .tooltip-content.place-bottom::after {\n content: none;\n}\n\n.lunatic-component {\n /* Tooltip container */\n /* Tooltip text */\n}\n.lunatic-component .tooltip-lunatic {\n position: relative;\n display: inline-block;\n align-items: center;\n}\n.lunatic-component .tooltip-lunatic .tooltip-text {\n min-width: 10em;\n max-width: 20em;\n background-color: var(--color-primary-dark);\n color: #fff;\n padding: 0.5em;\n border-radius: 6px;\n font-size: 1em;\n}\n.lunatic-component .tooltip-lunatic .tooltip-text.place-left::before {\n border-left: 10px solid var(--color-primary-dark);\n}\n.lunatic-component .tooltip-lunatic .tooltip-text.place-left::after {\n content: none;\n}";styleInject(css_248z$i);var TooltipResponse=function(e){var n=e.id,t=e.response,a=React.useState(function(){return buildTooltip(t)}),i=_slicedToArray(a,2),o=i[0],d=i[1];React.useEffect(function(){d(buildTooltip(t))},[t]);var r=o.content,s=o.imgName;if(!r)return null;var l=r.map(function(e){var n=e.key,t=e.value;return"".concat(n," : ").concat(t,"<br />")}).join("");return/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip-lunatic"},/*#__PURE__*/React__default["default"].createElement("span",{"data-for":"".concat(n,"-management-tooltip"),"data-tip":l,"data-multiline":!0},/*#__PURE__*/React__default["default"].createElement("img",{id:n,alt:"img-tooltip",src:img[s].src||img[s]})),/*#__PURE__*/React__default["default"].createElement(ReactTooltip__default["default"],{id:"".concat(n,"-management-tooltip"),className:"tooltip-text",place:"left"}))};TooltipResponse.defaultProps={response:{}},TooltipResponse.propTypes={id:PropTypes__default["default"].string,response:response};var css_248z$h=".lunatic-component .checkbox-group,\n.lunatic-component .checkbox-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n}\n.lunatic-component .checkbox-lunatic,\n.lunatic-component .checkbox-boolean-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.15rem;\n margin-left: 0.2rem;\n height: 18px;\n width: 18px;\n}\n.lunatic-component .checkbox-lunatic + label,\n.lunatic-component .checkbox-boolean-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .checkbox-lunatic:focus + label,\n.lunatic-component .checkbox-boolean-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .checkbox-boolean-lunatic + label::before {\n margin-right: -0.3rem;\n}\n.lunatic-component .checkbox-modality,\n.lunatic-component .checkbox-boolean-modality {\n margin-bottom: 0.6rem;\n}\n.lunatic-component .field .checkbox-group-list .checkbox-modality,\n.lunatic-component .field-with-tooltip .checkbox-group-list .checkbox-modality {\n height: 1.375em;\n}\n.lunatic-component .checkbox-group .modality_NR,\n.lunatic-component .checkbox-group-list .modality_NR {\n margin-top: 1.5em;\n}\n.lunatic-component .checkbox-group .horizontal-options.modality_NR,\n.lunatic-component .checkbox-group-list .horizontal-options.modality_NR {\n margin-top: 0;\n}\n.lunatic-component .checkbox-group .checkbox-modality label,\n.lunatic-component .checkbox-group-list .checkbox-modality label {\n display: flex;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block.horizontal-options label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .checkbox-lunatic + label {\n margin-top: 0.325em;\n}\n.lunatic-component .checkbox-alone {\n margin-left: 0;\n margin-top: 0.5em;\n}";styleInject(".lunatic-component .checkbox-group,\n.lunatic-component .checkbox-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n}\n.lunatic-component .checkbox-lunatic,\n.lunatic-component .checkbox-boolean-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.15rem;\n margin-left: 0.2rem;\n height: 18px;\n width: 18px;\n}\n.lunatic-component .checkbox-lunatic + label,\n.lunatic-component .checkbox-boolean-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .checkbox-lunatic:focus + label,\n.lunatic-component .checkbox-boolean-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .checkbox-boolean-lunatic + label::before {\n margin-right: -0.3rem;\n}\n.lunatic-component .checkbox-modality,\n.lunatic-component .checkbox-boolean-modality {\n margin-bottom: 0.6rem;\n}\n.lunatic-component .field .checkbox-group-list .checkbox-modality,\n.lunatic-component .field-with-tooltip .checkbox-group-list .checkbox-modality {\n height: 1.375em;\n}\n.lunatic-component .checkbox-group .modality_NR,\n.lunatic-component .checkbox-group-list .modality_NR {\n margin-top: 1.5em;\n}\n.lunatic-component .checkbox-group .horizontal-options.modality_NR,\n.lunatic-component .checkbox-group-list .horizontal-options.modality_NR {\n margin-top: 0;\n}\n.lunatic-component .checkbox-group .checkbox-modality label,\n.lunatic-component .checkbox-group-list .checkbox-modality label {\n display: flex;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block.horizontal-options label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .checkbox-lunatic + label {\n margin-top: 0.325em;\n}\n.lunatic-component .checkbox-alone {\n margin-left: 0;\n margin-top: 0.5em;\n}");var CheckboxGroup=function(e){var n=e.id,t=e.label,a=e.preferences,o=e.responses,d=e.handleChange,r=e.disabled,s=e.focused,l=e.shortcut,u=e.positioning,c=e.declarations,f=e.features,p=e.bindings,m=e.management,g=e.style,h=e.logFunction,b=g.fieldsetStyle,y=g.modalityStyle,w=React.useRef(),x=React.useState(function(){return o.map(function(e){var n=e.response;return getResponseByPreference(a)(n)})}),v=_slicedToArray(x,2),k=v[0],E=v[1],S=debounce__default["default"](function(e){return d(e)},50),C=function(n){var e=_slicedToArray(Object.entries(n)[0],2),t=e[0],i=e[1];!1===i&&responsesToClean(o)(a)(t)?S(_defineProperty({},t,null)):S(n)};React.useEffect(function(){var e=o.map(function(e){var n=e.response;return getResponseByPreference(a)(n)});e.join("|")!==k.join("|")&&E(e)},[o,a]),React.useEffect(function(){s&&w.current.focus()},[s]);var T=[];return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:c,features:f,bindings:p}),/*#__PURE__*/React__default["default"].createElement("fieldset",{key:"checkbox-".concat(n),className:"checkbox-group-list",style:buildStyleObject(b)},/*#__PURE__*/React__default["default"].createElement("legend",null,interpret(f,h)(p)(t)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:c,features:f,bindings:p}),o.map(function(e,t){var a=e.id,i=e.label,d=e.response,s=k[t];s&&T.push(a);var c=0===t||T[0]&&T[0]===a,g=interpret(f)(p)(i),b=10>o.length?"".concat(t+1):getAlphabet()[t];return/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(getItemsPositioningClass(u)),key:"checkbox-".concat(n,"-").concat(a)},/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(m?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement("div",{className:"checkbox-modality ".concat(s?"content-checked":"")},/*#__PURE__*/React__default["default"].createElement(Icon$1,{type:"checkbox",checked:s,disabled:r},/*#__PURE__*/React__default["default"].createElement("input",{type:"checkbox",id:"checkbox-".concat(n,"-").concat(a),ref:c?w:null,key:"checkbox-".concat(n,"-").concat(a),"aria-labelledby":"input-label-".concat(n,"-").concat(a),className:"checkbox-lunatic",checked:s||!1,disabled:r,onChange:function(e){var i=e.target.checked;E(k.map(function(e,n){return t===n?i:e})),C(_defineProperty({},getResponseName(d),i)),isFunction(h)&&h(createObjectEvent("checkbox-".concat(n,"-").concat(a),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(d),i))}}),/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-".concat(n,"-").concat(a),id:"input-label-".concat(n,"-").concat(a),style:s?buildStyleObject(y):{},className:"modality-label"},l&&/*#__PURE__*/React__default["default"].createElement("span",{className:"code-modality"},b.toUpperCase()),g)))),m&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:n,response:buildBooleanTooltipResponse(d)}))),l&&/*#__PURE__*/React__default["default"].createElement(KeyboardEventHandler__default["default"],{handleKeys:[b.toLowerCase()],onKeyEvent:function(i,o){o.preventDefault(),E(k.map(function(e,n){return t===n?!s:e})),C(_defineProperty({},getResponseName(d),!s)),isFunction(h)&&h(createObjectEvent("checkbox-".concat(n,"-").concat(a),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(d),!s))},handleFocusableElements:!0}))})),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:c,features:f,bindings:p}))};CheckboxGroup.defaultProps={label:"",preferences:["COLLECTED"],responses:[],disabled:!1,focused:!1,positioning:"DEFAULT",declarations:[],features:[],bindings:{},management:!1,style:{fieldsetStyle:{},modalityStyle:{}}},CheckboxGroup.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var group=componentWrapper(/*#__PURE__*/React__default["default"].memo(CheckboxGroup,areEqual)),CheckboxBoolean=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.handleChange,d=e.disabled,r=e.positioning,s=e.focused,l=e.declarations,u=e.features,c=e.bindings,f=e.management,p=e.style,m=e.logFunction,g=React.useRef(),h=React.useState(function(){return getResponseByPreference(a)(i)}),b=_slicedToArray(h,2),y=b[0],w=b[1],x=debounce__default["default"](function(e){return o(e)},50),v=function(n){var e=_slicedToArray(Object.entries(n)[0],2),t=e[0],o=e[1];!1===o&&responseToClean(i)(a)?x(_defineProperty({},t,null)):x(n)};React.useEffect(function(){getResponseByPreference(a)(i)!==y&&w(getResponseByPreference(a)(i))},[i,a]),React.useEffect(function(){s&&g.current.focus()},[s]);var k=interpret(u,m)(c)(t),E="HORIZONTAL"===r,S=/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Icon$1,{type:"checkbox",checked:y,disabled:d},/*#__PURE__*/React__default["default"].createElement("input",{type:"checkbox",id:"checkbox-boolean-".concat(n),ref:g,title:k?k:"empty-label",className:"checkbox-boolean-lunatic",style:buildStyleObject(p),checked:y||!1,disabled:d,onChange:function(e){var t=e.target.checked;w(t),v(_defineProperty({},getResponseName(i),t)),isFunction(m)&&m(createObjectEvent("checkbox-boolean-".concat(n),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(i),t))}}),k&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-boolean-".concat(n)},E?k:"")));return/*#__PURE__*/React__default["default"].createElement("div",{key:"checkbox-boolean-".concat(n),className:"checkbox-boolean-modality"},/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:l,features:u,bindings:c}),t&&!E&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-boolean-".concat(n)},interpret(u,m)(c)(t)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:l,features:u,bindings:c}),/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(f?"field-with-tooltip":"field")},"VERTICAL"===r?/*#__PURE__*/React__default["default"].createElement("div",null,S):S),f&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:n,response:buildBooleanTooltipResponse(i)}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:l,features:u,bindings:c}))};CheckboxBoolean.defaultProps={label:"",preferences:["COLLECTED"],response:{},disabled:!1,positioning:"DEFAULT",focused:!1,declarations:[],features:[],bindings:{},management:!1,style:{}},CheckboxBoolean.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),focused:PropTypes__default["default"].bool,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var boolean=componentWrapper(/*#__PURE__*/React__default["default"].memo(CheckboxBoolean,areEqual)),InputDeclarationsWrapper=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.placeholder,d=e.handleChange,r=e.maxLength,s=e.readOnly,l=e.disabled,u=e.autoComplete,c=e.labelPosition,f=e.mandatory,p=e.declarations,m=e.features,g=e.bindings,h=e.focused,b=e.management,y=e.style,w=e.type,x=e.roleType,k=e.min,E=e.max,S=e.decimals,C=e.unit,T=e.unitPosition,N=e.validators,R=e.isInputNumber,P=e.numberAsTextfield,_=e.logFunction,L=e.componentType,D=React.useRef(),I=function(){var e=!(0<arguments.length&&arguments[0]!==void 0)||arguments[0];return createObjectEvent("".concat(x,"-").concat(n),INPUT_CATEGORY,e?EVENT_FOCUS_IN:EVENT_FOCUS_OUT,getResponseName(i),A)},O=React.useState(function(){return getResponseByPreference(a)(i)}),z=_slicedToArray(O,2),A=z[0],M=z[1],U=React.useState(N.map(function(e){return e({min:k,max:E,value:A,preferences:a,componentType:L,id:n})}).filter(function(e){return e})),F=_slicedToArray(U,2),W=F[0],B=F[1];React.useEffect(function(){h&&D.current.focus()},[h]),React.useEffect(function(){getResponseByPreference(a)(i)!==A&&M(getResponseByPreference(a)(i))},[i,a]);var j=function(){B(N.map(function(e){return e({min:k,max:E,value:e,preferences:a,componentType:L,id:n})}).filter(function(e){return e}))};React.useEffect(function(){["InputNumber","Datepicker"].includes(L)&&B(N.map(function(e){return e({min:k,max:E,value:A,preferences:a,componentType:L,id:n})}).filter(function(e){return e}))},[A,k,E,N,R,n,a,L]);var H="textarea"===x?"textarea":"input";return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:p,features:m,bindings:g}),/*#__PURE__*/React__default["default"].createElement("div",{className:getLabelPositionClass(c)},t&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"".concat(x,"-").concat(n),id:"".concat(x,"-label-").concat(n),className:"".concat(f?"mandatory":"")},interpret(m,_)(g)(t),R&&C&&["DEFAULT","BEFORE"].includes(T)&&/*#__PURE__*/React__default["default"].createElement("span",{className:"unit"}," (".concat(C,")"))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:p,features:m,bindings:g}),/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(b?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement(H,{type:w,id:"".concat(x,"-").concat(n),ref:D,value:A||"",min:k,max:E,step:S?"".concat(Math.pow(10,-S)):"0",placeholder:o,autoComplete:u?"on":"off",className:"".concat(x,"-lunatic ").concat((R||"datepicker"===x)&&0<W.length?"warning":""),style:buildStyleObject(y),readOnly:s,disabled:l,maxLength:r||524288,required:f,"aria-required":f,onChange:function(n){var e=n.target.value;if(([null,""].includes(e)&&0<A.length||[null,""].includes(A)&&0<e.length)&&"Datepicker"!==L)M(e),d(_defineProperty({},getResponseName(i),e));else if(// Chrome
|
|
802
|
-
"Event"===Object.getPrototypeOf(
|
|
803
|
-
|
|
755
|
+
N(!0)},[T,J,L.components,z,F,R,u]);var se=React.useCallback(function(e){V(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]),le=React.useCallback(function(e){K(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]);React.useEffect(function(){D(mergeQuestionnaireAndData(e)(n))},[e]),React.useEffect(function(){if(0!==Object.keys(H).length){var e=updateQuestionnaire(i)(L)(d,y)(H);A(getBindings(e)),D(e),V({})}},[H,d,y,L,i,s,u]),React.useEffect(function(){if(0!==Object.keys(Y).length){var e=updateExternals(L)(y,d)(Y);A(getBindings(e)),D(e),K({})}},[Y,y,L,d]);var ue=f&&G?[{componentType:"Modal",controls:G.controls,validateModal:function(){W(G.page),Z(null)},cancelModal:function(){Z(null)}}].concat(_toConsumableArray(J)):J;return isDev&&console.log("End useLunatic: ".concat(new Date().getTime()-E," ms")),{questionnaire:L,handleChange:se,handleExternals:le,components:ue,bindings:z,pagination:{page:F,maxPage:oe,goNext:function(e,n){if(!re){ae!==FLOW_NEXT&&ie(FLOW_NEXT);var t=getPage({components:L.components,bindings:n||z,currentPage:F,featuresWithoutMD:R,flow:FLOW_NEXT,management:u});if(m){var a=getControls({page:F,features:R,components:J,bindings:z,preferences:d});0<a.length?Z({page:t,controls:a}):W(t)}else W(t)}},goPrevious:function(){if(!de){ae!==FLOW_PREVIOUS&&ie(FLOW_PREVIOUS);var e=getPage({components:L.components,bindings:z,currentPage:F,featuresWithoutMD:R,flow:FLOW_PREVIOUS,management:u});if(m){var n=getControls({page:F,features:R,components:J,bindings:z,preferences:d});0<n.length?Z({page:e,controls:n}):W(e)}else W(e)}},isFirstPage:de,isLastPage:re,setPage:W}}},defaultData={},defaultPreferences=[COLLECTED],defaultFeatures=["VTL"],useLunaticSplit=function(e){function n(e){var n=getState(e);return mergeStateData(F,n)}var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:defaultData,a=2<arguments.length?arguments[2]:void 0,i=a.savingType,o=void 0===i?COLLECTED:i,d=a.preferences,r=void 0===d?defaultPreferences:d,s=a.features,l=void 0===s?defaultFeatures:s,u=a.management,c=void 0!==u&&u,f=a.pagination,p=void 0!==f&&f,m=a.modalForControls,g=void 0!==m&&m,h=a.initialPage,b=void 0===h?null:h,y=a.logFunction,w=void 0===y?null:y,x=a.autoSuggesterLoading,v=void 0!==x&&x,k=a.suggesterFetcher,E=a.suggesters;if(isDev){console.log("useLunaticSplit");var S=new Date().getTime()}var C=React.useMemo(function(){return mergeQuestionnaireAndData(e)(t)},[e,t]),T=React.useMemo(function(){return getSplitQuestionnaireSource(e)},[e]),N=React.useMemo(function(){return getState(C)},[C]),R=React.useState(function(){return getBindings(C)}),P=_slicedToArray(R,2),_=P[0],L=P[1],D=React.useMemo(function(){return getRootPageInSources(T)},[T]),I=React.useState(0),O=_slicedToArray(I,2),z=O[0],A=O[1],M=React.useState(N),U=_slicedToArray(M,2),F=U[0],W=U[1],B=React.useState(!1),j=_slicedToArray(B,2),H=j[0],V=j[1],q=l.filter(function(e){return"MD"!==e}),Q=React.useState(function(){return mergeQuestionnaireAndData(T[z])(F)}),Y=_slicedToArray(Q,2),K=Y[0],$=Y[1],X=React.useState(function(){return getBindings(K)}),G=_slicedToArray(X,2),Z=G[0],J=G[1],ee=React.useState(null),ne=_slicedToArray(ee,2),te=ne[0],ae=ne[1];React.useEffect(function(){V(!1);var e=mergeQuestionnaireAndData(T[z])(F);$(e);var n=getBindings(e);J(n),L(_objectSpread2(_objectSpread2({},_),n))},[T,z]);var ie=function(e){var t=n(e);return t[COLLECTED]},oe=React.useState(K.firstPage),de=_slicedToArray(oe,2),re=de[0],se=de[1],le=React.useState({}),ue=_slicedToArray(le,2),ce=ue[0],fe=ue[1],pe=React.useState({}),me=_slicedToArray(pe,2),ge=me[0],he=me[1],be=React.useState(null),ye=_slicedToArray(be,2),we=ye[0],xe=ye[1],ve=useFilterComponents({questionnaire:K,management:c,bindings:Z,features:q,page:re,pagination:p,todo:_objectSpread2(_objectSpread2({},ce),ge)}),ke=e.suggesters;React.useEffect(function(){var e=/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var n;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:v&&"object"===_typeof(E)&&0<Object.values(E).length&&(n=ke.reduce(function(e,n){var t=n.name;return E[t]?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,_objectSpread2(_objectSpread2({},n),{},{url:E[t].url,stopWords:E[t].stopWords}))):e},{}),loadSuggesters(k)(n));case 1:case"end":return e.stop();}},e)}));return function(){return e.apply(this,arguments)}}();e()},[v,k,E,ke]);var Ee=React.useState(null),Se=_slicedToArray(Ee,2),Ce=Se[0],Te=Se[1],Ne=K.firstPage,Re=K.maxPage,Pe=re===Ne,_e=re===Re,Le=0===z,De=z===T.length-1,Ie=function(){if(!De){var e=getState(K);W(mergeStateData(F,e)),A(z+1)}},Oe=function(){if(!Le){var e=getState(K);W(mergeStateData(F,e)),A(z-1)}},ze=React.useCallback(function(e){var n=null===e||void 0===e?void 0:e.split(".")[0],t=D.findIndex(function(e){return e.includes(n)});if(t===z)se(e),ae(null);else{ae(e);var a=getState(K);W(mergeStateData(F,a)),A(t)}},[F,K,D,z]);// TODO: dynamic because of filters (kind of last accessible page)
|
|
756
|
+
React.useEffect(function(){if(!H){if(te)se(te),ae(null);else{var e=function(){if(Ce===FLOW_NEXT){var e=0<z-1?T[z-1].maxPage:T[0].maxPage;return getPage({components:K.components,bindings:Z,currentPage:e,featuresWithoutMD:q,flow:FLOW_NEXT,management:c})}if(Ce===FLOW_PREVIOUS){var n=z+1<T.length-1?T[z+1].firstPage:T[T.length-1].firstPage;return getPage({components:K.components,bindings:Z,currentPage:n,featuresWithoutMD:q,flow:Ce,management:c})}return null};if(!Ce)ze(b||T[0].firstPage);else{var n=e();n?se(n):Ce===FLOW_NEXT?A(z+1):A(z-1)}}V(!0)}},[H,Le,ve,K.components,Z,re,q,c,z,T,Ce,te,ze,b]);var Ae=React.useCallback(function(e){fe(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]),Me=React.useCallback(function(e){he(function(n){return _objectSpread2(_objectSpread2({},n),e)})},[]);React.useEffect(function(){if(0!==Object.keys(ce).length){var e=updateQuestionnaire(o)(K)(r,w)(ce),n=getBindings(e);J(n),L(_objectSpread2(_objectSpread2({},_),n)),$(e),fe({})}// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
757
|
+
},[ce,r,w,K,o,l,c]),React.useEffect(function(){if(0!==Object.keys(ge).length){var e=updateExternals(K)(w,r)(ge);J(getBindings(e)),$(e),he({})}},[ge,w,K,r]);var Ue=p&&we?[{componentType:"Modal",controls:we.controls,validateModal:function(){var e=we.confirm;e&&e(),xe(null)},cancelModal:function(){xe(null)}}].concat(_toConsumableArray(ve)):ve;return isDev&&console.log("End useLunaticSplit: ".concat(new Date().getTime()-S," ms")),{questionnaire:K,handleChange:Ae,handleExternals:Me,components:Ue,bindings:Z,allBindings:_,state:{getState:n,getCollectedState:ie,getCollectedStateByValueType:function(e){return function(n,t){return getCollectedStateByValueType(null,ie(e))(n,t)}},getBindings:function(e){var n=getBindings(e);return _objectSpread2(_objectSpread2({},_),n)}},pagination:{page:re,maxPage:T[T.length-1].maxPage,goNext:function(e,n){if(!(_e&&De)){Ce!==FLOW_NEXT&&Te(FLOW_NEXT);var t=getPage({components:K.components,bindings:n||Z,currentPage:re,featuresWithoutMD:q,flow:FLOW_NEXT,management:c}),a=t?function(){return se(t)}:Ie;if(g){var i=getControls({page:re,features:q,components:ve,bindings:Z,preferences:r});0<i.length?xe({confirm:a,controls:i}):a()}else a()}},goPrevious:function(){if(!(Pe&&Le)){Ce!==FLOW_PREVIOUS&&Te(FLOW_PREVIOUS);var e=getPage({components:K.components,bindings:Z,currentPage:re,featuresWithoutMD:q,flow:FLOW_PREVIOUS,management:c}),n=e?function(){return se(e)}:Oe;if(g){var t=getControls({page:re,features:q,components:ve,bindings:Z,preferences:r});0<t.length?xe({confirm:n,controls:t}):n()}else n()}},isFirstPage:Pe&&Le,isLastPage:_e&&De,setPage:ze}}},css_248z$k="@charset \"UTF-8\";\n.lunatic-component .declarations-lunatic {\n margin-bottom: 0.4rem;\n}\n.lunatic-component .declaration-instruction {\n font-style: italic;\n font-size: 80%;\n}\n.lunatic-component .declaration-comment {\n font-size: 80%;\n}\n.lunatic-component .declaration-statement {\n font-style: italic;\n font-size: 80%;\n color: blue;\n}\n.lunatic-component .declaration-help {\n font-style: italic;\n font-size: 80%;\n color: green;\n}\n.lunatic-component .declaration-warning {\n font-style: bold;\n font-size: 80%;\n color: red;\n}\n.lunatic-component .declaration-message_filter {\n font-size: 100%;\n color: #494242;\n}\n.lunatic-component .declaration-message_filter:before {\n content: \"\u2192 \";\n}";styleInject(css_248z$k);var Declarations=function(e){var n=e.id,t=e.type,a=e.declarations,i=e.features,o=e.bindings,d=e.logFunction,r=a.filter(function(e){var n=e.position;return n===t});return 0===r.length?null:/*#__PURE__*/React__default["default"].createElement("div",{id:"declarations-".concat(n,"-").concat(t),className:"declarations-lunatic"},r.map(function(e){var n=e.id,t=e.label,a=e.declarationType;return/*#__PURE__*/React__default["default"].createElement("div",{key:"".concat(n),className:"declaration-lunatic declaration-".concat(a.toLowerCase())},interpret(i,d)(o)(t))}))};Declarations.defaultProps={type:"AFTER_QUESTION_TEXT",declarations:[],features:[],bindings:{}},Declarations.propTypes={id:PropTypes__default["default"].string.isRequired,type:PropTypes__default["default"].string,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object};var RadioChecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},RadioUnchecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},CheckboxChecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}))},CheckboxUnchecked=function(){return/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"rgb(74,118,168)"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),/*#__PURE__*/React__default["default"].createElement("path",{d:"M0 0h24v24H0z",fill:"none"}))},css_248z$j=".lunatic-component .list-icon-wrapper:focus-within svg {\n fill: var(--color-primary-dark);\n}\n.lunatic-component .list-icon {\n position: absolute;\n margin-top: -0.1rem;\n}\n.lunatic-component .list-icon.list-icon-disabled svg {\n background-color: var(--color-disabled);\n}";styleInject(css_248z$j);var Content=function(e){var n=e.type,t=e.checked;return"radio"===n?t?/*#__PURE__*/React__default["default"].createElement(RadioChecked,null):/*#__PURE__*/React__default["default"].createElement(RadioUnchecked,null):"checkbox"===n?t?/*#__PURE__*/React__default["default"].createElement(CheckboxChecked,null):/*#__PURE__*/React__default["default"].createElement(CheckboxUnchecked,null):null},Icon$1=function(e){var n=e.type,t=e.checked,a=e.disabled,i=e.children;return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement("span",{className:"list-icon-wrapper"},/*#__PURE__*/React__default["default"].createElement("span",{className:"list-icon ".concat(a?"list-icon-disabled":"")},/*#__PURE__*/React__default["default"].createElement(Content,{type:n,checked:t})),i))},img$2=new Image;img$2.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAAGEMEXHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABjUExURf///8Xn9XrH6Va44zKp3Eiy4GW+5b7j9Kja8Bme2CSj2p7W7vH5/UGv34XM69vw+czq9iCh2ZbT7bfg82W94+33/Njt92zB5k+14XPE6On2+4vN6sLl9Mno9i+n3Cum2wAAAIfAWccAAAAhdFJOU///////////////////////////////////////////AJ/B0CEAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAEVSURBVChTVVIBcsMgDFODm2JKIFnTbvv/Ryfb0F11Z4ptWYBSYL8wFBk34A7kLwDCUIbBfkcIHppsM2tIVy61exRoQ0LFaa2NhLSiP7l/MA7no6rsdd+UI5SINQSvZKVsBXSB7N4plnFRyihxxrFdtxeep5qwYRFZx1ZK6735IMrmJSQOZR9sXKWZSKeaVdQVfftOirdG8kHjhXlFxZ0ZWezpwrclo4Q69ZUWZj28BPyobmbCQPYxR6HdE53leLyBpGIGEELHP7GGtB/DIyds+mathZ/BEBefyNSRMJxDwRggcXbMlSlGsPM9uWHpgKnRgPB/zBCd/yStLB3z1hK6wO+8zn7o+7sx47v/s9oOdgdoLAD8AWlNC8M57XWRAAAAAElFTkSuQmCC";var img$1=new Image;img$1.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAZCAMAAAFiGY6DAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABUUExURf///6zc8Uiy4PH5/d/x+b7j9Bme2DKp3CSj2la442W+5YnN61O34nrH6Z7W7tDr9yCh2bfg8+33/HPE6EGv35bT7U+14czq9nDD56XZ7+n2+wAAAJWny4EAAAAcdFJOU////////////////////////////////////wAXsuLXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKElEQVQoU2VSC3bDIAwzJRM0hCb0ldfd/6STDFm7TgnEX2GbGHExQ4PZoc0scT0MgC/6xkqZ+tC0x6y4E4zlU5VAs8I2Wrv0/PL/xzih4gKsCJVB1RZKsvXYrJntG7gXrM/ddgZ3JPDtBRHFSQYG1Ylgy9cUhStwdaGKO6tAdX0wCQi5tUyzK6oYYNHB+aDDBXhHcjtu09uHKgfTYGTUXMRDtCOU7HUU8ShH1CdWdj1FoS/3k+4vyB3Se6KV8tv6Bamm2Z3d+GWvuNmel4WC7A9+OUcV9AKr5PHEJHIxavjui4mOisf0/B7uiqwTrp9/gisa0wuycLTs3zlI2yl7QpTvDR8FlXy3jWq3hqBYjYpXPy/A7Lmu33GIMR1r3z6OPnFngYFXbfYDTw4LkdQNpj4AAAAASUVORK5CYII=";var img=/*#__PURE__*/Object.freeze({__proto__:null,editedImg:img$2,forcedImg:img$1}),css_248z$i="* {\n box-sizing: border-box;\n --color-primary-dark: #2a5885;\n --color-primary-light: #5181b8;\n --color-primary-main: #4a73a4;\n --color-primary-contrast-text: #ffffff;\n --color-secondary-dark: #14202d;\n --color-secondary-light: #f7f8fa;\n --color-secondary-main: #1a293b;\n --color-secondary-contrast-text: #ffffff;\n --color-very-light: #dbe4ef;\n --color-very-very-light: #e6eaee;\n --color-current-item: #0d823e;\n --color-error: #f50c0c;\n --color-disabled: rgb(235, 235, 228);\n --color-prefix: cornflowerblue;\n --color-dropdown-active: rgba(0, 0, 0, 0.04);\n --color-dropdown-selected: rgba(0, 0, 0, 0.08);\n --dropdown-transition-time: 0.5s;\n}\n\n.lunatic-component {\n /* refactor proposition */\n /******/\n}\n.lunatic-component .mandatory:after {\n content: \" *\";\n color: red;\n}\n.lunatic-component .horizontal-options {\n display: inline-block;\n margin-right: 2em;\n}\n.lunatic-component label,\n.lunatic-component legend,\n.lunatic-component .subsequence-lunatic,\n.lunatic-component .lunatic-dropdown-label,\n.lunatic-component .lunatic-dropdown-label focused {\n color: var(--color-primary-dark);\n background-color: var(--color-primary-contrast-text);\n border: 0;\n padding: 0;\n font-size: 0.75rem;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n line-height: 0.75rem;\n font-weight: bold;\n margin-bottom: 0.375rem;\n}\n.lunatic-component .lunatic-component-container {\n display: flex;\n}\n.lunatic-component .lunatic-component-container.label-left-ex {\n flex-direction: row;\n align-items: baseline;\n}\n.lunatic-component .lunatic-component-container.label-left-ex .lunatic-label {\n margin-right: 1em;\n}\n.lunatic-component .lunatic-component-container.label-right-ex {\n flex-direction: row-reverse;\n align-items: baseline;\n}\n.lunatic-component .lunatic-component-container.label-right-ex .lunatic-label {\n margin-left: 1em;\n}\n.lunatic-component .lunatic-component-container.label-top-ex {\n flex-direction: column;\n}\n.lunatic-component .lunatic-component-container.label-bottom-ex {\n flex-direction: column-reverse;\n}\n.lunatic-component .label-top {\n display: flex;\n flex-direction: column;\n}\n.lunatic-component .label-bottom {\n display: flex;\n flex-direction: column-reverse;\n}\n.lunatic-component .label-right {\n justify-content: flex-end;\n display: flex;\n flex-direction: row-reverse;\n align-items: baseline;\n}\n.lunatic-component .label-right :first-child {\n margin-right: 1rem;\n}\n.lunatic-component .label-left {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n.lunatic-component .label-left :first-child {\n margin-right: 1rem;\n}\n.lunatic-component .field-container {\n display: flex;\n}\n.lunatic-component .modality-label p {\n display: inline;\n}\n.lunatic-component .tooltip {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n.lunatic-component .field-with-tooltip {\n width: calc(100% - 25px);\n position: relative;\n}\n.lunatic-component .field {\n width: 100%;\n position: relative;\n}\n.lunatic-component .field,\n.lunatic-component .field-with-tooltip {\n display: flex;\n}\n.lunatic-component .field .unit,\n.lunatic-component .field-with-tooltip .unit {\n margin: auto 0;\n color: var(--color-primary-dark);\n font-weight: bold;\n}\n.lunatic-component .link-md .field-md {\n border-bottom: dashed 0.1em var(--color-primary-dark);\n}\n.lunatic-component .link-md .field-md:hover {\n cursor: help;\n color: var(--color-primary-contrast-text);\n background-color: var(--color-primary-dark);\n}\n.lunatic-component .link-md .tooltip-content {\n min-width: 15em;\n max-width: 25em;\n background: var(--color-primary-dark);\n color: var(--color-primary-contrast-text);\n padding: 0.5em;\n border-radius: 6px;\n font-size: 1em;\n}\n.lunatic-component .link-md .tooltip-content.place-bottom::before {\n border-bottom: 10px solid var(--color-primary-dark);\n}\n.lunatic-component .link-md .tooltip-content.place-bottom::after {\n content: none;\n}\n\n.lunatic-component {\n /* Tooltip container */\n /* Tooltip text */\n}\n.lunatic-component .tooltip-lunatic {\n position: relative;\n display: inline-block;\n align-items: center;\n}\n.lunatic-component .tooltip-lunatic .tooltip-text {\n min-width: 10em;\n max-width: 20em;\n background-color: var(--color-primary-dark);\n color: #fff;\n padding: 0.5em;\n border-radius: 6px;\n font-size: 1em;\n}\n.lunatic-component .tooltip-lunatic .tooltip-text.place-left::before {\n border-left: 10px solid var(--color-primary-dark);\n}\n.lunatic-component .tooltip-lunatic .tooltip-text.place-left::after {\n content: none;\n}";styleInject(css_248z$i);var TooltipResponse=function(e){var n=e.id,t=e.response,a=React.useState(function(){return buildTooltip(t)}),i=_slicedToArray(a,2),o=i[0],d=i[1];React.useEffect(function(){d(buildTooltip(t))},[t]);var r=o.content,s=o.imgName;if(!r)return null;var l=r.map(function(e){var n=e.key,t=e.value;return"".concat(n," : ").concat(t,"<br />")}).join("");return/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip-lunatic"},/*#__PURE__*/React__default["default"].createElement("span",{"data-for":"".concat(n,"-management-tooltip"),"data-tip":l,"data-multiline":!0},/*#__PURE__*/React__default["default"].createElement("img",{id:n,alt:"img-tooltip",src:img[s].src||img[s]})),/*#__PURE__*/React__default["default"].createElement(ReactTooltip__default["default"],{id:"".concat(n,"-management-tooltip"),className:"tooltip-text",place:"left"}))};TooltipResponse.defaultProps={response:{}},TooltipResponse.propTypes={id:PropTypes__default["default"].string,response:response};var css_248z$h=".lunatic-component .checkbox-group,\n.lunatic-component .checkbox-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n}\n.lunatic-component .checkbox-lunatic,\n.lunatic-component .checkbox-boolean-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.15rem;\n margin-left: 0.2rem;\n height: 18px;\n width: 18px;\n}\n.lunatic-component .checkbox-lunatic + label,\n.lunatic-component .checkbox-boolean-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .checkbox-lunatic:focus + label,\n.lunatic-component .checkbox-boolean-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .checkbox-boolean-lunatic + label::before {\n margin-right: -0.3rem;\n}\n.lunatic-component .checkbox-modality,\n.lunatic-component .checkbox-boolean-modality {\n margin-bottom: 0.6rem;\n}\n.lunatic-component .field .checkbox-group-list .checkbox-modality,\n.lunatic-component .field-with-tooltip .checkbox-group-list .checkbox-modality {\n height: 1.375em;\n}\n.lunatic-component .checkbox-group .modality_NR,\n.lunatic-component .checkbox-group-list .modality_NR {\n margin-top: 1.5em;\n}\n.lunatic-component .checkbox-group .horizontal-options.modality_NR,\n.lunatic-component .checkbox-group-list .horizontal-options.modality_NR {\n margin-top: 0;\n}\n.lunatic-component .checkbox-group .checkbox-modality label,\n.lunatic-component .checkbox-group-list .checkbox-modality label {\n display: flex;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block.horizontal-options label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .checkbox-lunatic + label {\n margin-top: 0.325em;\n}\n.lunatic-component .checkbox-alone {\n margin-left: 0;\n margin-top: 0.5em;\n}";styleInject(".lunatic-component .checkbox-group,\n.lunatic-component .checkbox-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n}\n.lunatic-component .checkbox-lunatic,\n.lunatic-component .checkbox-boolean-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.15rem;\n margin-left: 0.2rem;\n height: 18px;\n width: 18px;\n}\n.lunatic-component .checkbox-lunatic + label,\n.lunatic-component .checkbox-boolean-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .checkbox-lunatic:focus + label,\n.lunatic-component .checkbox-boolean-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .checkbox-boolean-lunatic + label::before {\n margin-right: -0.3rem;\n}\n.lunatic-component .checkbox-modality,\n.lunatic-component .checkbox-boolean-modality {\n margin-bottom: 0.6rem;\n}\n.lunatic-component .field .checkbox-group-list .checkbox-modality,\n.lunatic-component .field-with-tooltip .checkbox-group-list .checkbox-modality {\n height: 1.375em;\n}\n.lunatic-component .checkbox-group .modality_NR,\n.lunatic-component .checkbox-group-list .modality_NR {\n margin-top: 1.5em;\n}\n.lunatic-component .checkbox-group .horizontal-options.modality_NR,\n.lunatic-component .checkbox-group-list .horizontal-options.modality_NR {\n margin-top: 0;\n}\n.lunatic-component .checkbox-group .checkbox-modality label,\n.lunatic-component .checkbox-group-list .checkbox-modality label {\n display: flex;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .checkbox-group .checkbox-modality.checkbox-modality-block.horizontal-options label,\n.lunatic-component .checkbox-group-list .checkbox-modality.checkbox-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .checkbox-lunatic + label {\n margin-top: 0.325em;\n}\n.lunatic-component .checkbox-alone {\n margin-left: 0;\n margin-top: 0.5em;\n}");var CheckboxGroup=function(e){var n=e.id,t=e.label,a=e.preferences,o=e.responses,d=e.handleChange,r=e.disabled,s=e.focused,l=e.shortcut,u=e.positioning,c=e.declarations,f=e.features,p=e.bindings,m=e.management,g=e.style,h=e.logFunction,b=g.fieldsetStyle,y=g.modalityStyle,w=React.useRef(),x=React.useState(function(){return o.map(function(e){var n=e.response;return getResponseByPreference(a)(n)})}),v=_slicedToArray(x,2),k=v[0],E=v[1],S=debounce__default["default"](function(e){return d(e)},50),C=function(n){var e=_slicedToArray(Object.entries(n)[0],2),t=e[0],i=e[1];!1===i&&responsesToClean(o)(a)(t)?S(_defineProperty({},t,null)):S(n)};React.useEffect(function(){var e=o.map(function(e){var n=e.response;return getResponseByPreference(a)(n)});e.join("|")!==k.join("|")&&E(e)},[o,a]),React.useEffect(function(){s&&w.current.focus()},[s]);var T=[];return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:c,features:f,bindings:p}),/*#__PURE__*/React__default["default"].createElement("fieldset",{key:"checkbox-".concat(n),className:"checkbox-group-list",style:buildStyleObject(b)},/*#__PURE__*/React__default["default"].createElement("legend",null,interpret(f,h)(p)(t)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:c,features:f,bindings:p}),o.map(function(e,t){var a=e.id,i=e.label,d=e.response,s=k[t];s&&T.push(a);var c=0===t||T[0]&&T[0]===a,g=interpret(f)(p)(i),b=10>o.length?"".concat(t+1):getAlphabet()[t];return/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(getItemsPositioningClass(u)),key:"checkbox-".concat(n,"-").concat(a)},/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(m?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement("div",{className:"checkbox-modality ".concat(s?"content-checked":"")},/*#__PURE__*/React__default["default"].createElement(Icon$1,{type:"checkbox",checked:s,disabled:r},/*#__PURE__*/React__default["default"].createElement("input",{type:"checkbox",id:"checkbox-".concat(n,"-").concat(a),ref:c?w:null,key:"checkbox-".concat(n,"-").concat(a),"aria-labelledby":"input-label-".concat(n,"-").concat(a),className:"checkbox-lunatic",checked:s||!1,disabled:r,onChange:function(e){var i=e.target.checked;E(k.map(function(e,n){return t===n?i:e})),C(_defineProperty({},getResponseName(d),i)),isFunction(h)&&h(createObjectEvent("checkbox-".concat(n,"-").concat(a),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(d),i))}}),/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-".concat(n,"-").concat(a),id:"input-label-".concat(n,"-").concat(a),style:s?buildStyleObject(y):{},className:"modality-label"},l&&/*#__PURE__*/React__default["default"].createElement("span",{className:"code-modality"},b.toUpperCase()),g)))),m&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:n,response:buildBooleanTooltipResponse(d)}))),l&&/*#__PURE__*/React__default["default"].createElement(KeyboardEventHandler__default["default"],{handleKeys:[b.toLowerCase()],onKeyEvent:function(i,o){o.preventDefault(),E(k.map(function(e,n){return t===n?!s:e})),C(_defineProperty({},getResponseName(d),!s)),isFunction(h)&&h(createObjectEvent("checkbox-".concat(n,"-").concat(a),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(d),!s))},handleFocusableElements:!0}))})),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:c,features:f,bindings:p}))};CheckboxGroup.defaultProps={label:"",preferences:["COLLECTED"],responses:[],disabled:!1,focused:!1,positioning:"DEFAULT",declarations:[],features:[],bindings:{},management:!1,style:{fieldsetStyle:{},modalityStyle:{}}},CheckboxGroup.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var group=componentWrapper(/*#__PURE__*/React__default["default"].memo(CheckboxGroup,areEqual)),CheckboxBoolean=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.handleChange,d=e.disabled,r=e.positioning,s=e.focused,l=e.declarations,u=e.features,c=e.bindings,f=e.management,p=e.style,m=e.logFunction,g=React.useRef(),h=React.useState(function(){return getResponseByPreference(a)(i)}),b=_slicedToArray(h,2),y=b[0],w=b[1],x=debounce__default["default"](function(e){return o(e)},50),v=function(n){var e=_slicedToArray(Object.entries(n)[0],2),t=e[0],o=e[1];!1===o&&responseToClean(i)(a)?x(_defineProperty({},t,null)):x(n)};React.useEffect(function(){getResponseByPreference(a)(i)!==y&&w(getResponseByPreference(a)(i))},[i,a]),React.useEffect(function(){s&&g.current.focus()},[s]);var k=interpret(u,m)(c)(t),E="HORIZONTAL"===r,S=/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Icon$1,{type:"checkbox",checked:y,disabled:d},/*#__PURE__*/React__default["default"].createElement("input",{type:"checkbox",id:"checkbox-boolean-".concat(n),ref:g,title:k?k:"empty-label",className:"checkbox-boolean-lunatic",style:buildStyleObject(p),checked:y||!1,disabled:d,onChange:function(e){var t=e.target.checked;w(t),v(_defineProperty({},getResponseName(i),t)),isFunction(m)&&m(createObjectEvent("checkbox-boolean-".concat(n),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(i),t))}}),k&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-boolean-".concat(n)},E?k:"")));return/*#__PURE__*/React__default["default"].createElement("div",{key:"checkbox-boolean-".concat(n),className:"checkbox-boolean-modality"},/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:l,features:u,bindings:c}),t&&!E&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"checkbox-boolean-".concat(n)},interpret(u,m)(c)(t)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:l,features:u,bindings:c}),/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(f?"field-with-tooltip":"field")},"VERTICAL"===r?/*#__PURE__*/React__default["default"].createElement("div",null,S):S),f&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:n,response:buildBooleanTooltipResponse(i)}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:l,features:u,bindings:c}))};CheckboxBoolean.defaultProps={label:"",preferences:["COLLECTED"],response:{},disabled:!1,positioning:"DEFAULT",focused:!1,declarations:[],features:[],bindings:{},management:!1,style:{}},CheckboxBoolean.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),focused:PropTypes__default["default"].bool,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var boolean=componentWrapper(/*#__PURE__*/React__default["default"].memo(CheckboxBoolean,areEqual)),InputDeclarationsWrapper=function(e){var n=Math.pow,t=e.id,a=e.label,i=e.preferences,o=e.response,d=e.placeholder,r=e.handleChange,s=e.maxLength,l=e.readOnly,u=e.disabled,c=e.autoComplete,f=e.labelPosition,p=e.mandatory,m=e.declarations,g=e.features,h=e.bindings,b=e.focused,y=e.management,w=e.style,x=e.type,k=e.roleType,E=e.min,S=e.max,C=e.decimals,T=e.unit,N=e.unitPosition,R=e.validators,P=e.isInputNumber,_=e.numberAsTextfield,L=e.logFunction,D=e.componentType,I=React.useRef(),O=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];return createObjectEvent("".concat(k,"-").concat(t),INPUT_CATEGORY,e?EVENT_FOCUS_IN:EVENT_FOCUS_OUT,getResponseName(o),M)},z=React.useState(function(){return getResponseByPreference(i)(o)}),A=_slicedToArray(z,2),M=A[0],U=A[1],F=React.useState(R.map(function(e){return e({min:E,max:S,value:M,preferences:i,componentType:D,id:t})}).filter(function(e){return e})),W=_slicedToArray(F,2),B=W[0],j=W[1];React.useEffect(function(){b&&I.current.focus()},[b]),React.useEffect(function(){getResponseByPreference(i)(o)!==M&&U(getResponseByPreference(i)(o))},[o,i]);var H=function(){j(R.map(function(e){return e({min:E,max:S,value:e,preferences:i,componentType:D,id:t})}).filter(function(e){return e}))};React.useEffect(function(){["InputNumber","Datepicker"].includes(D)&&j(R.map(function(e){return e({min:E,max:S,value:M,preferences:i,componentType:D,id:t})}).filter(function(e){return e}))},[M,E,S,R,P,t,i,D]);var V="textarea"===k?"textarea":"input";return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:BEFORE_QUESTION_TEXT,declarations:m,features:g,bindings:h}),/*#__PURE__*/React__default["default"].createElement("div",{className:getLabelPositionClass(f)},a&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"".concat(k,"-").concat(t),id:"".concat(k,"-label-").concat(t),className:"".concat(p?"mandatory":"")},interpret(g,L)(h)(a),P&&T&&["DEFAULT","BEFORE"].includes(N)&&/*#__PURE__*/React__default["default"].createElement("span",{className:"unit"}," (".concat(T,")"))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:AFTER_QUESTION_TEXT,declarations:m,features:g,bindings:h}),/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(y?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement(V,{type:x,id:"".concat(k,"-").concat(t),ref:I,value:M||"",min:E,max:S,step:C?"".concat(n(10,-C)):"0",placeholder:d,autoComplete:c?"on":"off",className:"".concat(k,"-lunatic ").concat((P||"datepicker"===k)&&0<B.length?"warning":""),style:buildStyleObject(w),readOnly:l,disabled:u,maxLength:s||524288,required:p,"aria-required":p,onChange:function(t){var e=Number.parseFloat,a=t.target.value,i=""===a?null:a,d=e(a).toFixed(C);if(C&&""!==a&&!new RegExp("^[0-9]+(.[0-9]{1,".concat(C,"})?$")).test(d))t.preventDefault();else if(([null,""].includes(a)&&0<M.length||[null,""].includes(M)&&0<a.length)&&"Datepicker"!==D)U(i),r(_defineProperty({},getResponseName(o),i));else if(// Chrome
|
|
758
|
+
"Event"===Object.getPrototypeOf(t.nativeEvent).constructor.name&&"datepicker"!==k||// FF hack: impossible to handle arrow events
|
|
759
|
+
Math.abs(a-M).toFixed(C)!==e("".concat(n(10,-C))).toFixed(C)&&!Number.parseInt(a,10)&&P)U(d),r(_defineProperty({},getResponseName(o),d));else{if(P){if(_&&""!==a&&!isNumberValid(a,C))return t.preventDefault(),t.stopPropagation(),null;H()}y?U(i):U(i)}},onBlur:function(){var e=getResponseByPreference(i)(o);if(M!==e){var n=M&&M.endsWith(".")?M.replace(".",""):M;r(_defineProperty({},getResponseName(o),n)),isFunction(L)&&L(O(!1)),M!==n&&U(n)}},onFocus:function(){isFunction(L)&&L(O())},onKeyPress:function(e){0!==C||/[0-9]/.test(e.key)||e.preventDefault()}}),P&&T&&"AFTER"===N&&/*#__PURE__*/React__default["default"].createElement("span",{className:"unit"},T)),y&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:t,response:buildLocalResponse(o,M)}))),0<B.length&&/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-controls"},B.map(function(e){var n=e.id,t=e.errorMessage;return/*#__PURE__*/React__default["default"].createElement("div",{key:"control-".concat(n),className:"lunatic-control"},t)}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:DETACHABLE,declarations:m,features:g,bindings:h}))};InputDeclarationsWrapper.defaultProps={label:"",preferences:["COLLECTED"],response:{},placeholder:"",readOnly:!1,disabled:!1,autoComplete:!1,labelPosition:"DEFAULT",mandatory:!1,focused:!1,declarations:[],features:[],bindings:{},management:!1,style:{},validators:[],isInputNumber:!1},InputDeclarationsWrapper.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,min:PropTypes__default["default"].oneOfType([PropTypes__default["default"].number,PropTypes__default["default"].string]),max:PropTypes__default["default"].oneOfType([PropTypes__default["default"].number,PropTypes__default["default"].string]),decimals:PropTypes__default["default"].oneOfType([PropTypes__default["default"].number,PropTypes__default["default"].string]),placeholder:PropTypes__default["default"].string,handleChange:PropTypes__default["default"].func.isRequired,readOnly:PropTypes__default["default"].bool,disabled:PropTypes__default["default"].bool,maxLength:PropTypes__default["default"].oneOfType([PropTypes__default["default"].number,PropTypes__default["default"].string]),autoComplete:PropTypes__default["default"].bool,labelPosition:PropTypes__default["default"].oneOf(["DEFAULT","TOP","BOTTOM","LEFT","RIGHT"]),unitPosition:PropTypes__default["default"].oneOf(["DEFAULT","BEFORE","AFTER"]),mandatory:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object,type:PropTypes__default["default"].oneOf(["text","date","number",null]),roleType:PropTypes__default["default"].oneOf(["input","datepicker","input-number","textarea"]),validators:PropTypes__default["default"].arrayOf(PropTypes__default["default"].func),isInputNumber:PropTypes__default["default"].bool};var ListDeclarationsWrapper=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.options,d=e.handleChange,r=e.disabled,s=e.focused,l=e.shortcut,u=e.declarations,c=e.features,f=e.bindings,p=e.management,m=e.style,g=e.positioning,h=e.type,b=e.hasSpecificHandler,y=e.logFunction,w=React.useRef(),x=React.useState(function(){return getResponseByPreference(a)(i)}),v=_slicedToArray(x,2),k=v[0],E=v[1],S=p&&"checkbox"===h?[].concat(_toConsumableArray(o),[{label:"NR",value:"_N_R_"}]):o,C=function(n){var e=i.values,t=_slicedToArray(Object.entries(n)[0],2),o=t[0],d=t[1],r=e[a[a.length-1]]===d?null:d;T(_defineProperty({},o,r)),p?E(getResponseByPreference(a)(buildLocalResponse(i,r))):E(r)},T=debounce__default["default"](function(e){return d(e)},50),N=function(e){var t=_defineProperty({},getResponseName(i),e);b?C(t):(E(e),T(t)),isFunction(y)&&y(createObjectEvent("".concat(h,"-").concat(n,"-").concat(e),INPUT_CATEGORY,EVENT_SELECTION,getResponseName(i),e))};React.useEffect(function(){getResponseByPreference(a)(i)!==k&&E(getResponseByPreference(a)(i))},[i,a]),React.useEffect(function(){s&&w.current.focus()},[s]);var R=m.fieldsetStyle,P=m.modalityStyle;return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:u,features:c,bindings:f}),/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(p?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement("fieldset",{key:"".concat(h,"-").concat(n),className:"".concat(h,"-group-list"),style:buildStyleObject(R)},/*#__PURE__*/React__default["default"].createElement("legend",null,interpret(c,y)(f)(t)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:u,features:c,bindings:f}),S.map(function(e,t){var a=e.label,i=e.value,d=k===i,s=interpret(c,y)(f)(a),u=10>o.length?"".concat(t+1):getAlphabet()[t];return/*#__PURE__*/React__default["default"].createElement("div",{key:"".concat(h,"-").concat(n,"-").concat(i),className:"".concat(h,"-modality ").concat(h,"-modality-block ").concat(getItemsPositioningClass(g)," ").concat(d?"content-checked":""," ").concat("_N_R_"===i?"modality_NR":"")},/*#__PURE__*/React__default["default"].createElement(Icon$1,{type:h,checked:d,disabled:r},/*#__PURE__*/React__default["default"].createElement("input",{type:h,name:"".concat(h,"-").concat(n),ref:0===t||d?w:null,id:"".concat(h,"-").concat(n,"-").concat(i),"aria-labelledby":"input-label-".concat(n,"-").concat(i),className:"".concat(h,"-lunatic"),style:buildStyleObject(m),checked:d,disabled:r,onChange:function(){return N(i)}}),/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"".concat(h,"-").concat(n,"-").concat(i),id:"input-label-".concat(n,"-").concat(i),style:d?buildStyleObject(P):{},className:"modality-label"},l&&/*#__PURE__*/React__default["default"].createElement("span",{className:"code-modality"},u.toUpperCase()),s)),l&&/*#__PURE__*/React__default["default"].createElement(KeyboardEventHandler__default["default"],{handleKeys:[u.toLowerCase()],onKeyEvent:function(n,t){t.preventDefault(),N(i)},handleFocusableElements:!0}))}))),p&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:n,response:buildMultiTooltipResponse(S)(i)}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:u,features:c,bindings:f}))};ListDeclarationsWrapper.defaultProps={label:"",preferences:["COLLECTED"],response:{},options:[],disabled:!1,focused:!1,positioning:"DEFAULT",declarations:[],features:[],bindings:{},management:!1,style:{fieldsetStyle:{},modalityStyle:{}}},ListDeclarationsWrapper.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,options:options,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object,type:PropTypes__default["default"].oneOf(["radio","checkbox"])};var SimpleDeclarationsWrapper=function(e){var n=e.id,t=e.declarations,a=e.features,i=e.bindings,o=e.children;return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:t,features:a,bindings:i}),o,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:t,features:a,bindings:i}),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:t,features:a,bindings:i}))};SimpleDeclarationsWrapper.defaultProps={declarations:[],features:[],bindings:{}},SimpleDeclarationsWrapper.propTypes={id:PropTypes__default["default"].string.isRequired,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,children:PropTypes__default["default"].element.isRequired};var CheckboxOne=function(e){return/*#__PURE__*/React__default["default"].createElement(ListDeclarationsWrapper,_extends({type:"checkbox"},e,{hasSpecificHandler:!0}))},one=componentWrapper(/*#__PURE__*/React__default["default"].memo(CheckboxOne,areEqual)),css_248z$g="";styleInject(css_248z$g);var Datepicker=function(e){return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:"date",roleType:"datepicker"},e,{validators:[getTypeControls]}))};Datepicker.defaultProps={validators:[]},Datepicker.propTypes={validators:PropTypes__default["default"].arrayOf(PropTypes__default["default"].func)};var component$6=componentWrapper(/*#__PURE__*/React__default["default"].memo(Datepicker,areEqual));function createCommonjsModule(e,n){return n={exports:{}},e(n,n.exports),n.exports}var classnames=createCommonjsModule(function(e){/*!
|
|
804
760
|
Copyright (c) 2018 Jed Watson.
|
|
805
761
|
Licensed under the MIT License (MIT), see
|
|
806
762
|
http://jedwatson.github.io/classnames
|
|
@@ -809,13 +765,13 @@ React.useEffect(function(){if(!M)if(ee)de(ee),ne(null),U(!0);else{var e=function
|
|
|
809
765
|
*/function Panel$1(e){var n=e.options,t=void 0===n?[]:n,a=e.display,i=e.handleActive,o=e.prefix,d=e.activeIndex,r=e.selectedOption,s=e.onSelect,l=e.idDropdown,u=e.optionComponent,c=React.useRef();return a?/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-dropdown-panel-container"},/*#__PURE__*/React__default["default"].createElement("ul",{className:"lunatic-dropdown-panel",ref:c,tabIndex:"-1"},t.map(function(e,n){var t=e.label,a=e.value;return/*#__PURE__*/React__default["default"].createElement("li",{key:a,id:"".concat(l,"-option-").concat(a),onMouseEnter:function(){return i(n)},onMouseDown:function(n){n.stopPropagation(),n.preventDefault(),0===n.button&&s({label:t,value:a})}},/*#__PURE__*/React__default["default"].createElement(u,{label:t,value:a,prefix:o,active:d===n,selected:r&&r.value===a}))}))):null}var propTypesOption=PropTypes__default["default"].shape({label:PropTypes__default["default"].string,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].object,PropTypes__default["default"].number,PropTypes__default["default"].symbol,PropTypes__default["default"].bool])});Panel$1.propTypes={idDropdown:PropTypes__default["default"].string.isRequired,prefix:PropTypes__default["default"].string,onSelect:PropTypes__default["default"].func,handleActive:PropTypes__default["default"].func.isRequired,activeIndex:PropTypes__default["default"].number,selectedOption:propTypesOption,display:PropTypes__default["default"].bool.isRequired,options:PropTypes__default["default"].arrayOf(propTypesOption)},Panel$1.defaultProps={options:[],onSelect:function(){return null},selectedOption:void 0};var css_248z$f=".lunatic-icon {\n display: flex;\n justify-content: center;\n}";styleInject(".lunatic-icon {\n display: flex;\n justify-content: center;\n}");function ClosedIcon$2(e){var n=e.className,t=e.children;return/*#__PURE__*/React__default["default"].createElement("i",{className:classnames("lunatic-icon",n)},t)}function ClosedIcon$1(e){var n=e.className,t=e.width,a=void 0===t?32:t,i=e.height,o=void 0===i?32:i;return/*#__PURE__*/React__default["default"].createElement(ClosedIcon$2,{className:n},/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:o,x:"0",y:"0",enableBackground:"new 0 0 32 32",version:"1.1",viewBox:"0 0 32 32",xmlSpace:"preserve"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M 25.628748,11.329813 C 25.38152,11.109877 25.088459,11 24.749838,11 H 7.2500941 C 6.9113359,11 6.6184798,11.109877 6.3710468,11.329813 6.1236139,11.549992 6,11.810303 6,12.111233 c 0,0.300869 0.1236139,0.56118 0.3710468,0.781177 l 8.7499062,7.777534 C 15.368659,20.88988 15.661516,21 16,21 c 0.338484,0 0.631614,-0.11012 0.878842,-0.330056 l 8.749906,-7.777595 C 25.875907,12.672413 26,12.412102 26,12.111172 c 0,-0.300869 -0.124093,-0.56118 -0.371252,-0.781359 z"})))}function OpenedIcon(e){var n=e.className,t=e.width,a=void 0===t?32:t,i=e.height,o=void 0===i?32:i;return/*#__PURE__*/React__default["default"].createElement(ClosedIcon$2,{className:n},/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:o,x:"0",y:"0",enableBackground:"new 0 0 32 32",version:"1.1",viewBox:"0 0 32 32",xmlSpace:"preserve"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M 11.329813,6.371252 C 11.109877,6.61848 11,6.911541 11,7.250162 v 17.499744 c 0,0.338758 0.109877,0.631614 0.329813,0.879047 C 11.549992,25.876386 11.810303,26 12.111233,26 c 0.300869,0 0.56118,-0.123614 0.781177,-0.371047 l 7.777534,-8.749906 C 20.88988,16.631341 21,16.338484 21,16 21,15.661516 20.88988,15.368386 20.669944,15.121158 L 12.892349,6.371252 C 12.672413,6.124093 12.412102,6 12.111172,6 11.810303,6 11.549992,6.124093 11.329813,6.371252 Z"})))}function Label$2(e){var n=e.content,t=e.focused,a=e.mandatory;return n?/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-dropdown-label",{focused:t,mandatory:a})},n):null}Label$2.defaultProps={mandatory:!1},Label$2.propTypes={content:PropTypes__default["default"].string,focused:PropTypes__default["default"].bool.isRequired,mandatory:PropTypes__default["default"].bool};var CLEANER_CALLBACKS={},applyAll=function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];Object.entries(CLEANER_CALLBACKS).forEach(function(e){var t=_slicedToArray(e,2),a=t[0];t[1],-1===n.indexOf(a)&&apply(a)})},apply=function(e){e in CLEANER_CALLBACKS&&"function"==typeof CLEANER_CALLBACKS[e]&&CLEANER_CALLBACKS[e]()},add=function(e,n){"function"==typeof n&&(CLEANER_CALLBACKS[e]=n)},clear=function(e){delete CLEANER_CALLBACKS[e]};/**
|
|
810
766
|
*
|
|
811
767
|
* @param {...any} execpt identifiants de dropdownn a ne pas appliquer
|
|
812
|
-
*/function DropdownFieldContainer(e){var n=e.children,t=e.id,a=e.response,i=e.options,o=e.management,d=e.focused,r=e.visible,s=e.disabled;return/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(o?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"-1",className:classnames("lunatic-dropdown-container",{focused:d})},/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-content",{focused:d,visible:r,disabled:s})},n))),o&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:t,response:buildMultiTooltipResponse(i)(a)})))}var DropdownContainer$1=/*#__PURE__*/React__default["default"].forwardRef(function(e,n){var t=e.children,a=e.className,i=e.id,o=e.onMouseDown,d=e.onKeyDown,r=e.onFocus,s=e.onBlur;return/*#__PURE__*/React__default["default"].createElement("div",{className:a,tabIndex:"-1",id:i,onMouseDown:o,onKeyDown:d,onFocus:r,onBlur:s,ref:n},t)}),BINDED_KEYS$1={arrowUp:"ArrowUp",arrowDown:"ArrowDown",enter:"Enter",tab:"Tab"},createOnKeyDownCallback=function(e,n,t){return function(e){e===BINDED_KEYS$1.arrowUp?n(arrowUpPressed()):e===BINDED_KEYS$1.arrowDown?(n(arrowDownPressed()),n(showPanel())):e===BINDED_KEYS$1.enter?n(enterPressed(t)):e===BINDED_KEYS$1.tab?(n(setFocused(!1)),n(hidePanel())):void 0}},onMouseDownCallback=function(e,n){var t=e.visible,a=e.id,i=e.disabled;return function(o){o.stopPropagation(),t||i||(applyAll(a),n(showPanel()))}};/** */function stopAndPrevent(n){n.preventDefault(),n.stopPropagation()}/** */function prepareOptions(e,n){return e.reduce(function(e,t,a){return t.value===n&&-1===e.index?{index:a,option:t}:e},{index:-1,option:{}})}/** */function onKeyDownCallbackProxy(e,n,t){var a=createOnKeyDownCallback(e,n,t);return function(n){switch(n.key){case BINDED_KEYS$1.enter:case BINDED_KEYS$1.arrowUp:case BINDED_KEYS$1.arrowDown:stopAndPrevent(n),a(n.key);break;case BINDED_KEYS$1.tab:a(n.key);break;default:return;}return!1}}function Dropdown$3(e){var n=e.options,t=e.children,a=e.onSelect,i=e.response,o=e.className,d=e.label,r=e.labelPosition,s=e.mandatory,l=e.value,u=e.management,c=e.state,f=e.dispatch,p=e.refs,m=c.visible,g=c.focused,h=c.id,b=c.disabled;add(h,function(){f(hidePanel()),f(setFocused(!1))}),React.useEffect(function(){var e=function(){f(hidePanel()),f(setFocused(!1))};return window.addEventListener("mousedown",e),function(){window.removeEventListener("mousedown",e),clear(h)}},[h,f]),React.useEffect(function(){f(setOptions(n))},[n,f]),React.useEffect(function(){if(l){var e=prepareOptions(n,l),t=e.option,a=e.index;f(setSelectedOption(t)),f(setActiveOption(a))}},[l,n,f]);var y=React.useCallback(function(){f(setFocused(!b))},[f,b]),w=React.useCallback(function(){f(setFocused(!1))},[f]),x=React.useMemo(function(){return onMouseDownCallback(c,f)},[c,f]),v=React.useMemo(function(){return onKeyDownCallbackProxy(c,f,a)},[c,f,a]);return/*#__PURE__*/React__default["default"].createElement(DropdownContainer$1,{className:classnames(o,getLabelPositionClass(r),{focused:g,disabled:b}),id:h,onMouseDown:x,onKeyDown:v,onFocus:y,onBlur:w,ref:p},/*#__PURE__*/React__default["default"].createElement(Label$2,{content:d,focused:g,mandatory:s}),/*#__PURE__*/React__default["default"].createElement(DropdownFieldContainer,{id:h,response:i,options:n,management:u,focused:g,visible:m,disabled:b},t))}Dropdown$3.propTypes={zIndex:PropTypes__default["default"].number,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].object,PropTypes__default["default"].bool])},Dropdown$3.defaultProps={options:[],onSelect:function(){return null}};var DropdownContainer=/*#__PURE__*/React__default["default"].forwardRef(function(e,n){return/*#__PURE__*/React__default["default"].createElement(Dropdown$3,_extends({},e,{refs:n}))}),scrollTo=function(e){var n=document.getElementById(e);if(n){var t=n.parentNode,a=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,d=i.bottom-a.top+t.scrollTop;d>t.scrollTop+a.height?t.scrollTo(0,d-a.height):o<t.scrollTop&&t.scrollTo(0,o)}},preparePrefix=function(e){return"string"==typeof e?removeAccents__default["default"](e.toLowerCase()).replace(/[- ']/g,""):e},lettersMatching=function(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"",t=n.split(""),i=-1,o=preparePrefix(e);return o.split("").reduce(function(e,n){return i<t.length&&t[i+1]===n?(i++,[].concat(_toConsumableArray(e),[n])):e},[])},match=function(e,n){var t=n.split(""),i=-1,o=preparePrefix(e);return o.split("").reduce(function(e,n,a){return i<t.length&&t[i+1]===n?(i++,e+1):e/(1e-4*a+1)},0)/n.length},filterOption=function(e,n){return n&&0!==n.length?e.reduce(function(e,t){var a=t.label,i=t.search,o=match(i||a,n);return .6<=o?[{o:t,how:o}].concat(_toConsumableArray(e)).sort(function(e,n){return e.how<=n.how}):e},[]).map(function(e){var n=e.o;return n}):e},initial={prefix:void 0,options:[],visibleOptions:[],visible:!1,activeIndex:void 0,selectedOption:void 0,focused:!1,value:""},isPrefix=function(e){return e!==void 0&&0<e.length},reduceArrowDownPressed=function(e){var n=Math.min,t=e.visibleOptions,a=e.activeIndex,i=t.length?n(t.length-1,void 0===a?0:a+1):void 0;return void 0!==i&&scrollTo("".concat(e.id,"-option-").concat(t[i].value)),_objectSpread2(_objectSpread2({},e),{},{activeIndex:i})},reduceArrowUpPressed=function(e){var n=Math.max,t=e.visibleOptions,a=e.activeIndex,i=t.length?n(0,void 0===a?0:a-1):void 0;return void 0!==i&&scrollTo("".concat(e.id,"-option-").concat(t[i].value)),_objectSpread2(_objectSpread2({},e),{},{activeIndex:i})},reduceEnterPressed=function(e,n){var t=e.activeIndex,a=e.visibleOptions,i=e.visible;if(!i)return _objectSpread2(_objectSpread2({},e),{},{visible:!0});if(void 0!==t){var o=a[t];return n(o),_objectSpread2(_objectSpread2({},e),{},{selectedOption:o,value:o.label,prefix:preparePrefix(o.label),visible:!1})}return e},reducer=function(e,n){var t=n.type,a=n.payload;switch(t){case SHOW_PANEL:return _objectSpread2(_objectSpread2({},e),{},{visible:!0});case HIDE_PANEL:return _objectSpread2(_objectSpread2({},e),{},{visible:!1});case SET_ACTIVE_OPTION:{var i=a.index;return _objectSpread2(_objectSpread2({},e),{},{activeIndex:i})}case SET_OPTIONS:{var o=a.options,d=e.prefix;return _objectSpread2(_objectSpread2({},e),{},{options:o,visibleOptions:isPrefix(d)?filterOption(o):o})}case SET_PREFIX:{var r=a.prefix,s=e.options;return _objectSpread2(_objectSpread2({},e),{},{prefix:r,activeIndex:void 0,visibleOptions:isPrefix(r)?filterOption(s,r):s})}case SET_VALUE:{var l=a.value;return _objectSpread2(_objectSpread2({},e),{},{value:l})}case SET_SELECTED_OPTION:{var u=a.option;return _objectSpread2(_objectSpread2({},e),{},{value:u.label,selectedOption:u,prefix:preparePrefix(u.label)})}case SET_FOCUSED:{var c=a.focused;return _objectSpread2(_objectSpread2({},e),{},{focused:c})}case RESET_SELECTION:return _objectSpread2(_objectSpread2({},e),{},{prefix:void 0,value:"",selectedOption:void 0,activeIndex:void 0,activeOption:void 0,visibleOptions:e.options});case ARROW_UP_PRESSED:return reduceArrowUpPressed(e);case ARROW_DOWN_PRESSED:return reduceArrowDownPressed(e);case ENTER_PRESSED:{var f=a.callback;return reduceEnterPressed(e,f)}case INIT_ACTIVE_INDEX:return _objectSpread2(_objectSpread2({},e),{},{activeIndex:0});default:return e;}},Option$1=function(e){var n=e.label,t=e.active,a=e.selected;return/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-option",{"lunatic-dropdown-option-active":t,"lunatic-dropdown-option-selected":a})},n)},Dropdown$2=function(e){var n=e.widthAuto,t=e.id,a=e.label,i=e.value,o=e.options,d=e.response,r=e.onSelect,s=e.placeholderList,l=e.disabled,u=e.focused,c=e.mandatory,f=e.labelPosition,p=e.management,m=e.className,g=e.zIndex,h=e.DeclarationAfterLabel,b=React.useRef(),y=React.useReducer(reducer,_objectSpread2(_objectSpread2({},initial),{},{id:"dropdown-".concat(t,"-").concat(new Date().getMilliseconds()),disabled:l,focused:u})),w=_slicedToArray(y,2),x=w[0],v=w[1],k=x.focused,E=x.visible,S=x.activeIndex,C=x.id,T=createOnSelect$1(x,v,r),N=o.find(function(e){return e.value===i});return React.useEffect(function(){E&&!S&&v(initActiveIndex())},[S,E]),/*#__PURE__*/React__default["default"].createElement(DropdownContainer,{className:m||"lunatic-dropdown",ref:b,state:x,dispatch:v,options:o,response:d,management:p,label:a,labelPosition:f,mandatory:c,onSelect:T,value:i,zIndex:g},/*#__PURE__*/React__default["default"].createElement(h,null),/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-input",{focused:k})},/*#__PURE__*/React__default["default"].createElement("input",{type:"button",disabled:l,value:N?N.label:s||""})),getIcon$1(x,v)(E,b),/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"0",className:classnames("lunatic-transition",{visible:isDisplay$1(x),"width-auto":n})},/*#__PURE__*/React__default["default"].createElement(Panel$1,{idDropdown:C,options:o,display:isDisplay$1(x),activeIndex:S,optionComponent:Option$1,selectedOption:N,onSelect:T,handleActive:function(e){return v(setActiveOption(e))}})))};/** */Dropdown$2.propTypes={widthAuto:PropTypes__default["default"].bool,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,zIndex:PropTypes__default["default"].number,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,placeholderList:PropTypes__default["default"].string,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool])},Dropdown$2.defaultProps={disabled:!1,focused:!1,options:[],zIndex:0,onSelect:function(){return null},placeholderList:"Search...",widthAuto:!1};/* **/var isDisplay$1=function(e){var n=e.visible,t=e.options;return n&&0<t.length},getIcon$1=function(e,n){var t=e.disabled;return function(a,i){return t?/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:function(t){t.stopPropagation(),t.preventDefault(),a?n(hidePanel()):(n(showPanel()),i.current.focus())}},a?/*#__PURE__*/React__default["default"].createElement(OpenedIcon,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16}))}},createOnSelect$1=function(e,n,t){return function(e){n(setSelectedOption(e)),n(hidePanel()),t(e)}},_excluded$8=["children","options"],childrenToOption$1=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return(Array.isArray(e)?e:[e]).map(function(e){var n=e.props.value,t=e.props.children;if(t===void 0||n===void 0)throw new Error("Ooops");return{label:t,value:n}})},createDropdown=function(e){return function(n){var t=n.children,a=n.options,i=_objectWithoutProperties(n,_excluded$8),d=a||childrenToOption$1(t);return/*#__PURE__*/React__default["default"].createElement(e,_extends({options:d},i))}},DropdownSimple=createDropdown(Dropdown$2),Option=function(e){var n=e.label,t=e.active,a=e.prefix,i=e.selected,o=lettersMatching(n,a),d=n.split("").reduce(function(e,n){var t=e.letters,a=e.stack,i=preparePrefix(n),o=_toArray(t),d=o[0],r=o.slice(1);return i===d?{letters:r,stack:[].concat(_toConsumableArray(a),[{char:n,className:"lunatic-prefix"}])}:{letters:t,stack:[].concat(_toConsumableArray(a),[{char:n,className:"lunatic-normal"}])}},{letters:o,stack:[]}).stack.reduce(function(e,n){var t=e.last,a=e.stack,i=n.char,o=n.className;if(!t)return{last:o,stack:[{part:i,className:o}]};if(t!==o)return{last:o,stack:[{part:i,className:o}].concat(_toConsumableArray(a))};var d=_toArray(a),r=d[0],s=d.slice(1);return{last:o,stack:[_objectSpread2(_objectSpread2({},r),{},{part:"".concat(r.part).concat(i)})].concat(_toConsumableArray(s))}},{last:void 0,stack:[]}).stack.reverse().map(function(e,n){var t=e.part,a=e.className;return/*#__PURE__*/React__default["default"].createElement("span",{className:a,key:n},t)});return/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-option",{"lunatic-dropdown-option-active":t,"lunatic-dropdown-option-selected":i})},d)};/** */function CrossIcon$2(e){var n=e.className,t=e.width,a=void 0===t?32:t,i=e.height,o=void 0===i?32:i;return/*#__PURE__*/React__default["default"].createElement(ClosedIcon$2,{className:n},/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:o,x:"0",y:"0",enableBackground:"new 0 0 32 32",version:"1.1",viewBox:"0 0 32 32",xmlSpace:"preserve"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M 7.097006,7.0709627 C 6.4710386,7.6950801 6.0348033,8.5167883 6,9.3333333 l 6.666666,6.6666677 -6.6666655,6.666666 C 6.0406655,24.255963 7.7002437,25.930395 9.3333333,26 L 15.999999,19.333334 22.666665,26 C 24.255962,25.95934 25.930393,24.299755 26,22.666667 L 19.333332,16.000001 26,9.3333334 C 25.959335,7.7440359 24.299754,6.069605 22.666665,6 L 15.999999,12.666666 9.3333333,6 C 8.5386853,6.020332 7.7229758,6.4468492 7.097006,7.0709627 Z"})))}/** */var getIcon=function(e){return e?/*#__PURE__*/React__default["default"].createElement(OpenedIcon,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16})},Icon=function(e){var n=e.prefix,t=e.visible,a=e.disabled,i=e.onDelete,o=e.onSwitch;return a?/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:o},/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16})):n&&0<n.length?/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:i},/*#__PURE__*/React__default["default"].createElement(CrossIcon$2,{className:"lunatic-dropdown-icon",width:16,height:16})):/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:o},getIcon(t))},isDisplay=function(e){var n=e.visible,t=e.visibleOptions;return n&&0<t.length},onChangeCallback=function(e,n){return function(t){t.stopPropagation(),t.preventDefault();var e=t.target.value;n(setValue(e)),n(setPrefix(preparePrefix(e))),e&&1<e.length&&n(showPanel())}},createOnSelect=function(e,n,t){return function(e){n(setSelectedOption(e)),n(hidePanel()),t(e)}};/**
|
|
768
|
+
*/function DropdownFieldContainer(e){var n=e.children,t=e.id,a=e.response,i=e.options,o=e.management,d=e.focused,r=e.visible,s=e.disabled;return/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(o?"field-with-tooltip":"field")},/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"-1",className:classnames("lunatic-dropdown-container",{focused:d})},/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-content",{focused:d,visible:r,disabled:s})},n))),o&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:t,response:buildMultiTooltipResponse(i)(a)})))}var DropdownContainer$1=/*#__PURE__*/React__default["default"].forwardRef(function(e,n){var t=e.children,a=e.className,i=e.id,o=e.onMouseDown,d=e.onKeyDown,r=e.onFocus,s=e.onBlur;return/*#__PURE__*/React__default["default"].createElement("div",{className:a,tabIndex:"-1",id:i,onMouseDown:o,onKeyDown:d,onFocus:r,onBlur:s,ref:n},t)}),BINDED_KEYS$1={arrowUp:"ArrowUp",arrowDown:"ArrowDown",enter:"Enter",tab:"Tab"},createOnKeyDownCallback=function(e,n,t){return function(e){e===BINDED_KEYS$1.arrowUp?n(arrowUpPressed()):e===BINDED_KEYS$1.arrowDown?(n(arrowDownPressed()),n(showPanel())):e===BINDED_KEYS$1.enter?n(enterPressed(t)):e===BINDED_KEYS$1.tab?(n(setFocused(!1)),n(hidePanel())):void 0}},onMouseDownCallback=function(e,n){var t=e.visible,a=e.id,i=e.disabled;return function(o){o.stopPropagation(),t||i||(applyAll(a),n(showPanel()))}};/** */function stopAndPrevent(n){n.preventDefault(),n.stopPropagation()}/** */function prepareOptions(e,n){return e.reduce(function(e,t,a){return t.value===n&&-1===e.index?{index:a,option:t}:e},{index:-1,option:{}})}/** */function onKeyDownCallbackProxy(e,n,t){var a=createOnKeyDownCallback(e,n,t);return function(n){switch(n.key){case BINDED_KEYS$1.enter:case BINDED_KEYS$1.arrowUp:case BINDED_KEYS$1.arrowDown:stopAndPrevent(n),a(n.key);break;case BINDED_KEYS$1.tab:a(n.key);break;default:return;}return!1}}function Dropdown$3(e){var n=e.options,t=e.children,a=e.onSelect,i=e.response,o=e.className,d=e.label,r=e.labelPosition,s=e.mandatory,l=e.value,u=e.management,c=e.state,f=e.dispatch,p=e.refs,m=e.logFunction,g=c.visible,h=c.focused,b=c.id,y=c.disabled,w=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];return createObjectEvent(b,INPUT_CATEGORY,e?EVENT_FOCUS_IN:EVENT_FOCUS_OUT,getResponseName(i),l)};add(b,function(){f(hidePanel()),f(setFocused(!1))}),React.useEffect(function(){var e=function(){f(hidePanel()),f(setFocused(!1))};return window.addEventListener("mousedown",e),function(){window.removeEventListener("mousedown",e),clear(b)}},[b,f]),React.useEffect(function(){f(setOptions(n))},[n,f]),React.useEffect(function(){if(l){var e=prepareOptions(n,l),t=e.option,a=e.index;f(setSelectedOption(t)),f(setActiveOption(a))}},[l,n,f]);var x=React.useCallback(function(){f(setFocused(!y))},[f,y]),v=React.useCallback(function(){f(setFocused(!1))},[f]),k=React.useMemo(function(){return onMouseDownCallback(c,f)},[c,f]),E=React.useMemo(function(){return onKeyDownCallbackProxy(c,f,a)},[c,f,a]);return React.useEffect(function(){b&&h&&isFunction(m)&&m(w()),b&&!h&&isFunction(m)&&m(w(!1))},[h,b]),/*#__PURE__*/React__default["default"].createElement(DropdownContainer$1,{className:classnames(o,getLabelPositionClass(r),{focused:h,disabled:y}),id:b,onMouseDown:k,onKeyDown:E,onFocus:x,onBlur:v,ref:p},/*#__PURE__*/React__default["default"].createElement(Label$2,{content:d,focused:h,mandatory:s}),/*#__PURE__*/React__default["default"].createElement(DropdownFieldContainer,{id:b,response:i,options:n,management:u,focused:h,visible:g,disabled:y},t))}Dropdown$3.propTypes={zIndex:PropTypes__default["default"].number,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].object,PropTypes__default["default"].bool])},Dropdown$3.defaultProps={options:[],onSelect:function(){return null}};var DropdownContainer=/*#__PURE__*/React__default["default"].forwardRef(function(e,n){return/*#__PURE__*/React__default["default"].createElement(Dropdown$3,_extends({},e,{refs:n}))}),scrollTo=function(e){var n=document.getElementById(e);if(n){var t=n.parentNode,a=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,d=i.bottom-a.top+t.scrollTop;d>t.scrollTop+a.height?t.scrollTo(0,d-a.height):o<t.scrollTop&&t.scrollTo(0,o)}},preparePrefix=function(e){return"string"==typeof e?removeAccents__default["default"](e.toLowerCase()).replace(/[- ']/g,""):e},lettersMatching=function(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"",t=n.split(""),i=-1,o=preparePrefix(e);return o.split("").reduce(function(e,n){return i<t.length&&t[i+1]===n?(i++,[].concat(_toConsumableArray(e),[n])):e},[])},match=function(e,n){var t=n.split(""),i=-1,o=preparePrefix(e);return o.split("").reduce(function(e,n,a){return i<t.length&&t[i+1]===n?(i++,e+1):e/(1e-4*a+1)},0)/n.length},filterOption=function(e,n){return n&&0!==n.length?e.reduce(function(e,t){var a=t.label,i=t.search,o=match(i||a,n);return .6<=o?[{o:t,how:o}].concat(_toConsumableArray(e)).sort(function(e,n){return e.how<=n.how}):e},[]).map(function(e){var n=e.o;return n}):e},initial={prefix:void 0,options:[],visibleOptions:[],visible:!1,activeIndex:void 0,selectedOption:void 0,focused:!1,value:""},isPrefix=function(e){return e!==void 0&&0<e.length},reduceArrowDownPressed=function(e){var n=Math.min,t=e.visibleOptions,a=e.activeIndex,i=t.length?n(t.length-1,void 0===a?0:a+1):void 0;return void 0!==i&&scrollTo("".concat(e.id,"-option-").concat(t[i].value)),_objectSpread2(_objectSpread2({},e),{},{activeIndex:i})},reduceArrowUpPressed=function(e){var n=Math.max,t=e.visibleOptions,a=e.activeIndex,i=t.length?n(0,void 0===a?0:a-1):void 0;return void 0!==i&&scrollTo("".concat(e.id,"-option-").concat(t[i].value)),_objectSpread2(_objectSpread2({},e),{},{activeIndex:i})},reduceEnterPressed=function(e,n){var t=e.activeIndex,a=e.visibleOptions,i=e.visible;if(!i)return _objectSpread2(_objectSpread2({},e),{},{visible:!0});if(void 0!==t){var o=a[t];return n(o),_objectSpread2(_objectSpread2({},e),{},{selectedOption:o,value:o.label,prefix:preparePrefix(o.label),visible:!1})}return e},reducer=function(e,n){var t=n.type,a=n.payload;switch(t){case SHOW_PANEL:return _objectSpread2(_objectSpread2({},e),{},{visible:!0});case HIDE_PANEL:return _objectSpread2(_objectSpread2({},e),{},{visible:!1});case SET_ACTIVE_OPTION:{var i=a.index;return _objectSpread2(_objectSpread2({},e),{},{activeIndex:i})}case SET_OPTIONS:{var o=a.options,d=e.prefix;return _objectSpread2(_objectSpread2({},e),{},{options:o,visibleOptions:isPrefix(d)?filterOption(o):o})}case SET_PREFIX:{var r=a.prefix,s=e.options;return _objectSpread2(_objectSpread2({},e),{},{prefix:r,activeIndex:void 0,visibleOptions:isPrefix(r)?filterOption(s,r):s})}case SET_VALUE:{var l=a.value;return _objectSpread2(_objectSpread2({},e),{},{value:l})}case SET_SELECTED_OPTION:{var u=a.option;return _objectSpread2(_objectSpread2({},e),{},{value:u.label,selectedOption:u,prefix:preparePrefix(u.label)})}case SET_FOCUSED:{var c=a.focused;return _objectSpread2(_objectSpread2({},e),{},{focused:c})}case RESET_SELECTION:return _objectSpread2(_objectSpread2({},e),{},{prefix:void 0,value:"",selectedOption:void 0,activeIndex:void 0,activeOption:void 0,visibleOptions:e.options});case ARROW_UP_PRESSED:return reduceArrowUpPressed(e);case ARROW_DOWN_PRESSED:return reduceArrowDownPressed(e);case ENTER_PRESSED:{var f=a.callback;return reduceEnterPressed(e,f)}case INIT_ACTIVE_INDEX:return _objectSpread2(_objectSpread2({},e),{},{activeIndex:0});default:return e;}},Option$1=function(e){var n=e.label,t=e.active,a=e.selected;return/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-option",{"lunatic-dropdown-option-active":t,"lunatic-dropdown-option-selected":a})},n)},Dropdown$2=function(e){var n=e.widthAuto,t=e.id,a=e.label,i=e.value,o=e.options,d=e.response,r=e.onSelect,s=e.placeholderList,l=e.disabled,u=e.focused,c=e.mandatory,f=e.labelPosition,p=e.management,m=e.className,g=e.zIndex,h=e.DeclarationAfterLabel,b=e.logFunction,y=React.useRef(),w=React.useReducer(reducer,_objectSpread2(_objectSpread2({},initial),{},{id:"dropdown-".concat(t||new Date().getMilliseconds()),disabled:l,focused:u})),x=_slicedToArray(w,2),v=x[0],k=x[1],E=v.focused,S=v.visible,C=v.activeIndex,T=v.id,N=createOnSelect$1(v,k,r),R=o.find(function(e){return e.value===i});return React.useEffect(function(){S&&!C&&k(initActiveIndex())},[C,S]),/*#__PURE__*/React__default["default"].createElement(DropdownContainer,{className:m||"lunatic-dropdown",ref:y,state:v,dispatch:k,options:o,response:d,management:p,label:a,labelPosition:f,mandatory:c,onSelect:N,value:i,zIndex:g,logFunction:b},/*#__PURE__*/React__default["default"].createElement(h,null),/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-input",{focused:E})},/*#__PURE__*/React__default["default"].createElement("input",{type:"button",disabled:l,value:R?R.label:s||""})),getIcon$1(v,k)(S,y),/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"0",className:classnames("lunatic-transition",{visible:isDisplay$1(v),"width-auto":n})},/*#__PURE__*/React__default["default"].createElement(Panel$1,{idDropdown:T,options:o,display:isDisplay$1(v),activeIndex:C,optionComponent:Option$1,selectedOption:R,onSelect:N,handleActive:function(e){return k(setActiveOption(e))}})))};/** */Dropdown$2.propTypes={widthAuto:PropTypes__default["default"].bool,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,zIndex:PropTypes__default["default"].number,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,placeholderList:PropTypes__default["default"].string,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool])},Dropdown$2.defaultProps={disabled:!1,focused:!1,options:[],zIndex:0,onSelect:function(){return null},placeholderList:"Search...",widthAuto:!1};/* **/var isDisplay$1=function(e){var n=e.visible,t=e.options;return n&&0<t.length},getIcon$1=function(e,n){var t=e.disabled;return function(a,i){return t?/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:function(t){t.stopPropagation(),t.preventDefault(),a?n(hidePanel()):(n(showPanel()),i.current.focus())}},a?/*#__PURE__*/React__default["default"].createElement(OpenedIcon,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16}))}},createOnSelect$1=function(e,n,t){return function(e){n(setSelectedOption(e)),n(hidePanel()),t(e)}},_excluded$8=["children","options"],childrenToOption$1=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return(Array.isArray(e)?e:[e]).map(function(e){var n=e.props.value,t=e.props.children;if(t===void 0||n===void 0)throw new Error("Ooops");return{label:t,value:n}})},createDropdown=function(e){return function(n){var t=n.children,a=n.options,i=_objectWithoutProperties(n,_excluded$8),d=a||childrenToOption$1(t);return/*#__PURE__*/React__default["default"].createElement(e,_extends({options:d},i))}},DropdownSimple=createDropdown(Dropdown$2),Option=function(e){var n=e.label,t=e.active,a=e.prefix,i=e.selected,o=lettersMatching(n,a),d=n.split("").reduce(function(e,n){var t=e.letters,a=e.stack,i=preparePrefix(n),o=_toArray(t),d=o[0],r=o.slice(1);return i===d?{letters:r,stack:[].concat(_toConsumableArray(a),[{char:n,className:"lunatic-prefix"}])}:{letters:t,stack:[].concat(_toConsumableArray(a),[{char:n,className:"lunatic-normal"}])}},{letters:o,stack:[]}).stack.reduce(function(e,n){var t=e.last,a=e.stack,i=n.char,o=n.className;if(!t)return{last:o,stack:[{part:i,className:o}]};if(t!==o)return{last:o,stack:[{part:i,className:o}].concat(_toConsumableArray(a))};var d=_toArray(a),r=d[0],s=d.slice(1);return{last:o,stack:[_objectSpread2(_objectSpread2({},r),{},{part:"".concat(r.part).concat(i)})].concat(_toConsumableArray(s))}},{last:void 0,stack:[]}).stack.reverse().map(function(e,n){var t=e.part,a=e.className;return/*#__PURE__*/React__default["default"].createElement("span",{className:a,key:n},t)});return/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-option",{"lunatic-dropdown-option-active":t,"lunatic-dropdown-option-selected":i})},d)};/** */function CrossIcon$2(e){var n=e.className,t=e.width,a=void 0===t?32:t,i=e.height,o=void 0===i?32:i;return/*#__PURE__*/React__default["default"].createElement(ClosedIcon$2,{className:n},/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:o,x:"0",y:"0",enableBackground:"new 0 0 32 32",version:"1.1",viewBox:"0 0 32 32",xmlSpace:"preserve"},/*#__PURE__*/React__default["default"].createElement("path",{d:"M 7.097006,7.0709627 C 6.4710386,7.6950801 6.0348033,8.5167883 6,9.3333333 l 6.666666,6.6666677 -6.6666655,6.666666 C 6.0406655,24.255963 7.7002437,25.930395 9.3333333,26 L 15.999999,19.333334 22.666665,26 C 24.255962,25.95934 25.930393,24.299755 26,22.666667 L 19.333332,16.000001 26,9.3333334 C 25.959335,7.7440359 24.299754,6.069605 22.666665,6 L 15.999999,12.666666 9.3333333,6 C 8.5386853,6.020332 7.7229758,6.4468492 7.097006,7.0709627 Z"})))}/** */var getIcon=function(e){return e?/*#__PURE__*/React__default["default"].createElement(OpenedIcon,{className:"lunatic-dropdown-icon",width:16,height:16}):/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16})},Icon=function(e){var n=e.prefix,t=e.visible,a=e.disabled,i=e.onDelete,o=e.onSwitch;return a?/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:o},/*#__PURE__*/React__default["default"].createElement(ClosedIcon$1,{className:"lunatic-dropdown-icon",width:16,height:16})):n&&0<n.length?/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:i},/*#__PURE__*/React__default["default"].createElement(CrossIcon$2,{className:"lunatic-dropdown-icon",width:16,height:16})):/*#__PURE__*/React__default["default"].createElement("span",{tabIndex:"-1",onMouseDown:o},getIcon(t))},isDisplay=function(e){var n=e.visible,t=e.visibleOptions;return n&&0<t.length},onChangeCallback=function(e,n){return function(t){t.stopPropagation(),t.preventDefault();var e=t.target.value;n(setValue(e)),n(setPrefix(preparePrefix(e))),e&&1<e.length&&n(showPanel())}},createOnSelect=function(e,n,t){return function(e){n(setSelectedOption(e)),n(hidePanel()),t(e)}};/**
|
|
813
769
|
*
|
|
814
770
|
* @param {props}
|
|
815
|
-
*/function Dropdown$1(e){var n=e.widthAuto,t=e.options,a=void 0===t?[]:t,i=e.onSelect,o=e.response,d=e.className,r=e.placeholderList,s=e.label,l=e.labelPosition,u=e.mandatory,c=e.value,f=e.zIndex,p=e.management,m=e.disabled,g=e.focused,h=e.DeclarationAfterLabel,b=React.useReducer(reducer,_objectSpread2(_objectSpread2({},initial),{},{id:"dropdown-".concat(new Date().getMilliseconds()),disabled:m,focused:g})),y=_slicedToArray(b,2),w=y[0],x=y[1],v=w.prefix,k=w.visible,E=w.activeIndex,S=w.visibleOptions,C=w.value,T=w.focused,N=w.id,R=React.useRef(),P=React.useRef(),_=createOnSelect(w,x,i),L=a.find(function(e){return e.label===C});return React.useEffect(function(){k&&!E&&x(initActiveIndex())},[E,k]),React.useEffect(function(){var e=R.current;e&&T&&e.focus()},[R,T]),/*#__PURE__*/React__default["default"].createElement(DropdownContainer,{className:d||"lunatic-dropdown",state:w,ref:P,dispatch:x,options:a,label:s,labelPosition:l,mandatory:u,response:o,onSelect:_,value:c,zIndex:f,management:p},/*#__PURE__*/React__default["default"].createElement(h,null),/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-input",{focused:T,disabled:m})},/*#__PURE__*/React__default["default"].createElement("input",{type:"text",ref:R,value:C||"",disabled:m,placeholderList:r,autoComplete:"list",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",tabIndex:"0",onChange:onChangeCallback(w,x)})),/*#__PURE__*/React__default["default"].createElement(Icon,{prefix:v,visible:k,disabled:m,onDelete:function(n){n.stopPropagation(),R.current.value="",x(resetSelection()),_({value:null})},onSwitch:function(n){n.stopPropagation(),n.preventDefault(),k?x(hidePanel()):(x(showPanel()),P.current.focus())}}),/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"-1",className:classnames("lunatic-transition",{visible:isDisplay(w),"width-auto":n})},/*#__PURE__*/React__default["default"].createElement(Panel$1,{idDropdown:N,options:S,display:isDisplay(w)&&!m,prefix:v,activeIndex:E,optionComponent:Option,selectedOption:L,onSelect:_,handleActive:function(e){return x(setActiveOption(e))}})))}Dropdown$1.propTypes={widthAuto:PropTypes__default["default"].bool,zIndex:PropTypes__default["default"].number,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,placeholderList:PropTypes__default["default"].string,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool])},Dropdown$1.defaultProps={options:[],zIndex:0,onSelect:function(){return null},placeholderList:"Search...",disabled:!1,focused:!1,widthAuto:!1};var childrenToOption=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return(Array.isArray(e)?e:[e]).map(function(e){var n=e.props.value,t=e.props.children;if(t===void 0||n===void 0)throw new Error("Ooops");return{label:t,value:n}})},_excluded$7=["children","options"],createDropDown=function(e){return function(n){var t=n.children,a=n.options,i=_objectWithoutProperties(n,_excluded$7),d=a||childrenToOption(t);return/*#__PURE__*/React__default["default"].createElement(e,_extends({options:d},i))}},DropdownEdit=createDropDown(Dropdown$1),css_248z$e=".lunatic-component .lunatic-dropdown {\n display: block;\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.lunatic-component .lunatic-dropdown:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown.label-left {\n display: flex;\n flex-direction: row;\n}\n.lunatic-component .lunatic-dropdown.label-right {\n display: flex;\n flex-direction: row-reverse;\n}\n.lunatic-component .lunatic-dropdown.label-top {\n display: flex;\n flex-direction: column;\n}\n.lunatic-component .lunatic-dropdown.label-bottom {\n display: flex;\n flex-direction: column-reverse;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-label {\n opacity: 1;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container {\n position: relative;\n height: 2em;\n width: 100%;\n z-index: 1;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container ul {\n padding-inline-start: 0px;\n font-size: 1rem;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container.focused {\n z-index: 2;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content {\n border-color: white;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n height: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content.visible {\n height: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input {\n border-bottom: 1px solid var(--color-primary-dark);\n padding: 6px 0 7px;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input input {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n -moz-user-select: none;\n /* Firefox */\n -ms-user-select: none;\n /* Internet Explorer */\n -khtml-user-select: none;\n /* KHTML browsers (e.g. Konqueror) */\n -webkit-user-select: none;\n /* Chrome, Safari, and Opera */\n -webkit-touch-callout: none;\n /* Disable Android and iOS callouts*/\n margin: 0px 25px 0px 0px;\n width: calc(100% - 37px);\n background-color: transparent;\n border-color: transparent;\n height: 2em;\n border: none;\n outline: none;\n text-align: left;\n cursor: inherit;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input:hover {\n cursor: pointer;\n border-bottom: 2px solid var(--color-primary-main);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input.focused {\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 12px 0 rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-icon {\n cursor: pointer;\n position: absolute;\n right: 2px;\n top: 2px;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-icon svg {\n fill: #929292;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition {\n opacity: 0;\n /** options style */\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition.visible {\n visibility: visible;\n opacity: 1;\n transition: opacity var(--dropdown-transition-time) ease-out;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.9), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container .lunatic-dropdown-panel {\n background-color: white;\n margin: 0 0 12px 0;\n border-radius: 4px;\n z-index: 3;\n padding-top: 3px;\n list-style: none;\n max-height: 100px;\n overflow-y: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container .lunatic-dropdown-panel:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option {\n padding-left: 10px;\n cursor: pointer;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: black;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option.lunatic-dropdown-option-active {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-active);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option.lunatic-dropdown-option-selected {\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option .lunatic-prefix {\n color: var(--color-prefix);\n font-weight: bold;\n}";styleInject(css_248z$e);var _excluded$6=["id","label","preferences","response","handleChange","options","writable","declarations","features","bindings","management","freezeOptions"],_excluded2$3=["label"];function compileFeatures(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return e.reduce(function(e,n){return"MD"===n?e:[].concat(_toConsumableArray(e),[n])},[])}var Dropdown=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.handleChange,d=e.options,r=e.writable,s=e.declarations,l=e.features,u=e.bindings,c=e.management,f=e.freezeOptions,p=_objectWithoutProperties(e,_excluded$6),m=React.useState(d),g=_slicedToArray(m,2),h=g[0],b=g[1],y=React.useMemo(function(){return compileFeatures(l)},[l]);React.useEffect(function(){if(!f){var e=d.map(function(e){var n=e.label,t=_objectWithoutProperties(e,_excluded2$3);return _objectSpread2({label:interpret(y)(u)(n)},t)});b(e)}},[f,y,l,u,d]);var w=interpret(l,null===p||void 0===p?void 0:p.logFunction)(u)(t),x=getResponseByPreference(a)(i),v=function(n){return o(_defineProperty({},getResponseName(i),n.value))},k=function(){return/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:s,features:l,bindings:u})};return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:s,features:l,bindings:u}),r?/*#__PURE__*/React__default["default"].createElement(DropdownEdit,_extends({},p,{id:n,value:x,response:i,label:w,options:h,onSelect:v,management:c,DeclarationAfterLabel:k})):/*#__PURE__*/React__default["default"].createElement(DropdownSimple,_extends({},p,{id:n,value:x,response:i,label:w,options:h,onSelect:v,management:c,DeclarationAfterLabel:k})),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:s,features:l,bindings:u}))};Dropdown.propTypes={disabled:PropTypes__default["default"].bool,writable:PropTypes__default["default"].bool,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),handleChange:PropTypes__default["default"].func,label:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].element]),className:PropTypes__default["default"].string,zIndex:PropTypes__default["default"].number,freezeOptions:PropTypes__default["default"].bool},Dropdown.defaultProps={writable:!1,handleChange:function(){return null},features:[],label:void 0,className:void 0,zIndex:0,disabled:!1,freezeOptions:!1};var component$5=componentWrapper(/*#__PURE__*/React__default["default"].memo(Dropdown,areEqual)),css_248z$d=".lunatic-component .input-lunatic,\n.lunatic-component .datepicker-lunatic,\n.lunatic-component .textarea-lunatic {\n font: inherit;\n border: 0;\n border-bottom: 0.125rem double rgba(0, 0, 0, 0.42);\n margin: 0;\n padding: 0.375rem 0 0.375rem 0.4375rem;\n display: block;\n min-width: 0;\n box-sizing: content-box;\n background: none;\n}\n.lunatic-component .input-lunatic:focus,\n.lunatic-component .datepicker-lunatic:focus,\n.lunatic-component .textarea-lunatic:focus {\n outline: none;\n border-bottom: 0.125rem solid var(--color-primary-main);\n}\n.lunatic-component .input-lunatic:hover,\n.lunatic-component .datepicker-lunatic:hover,\n.lunatic-component .textarea-lunatic:hover {\n border-bottom: 0.125rem solid black;\n}\n.lunatic-component .input-lunatic:read-only,\n.lunatic-component .datepicker-lunatic:read-only,\n.lunatic-component .textarea-lunatic:read-only {\n background-color: var(--color-disabled);\n}\n.lunatic-component .warning {\n box-sizing: border-box;\n border: solid 2px var(--color-error);\n background-color: var(--color-error);\n}";styleInject(css_248z$d);var Input=function(e){return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:"text",roleType:"input"},e))},input=componentWrapper(/*#__PURE__*/React__default["default"].memo(Input,areEqual)),_excluded$5=["numberAsTextfield"],InputNumber=function(e){var n=e.numberAsTextfield,t=_objectWithoutProperties(e,_excluded$5);return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:n?"text":"number",roleType:"input"},t,{isInputNumber:!0,numberAsTextfield:!0,validators:[getTypeControls]}))};InputNumber.defaultProps={validators:[]},InputNumber.propTypes={validators:PropTypes__default["default"].arrayOf(PropTypes__default["default"].func)};var inputNumber=componentWrapper(/*#__PURE__*/React__default["default"].memo(InputNumber,areEqual)),FilterDescription=function(e){var n=e.id,t=e.label,a=e.filterDescription,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return a?/*#__PURE__*/React__default["default"].createElement("div",{id:"filter-description-".concat(n),"aria-label":"filter-description",className:"filter-description-lunatic",style:buildStyleObject(d)},interpret(i,r)(o)(t)):null};FilterDescription.defaultProps={filterDescription:!1,features:[],bindings:{},style:{}},FilterDescription.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,filterDescription:PropTypes__default["default"].bool,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var css_248z$c=".lunatic-modal {\n position: fixed;\n padding-top: 50px;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 1000;\n}\n.lunatic-modal .lunatic-modal-content {\n position: relative;\n background-color: white;\n padding: 20px;\n margin: auto;\n width: 50%;\n -webkit-animation-name: animatetop;\n -webkit-animation-duration: 0.4s;\n animation-name: animatetop;\n animation-duration: 0.4s;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-text {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 1em;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons {\n display: flex;\n justify-content: space-around;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons .lunatic-modal-button {\n font-size: 0.8em;\n}";styleInject(".lunatic-modal {\n position: fixed;\n padding-top: 50px;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 1000;\n}\n.lunatic-modal .lunatic-modal-content {\n position: relative;\n background-color: white;\n padding: 20px;\n margin: auto;\n width: 50%;\n -webkit-animation-name: animatetop;\n -webkit-animation-duration: 0.4s;\n animation-name: animatetop;\n animation-duration: 0.4s;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-text {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 1em;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons {\n display: flex;\n justify-content: space-around;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons .lunatic-modal-button {\n font-size: 0.8em;\n}");var Modal=function(e){var n=e.controls,t=e.cancelModal,a=e.validateModal,i=n.map(function(e){var n=e.criticality;return n}).includes("LOCK");return/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-content"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-text"},/*#__PURE__*/React__default["default"].createElement("ul",null,n.map(function(e){var n=e.id,t=e.errorMessage;return/*#__PURE__*/React__default["default"].createElement("li",{key:n},t)}))),/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-buttons"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-button"},/*#__PURE__*/React__default["default"].createElement(Button,{value:"Corriger ma r\xE9ponse",onClick:t})),/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-button"},/*#__PURE__*/React__default["default"].createElement(Button,{value:"Continuer",onClick:a,disabled:i})))))},css_248z$b=".lunatic-component .progress-lunatic {\n height: 30px;\n position: relative;\n background: var(--color-disabled);\n -moz-border-radius: 20px;\n -webkit-border-radius: 20px;\n border-radius: 20px;\n padding: 5px;\n box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3);\n text-align: center;\n font-weight: bold;\n}\n.lunatic-component .progress-lunatic > span {\n display: block;\n height: 100%;\n border-radius: 20px;\n background-color: var(--color-primary-light);\n opacity: 0.6;\n box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4);\n position: relative;\n top: -18px;\n overflow: hidden;\n}\n.lunatic-component .progress-lunatic > span:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);\n z-index: 1;\n background-size: 50px 50px;\n animation: move 2s linear infinite;\n border-top-right-radius: 8px;\n border-bottom-right-radius: 8px;\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n overflow: hidden;\n}";styleInject(css_248z$b);var ProgressBar=function(e){var n=e.id,t=e.value,a=e.style,i=t;return 0>t&&(i=0),100<t&&(i=100),/*#__PURE__*/React__default["default"].createElement("div",{id:"progress-".concat(n),className:"progress-lunatic",style:buildStyleObject(a)},"".concat(i.toFixed(0)," %"),/*#__PURE__*/React__default["default"].createElement("span",{style:{width:"".concat(i,"%")}}))};ProgressBar.propTypes={id:PropTypes__default["default"].string.isRequired,value:PropTypes__default["default"].number.isRequired,style:PropTypes__default["default"].object};var css_248z$a=".lunatic-component .radio-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n margin-top: 0.9375rem;\n}\n.lunatic-component .radio-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.05rem;\n margin-left: 0.2rem;\n height: 20px;\n width: 20px;\n}\n.lunatic-component .radio-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .radio-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .radio-lunatic + label::before {\n float: left;\n line-height: 2rem;\n}\n.lunatic-component .field .radio-group-list .radio-modality,\n.lunatic-component .field-with-tooltip .radio-group-list .radio-modality {\n height: 1.375em;\n}\n.lunatic-component .radio-group-list .radio-modality label {\n display: flex;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .radio-modality {\n margin-bottom: 0.8em;\n}\n.lunatic-component .radio-lunatic + label {\n margin-top: 0.325em;\n}";styleInject(".lunatic-component .radio-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n margin-top: 0.9375rem;\n}\n.lunatic-component .radio-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.05rem;\n margin-left: 0.2rem;\n height: 20px;\n width: 20px;\n}\n.lunatic-component .radio-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .radio-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .radio-lunatic + label::before {\n float: left;\n line-height: 2rem;\n}\n.lunatic-component .field .radio-group-list .radio-modality,\n.lunatic-component .field-with-tooltip .radio-group-list .radio-modality {\n height: 1.375em;\n}\n.lunatic-component .radio-group-list .radio-modality label {\n display: flex;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .radio-modality {\n margin-bottom: 0.8em;\n}\n.lunatic-component .radio-lunatic + label {\n margin-top: 0.325em;\n}");var Radio=function(e){return/*#__PURE__*/React__default["default"].createElement(ListDeclarationsWrapper,_extends({type:"radio"},e))},component$4=componentWrapper(/*#__PURE__*/React__default["default"].memo(Radio,areEqual)),css_248z$9=".lunatic-component .lunatic-loop .loop-label {\n text-align: center;\n font-weight: bold;\n font-size: 2em;\n}\n.lunatic-component .lunatic-loop .loop-component {\n margin-top: 0.4em;\n margin-bottom: 0.4em;\n}";styleInject(css_248z$9);var _excluded$4=["id","label","iterations","components","bindings","handleChange","loopDependencies","maxPage","pagination","paginatedLoop","currentPage","depth"],_excluded2$2=["componentType","id","rowNumber","conditionFilter","page","bindingDependencies","missingResponse"],Loop=function(e){var n=e.id;e.label;var t=e.iterations,a=e.components,i=e.bindings,o=e.handleChange;e.loopDependencies,e.maxPage;var d=e.pagination,r=e.paginatedLoop,s=e.currentPage,l=e.depth,u=_objectWithoutProperties(e,_excluded$4),c=React.useState([]),f=_slicedToArray(c,2),p=f[0],m=f[1],g=buildVectorialBindings(i),h=u.features,b=h.filter(function(e){return"MD"!==e}),y=parseInt(interpret(b)(g)(t),10)||0,w=getInvolvedVariables(a);React.useEffect(function(){var e=w.reduce(function(e,n){var t=n.name,a=n.depth;return i[t]?y===i[t].length?e:y<=i[t].length?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,_toConsumableArray(i[t].splice(0,y)))):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[].concat(_toConsumableArray(i[t]),_toConsumableArray(Array(y-i[t].length).fill(buildEmptyValue(a)))))):e},{});0!==Object.keys(e).length&&o(e)},[y]),React.useEffect(function(){if(0!==p.length){var e=p.reduce(function(e,n){var t=n.up,a=n.rowNumber,o=Object.entries(t);if(0===o.length)return e;var d=o.reduce(function(e,n){var t=_slicedToArray(n,2),o=t[0],d=t[1],r=i[o],s=r.map(function(e,n){return n===a?d:e});return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},o,s))},{});return _objectSpread2(_objectSpread2({},e),d)},{});o(e),m([])}},[i,p,o]);var x=buildLoopComponents(y)(a),v=splitPage(s,l),k=v.currentIteration,E=v.currentPageWithoutAnyIteration,S={},C=x.reduce(function(e,n){var t=n.componentType,a=n.id,o=n.rowNumber,l=n.conditionFilter,c=n.page,f=n.bindingDependencies,p=void 0===f?[]:f,g=n.missingResponse,h=_objectWithoutProperties(n,_excluded2$2),y=p.map(function(e){return i[e]?[e,i[e]]:[e,null]}),w=buildLoopBindings(o)(y),x=buildLoopMissingResponse(o)(g);if(!displayLoopQuestion(p)(w))return e;var v=lunatic[t],C=l.bindingDependencies,T=void 0===C?[]:C,N=l.value,R=void 0===N?"":N,P=T.map(function(e){return i[e]?[e,i[e]]:[e,null]}),_=buildLoopBindings(o)(P),L=S[R]||function(){var e=interpret(b)(_)(R);return S["".concat(R,"-row-").concat(o)]=e,e}();return!L||d&&(E!==c||r&&o+1!==k)?e:[].concat(_toConsumableArray(e),[/*#__PURE__*/React__default["default"].createElement("div",{key:"".concat(a,"-loop-").concat(o),className:"loop-component"},/*#__PURE__*/React__default["default"].createElement(v,_extends({},u,h,{id:"".concat(a,"-loop-").concat(o),handleChange:function(e){m(function(n){return[].concat(_toConsumableArray(n),[{up:e,rowNumber:o}])})},bindings:w,fullBindings:i,bindingDependencies:p,componentType:t,pagination:d,currentPage:s,conditionFilter:l,missingResponse:x})))])},[]);return/*#__PURE__*/React__default["default"].createElement("div",{id:"loop-".concat(n),className:"lunatic-loop"},C)},Loop$1=/*#__PURE__*/React__default["default"].memo(Loop,areEqual),_excluded$3=["response"],buildContentForLoopConstructor=function(e){var n=e.components,t=e.headers,a=n.find(function(e){return e.response}).response.values[COLLECTED].length||1,i=_toConsumableArray(Array(a).keys()),o=n.map(function(e){var n=e.response,t=_objectWithoutProperties(e,_excluded$3);if(!n)return i.map(function(){return e});// Handle reponses & cells components ?
|
|
771
|
+
*/function Dropdown$1(e){var n=e.id,t=e.widthAuto,a=e.options,i=void 0===a?[]:a,o=e.onSelect,d=e.response,r=e.className,s=e.placeholderList,l=e.label,u=e.labelPosition,c=e.mandatory,f=e.value,p=e.zIndex,m=e.management,g=e.disabled,h=e.focused,b=e.DeclarationAfterLabel,y=e.logFunction,w=React.useReducer(reducer,_objectSpread2(_objectSpread2({},initial),{},{id:"dropdown-".concat(n||new Date().getMilliseconds()),disabled:g,focused:h})),x=_slicedToArray(w,2),v=x[0],k=x[1],E=v.prefix,S=v.visible,C=v.activeIndex,T=v.visibleOptions,N=v.value,R=v.focused,P=v.id,_=React.useRef(),L=React.useRef(),D=createOnSelect(v,k,o),I=i.find(function(e){return e.label===N});return React.useEffect(function(){S&&!C&&k(initActiveIndex())},[C,S]),React.useEffect(function(){var e=_.current;e&&R&&e.focus()},[_,R]),/*#__PURE__*/React__default["default"].createElement(DropdownContainer,{className:r||"lunatic-dropdown",state:v,ref:L,dispatch:k,options:i,label:l,labelPosition:u,mandatory:c,response:d,onSelect:D,value:f,zIndex:p,management:m,logFunction:y},/*#__PURE__*/React__default["default"].createElement(b,null),/*#__PURE__*/React__default["default"].createElement("span",{className:classnames("lunatic-dropdown-input",{focused:R,disabled:g})},/*#__PURE__*/React__default["default"].createElement("input",{type:"text",ref:_,value:N||"",disabled:g,placeholderList:s,autoComplete:"list",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",tabIndex:"0",onChange:onChangeCallback(v,k)})),/*#__PURE__*/React__default["default"].createElement(Icon,{prefix:E,visible:S,disabled:g,onDelete:function(n){n.stopPropagation(),_.current.value="",k(resetSelection()),D({value:null})},onSwitch:function(n){n.stopPropagation(),n.preventDefault(),S?k(hidePanel()):(k(showPanel()),L.current.focus())}}),/*#__PURE__*/React__default["default"].createElement("div",{tabIndex:"-1",className:classnames("lunatic-transition",{visible:isDisplay(v),"width-auto":t})},/*#__PURE__*/React__default["default"].createElement(Panel$1,{idDropdown:P,options:T,display:isDisplay(v)&&!g,prefix:E,activeIndex:C,optionComponent:Option,selectedOption:I,onSelect:D,handleActive:function(e){return k(setActiveOption(e))}})))}Dropdown$1.propTypes={widthAuto:PropTypes__default["default"].bool,zIndex:PropTypes__default["default"].number,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,className:PropTypes__default["default"].string,id:PropTypes__default["default"].string,options:PropTypes__default["default"].array.isRequired,onSelect:PropTypes__default["default"].func,placeholderList:PropTypes__default["default"].string,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool])},Dropdown$1.defaultProps={options:[],zIndex:0,onSelect:function(){return null},placeholderList:"Search...",disabled:!1,focused:!1,widthAuto:!1};var childrenToOption=function(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return(Array.isArray(e)?e:[e]).map(function(e){var n=e.props.value,t=e.props.children;if(t===void 0||n===void 0)throw new Error("Ooops");return{label:t,value:n}})},_excluded$7=["children","options"],createDropDown=function(e){return function(n){var t=n.children,a=n.options,i=_objectWithoutProperties(n,_excluded$7),d=a||childrenToOption(t);return/*#__PURE__*/React__default["default"].createElement(e,_extends({options:d},i))}},DropdownEdit=createDropDown(Dropdown$1),css_248z$e=".lunatic-component .lunatic-dropdown {\n display: block;\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.lunatic-component .lunatic-dropdown:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown.label-left {\n display: flex;\n flex-direction: row;\n}\n.lunatic-component .lunatic-dropdown.label-right {\n display: flex;\n flex-direction: row-reverse;\n}\n.lunatic-component .lunatic-dropdown.label-top {\n display: flex;\n flex-direction: column;\n}\n.lunatic-component .lunatic-dropdown.label-bottom {\n display: flex;\n flex-direction: column-reverse;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-label {\n opacity: 1;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container {\n position: relative;\n height: 2em;\n width: 100%;\n z-index: 1;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container ul {\n padding-inline-start: 0px;\n font-size: 1rem;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container.focused {\n z-index: 2;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content {\n border-color: white;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n height: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content.visible {\n height: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input {\n border-bottom: 1px solid var(--color-primary-dark);\n padding: 6px 0 7px;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input input {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n -moz-user-select: none;\n /* Firefox */\n -ms-user-select: none;\n /* Internet Explorer */\n -khtml-user-select: none;\n /* KHTML browsers (e.g. Konqueror) */\n -webkit-user-select: none;\n /* Chrome, Safari, and Opera */\n -webkit-touch-callout: none;\n /* Disable Android and iOS callouts*/\n margin: 0px 25px 0px 0px;\n width: calc(100% - 37px);\n background-color: transparent;\n border-color: transparent;\n height: 2em;\n border: none;\n outline: none;\n text-align: left;\n cursor: inherit;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input:hover {\n cursor: pointer;\n border-bottom: 2px solid var(--color-primary-main);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-input.focused {\n background-color: rgba(0, 0, 0, 0.05);\n box-shadow: 12px 0 rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-icon {\n cursor: pointer;\n position: absolute;\n right: 2px;\n top: 2px;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-dropdown-icon svg {\n fill: #929292;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition {\n opacity: 0;\n /** options style */\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition.visible {\n visibility: visible;\n opacity: 1;\n transition: opacity var(--dropdown-transition-time) ease-out;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container {\n box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.9), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container .lunatic-dropdown-panel {\n background-color: white;\n margin: 0 0 12px 0;\n border-radius: 4px;\n z-index: 3;\n padding-top: 3px;\n list-style: none;\n max-height: 100px;\n overflow-y: auto;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-panel-container .lunatic-dropdown-panel:focus {\n outline: none;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option {\n padding-left: 10px;\n cursor: pointer;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: black;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option.lunatic-dropdown-option-active {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-active);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option.lunatic-dropdown-option-selected {\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-dropdown .lunatic-dropdown-container .lunatic-dropdown-content .lunatic-transition .lunatic-dropdown-option .lunatic-prefix {\n color: var(--color-prefix);\n font-weight: bold;\n}";styleInject(css_248z$e);var _excluded$6=["id","label","preferences","response","handleChange","options","writable","declarations","features","bindings","management","freezeOptions"],_excluded2$3=["label"];function compileFeatures(){var e=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return e.reduce(function(e,n){return"MD"===n?e:[].concat(_toConsumableArray(e),[n])},[])}var Dropdown=function(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.handleChange,d=e.options,r=e.writable,s=e.declarations,l=e.features,u=e.bindings,c=e.management,f=e.freezeOptions,p=_objectWithoutProperties(e,_excluded$6),m=React.useState(d),g=_slicedToArray(m,2),h=g[0],b=g[1],y=React.useMemo(function(){return compileFeatures(l)},[l]);React.useEffect(function(){if(!f){var e=d.map(function(e){var n=e.label,t=_objectWithoutProperties(e,_excluded2$3);return _objectSpread2({label:interpret(y)(u)(n)},t)});b(e)}},[f,y,l,u,d]);var w=interpret(l,null===p||void 0===p?void 0:p.logFunction)(u)(t),x=getResponseByPreference(a)(i),v=function(n){return o(_defineProperty({},getResponseName(i),n.value))},k=function(){return/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:s,features:l,bindings:u})};return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:s,features:l,bindings:u}),r?/*#__PURE__*/React__default["default"].createElement(DropdownEdit,_extends({},p,{id:n,value:x,response:i,label:w,options:h,onSelect:v,management:c,DeclarationAfterLabel:k})):/*#__PURE__*/React__default["default"].createElement(DropdownSimple,_extends({},p,{id:n,value:x,response:i,label:w,options:h,onSelect:v,management:c,DeclarationAfterLabel:k})),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:s,features:l,bindings:u}))};Dropdown.propTypes={disabled:PropTypes__default["default"].bool,writable:PropTypes__default["default"].bool,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),handleChange:PropTypes__default["default"].func,label:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].element]),className:PropTypes__default["default"].string,zIndex:PropTypes__default["default"].number,freezeOptions:PropTypes__default["default"].bool},Dropdown.defaultProps={writable:!1,handleChange:function(){return null},features:[],label:void 0,className:void 0,zIndex:0,disabled:!1,freezeOptions:!1};var component$5=componentWrapper(/*#__PURE__*/React__default["default"].memo(Dropdown,areEqual)),css_248z$d=".lunatic-component .input-lunatic,\n.lunatic-component .datepicker-lunatic,\n.lunatic-component .textarea-lunatic {\n font: inherit;\n border: 0;\n border-bottom: 0.125rem double rgba(0, 0, 0, 0.42);\n margin: 0;\n padding: 0.375rem 0 0.375rem 0.4375rem;\n display: block;\n min-width: 0;\n box-sizing: content-box;\n background: none;\n}\n.lunatic-component .input-lunatic:focus,\n.lunatic-component .datepicker-lunatic:focus,\n.lunatic-component .textarea-lunatic:focus {\n outline: none;\n border-bottom: 0.125rem solid var(--color-primary-main);\n}\n.lunatic-component .input-lunatic:hover,\n.lunatic-component .datepicker-lunatic:hover,\n.lunatic-component .textarea-lunatic:hover {\n border-bottom: 0.125rem solid black;\n}\n.lunatic-component .input-lunatic:read-only,\n.lunatic-component .datepicker-lunatic:read-only,\n.lunatic-component .textarea-lunatic:read-only {\n background-color: var(--color-disabled);\n}\n.lunatic-component .warning {\n box-sizing: border-box;\n border: solid 2px var(--color-error);\n background-color: var(--color-error);\n}";styleInject(css_248z$d);var Input=function(e){return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:"text",roleType:"input"},e))},input=componentWrapper(/*#__PURE__*/React__default["default"].memo(Input,areEqual)),_excluded$5=["numberAsTextfield","decimals"],InputNumber=function(e){var n=e.numberAsTextfield,t=e.decimals,a=_objectWithoutProperties(e,_excluded$5);return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:n?"text":"number",roleType:"input"},a,{decimals:t||0,isInputNumber:!0,numberAsTextfield:!0,validators:[getTypeControls]}))};InputNumber.defaultProps={validators:[]},InputNumber.propTypes={validators:PropTypes__default["default"].arrayOf(PropTypes__default["default"].func)};var inputNumber=componentWrapper(/*#__PURE__*/React__default["default"].memo(InputNumber,areEqual)),FilterDescription=function(e){var n=e.id,t=e.label,a=e.filterDescription,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return a?/*#__PURE__*/React__default["default"].createElement("div",{id:"filter-description-".concat(n),"aria-label":"filter-description",className:"filter-description-lunatic",style:buildStyleObject(d)},interpret(i,r)(o)(t)):null};FilterDescription.defaultProps={filterDescription:!1,features:[],bindings:{},style:{}},FilterDescription.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,filterDescription:PropTypes__default["default"].bool,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var css_248z$c=".lunatic-modal {\n position: fixed;\n padding-top: 50px;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 1000;\n}\n.lunatic-modal .lunatic-modal-content {\n position: relative;\n background-color: white;\n padding: 20px;\n margin: auto;\n width: 50%;\n -webkit-animation-name: animatetop;\n -webkit-animation-duration: 0.4s;\n animation-name: animatetop;\n animation-duration: 0.4s;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-text {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 1em;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons {\n display: flex;\n justify-content: space-around;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons .lunatic-modal-button {\n font-size: 0.8em;\n}";styleInject(".lunatic-modal {\n position: fixed;\n padding-top: 50px;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 1000;\n}\n.lunatic-modal .lunatic-modal-content {\n position: relative;\n background-color: white;\n padding: 20px;\n margin: auto;\n width: 50%;\n -webkit-animation-name: animatetop;\n -webkit-animation-duration: 0.4s;\n animation-name: animatetop;\n animation-duration: 0.4s;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-text {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 1em;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons {\n display: flex;\n justify-content: space-around;\n}\n.lunatic-modal .lunatic-modal-content .lunatic-modal-buttons .lunatic-modal-button {\n font-size: 0.8em;\n}");var Modal=function(e){var n=e.controls,t=e.cancelModal,a=e.validateModal,i=n.map(function(e){var n=e.criticality;return n}).includes("LOCK");return/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-content"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-text"},/*#__PURE__*/React__default["default"].createElement("ul",null,n.map(function(e){var n=e.id,t=e.errorMessage;return/*#__PURE__*/React__default["default"].createElement("li",{key:n},t)}))),/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-buttons"},/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-button"},/*#__PURE__*/React__default["default"].createElement(Button,{value:"Corriger ma r\xE9ponse",onClick:t})),/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-modal-button"},/*#__PURE__*/React__default["default"].createElement(Button,{value:"Continuer",onClick:a,disabled:i})))))},css_248z$b=".lunatic-component .progress-lunatic {\n height: 30px;\n position: relative;\n background: var(--color-disabled);\n -moz-border-radius: 20px;\n -webkit-border-radius: 20px;\n border-radius: 20px;\n padding: 5px;\n box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3);\n text-align: center;\n font-weight: bold;\n}\n.lunatic-component .progress-lunatic > span {\n display: block;\n height: 100%;\n border-radius: 20px;\n background-color: var(--color-primary-light);\n opacity: 0.6;\n box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4);\n position: relative;\n top: -18px;\n overflow: hidden;\n}\n.lunatic-component .progress-lunatic > span:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);\n z-index: 1;\n background-size: 50px 50px;\n animation: move 2s linear infinite;\n border-top-right-radius: 8px;\n border-bottom-right-radius: 8px;\n border-top-left-radius: 20px;\n border-bottom-left-radius: 20px;\n overflow: hidden;\n}";styleInject(css_248z$b);var ProgressBar=function(e){var n=e.id,t=e.value,a=e.style,i=t;return 0>t&&(i=0),100<t&&(i=100),/*#__PURE__*/React__default["default"].createElement("div",{id:"progress-".concat(n),className:"progress-lunatic",style:buildStyleObject(a)},"".concat(i.toFixed(0)," %"),/*#__PURE__*/React__default["default"].createElement("span",{style:{width:"".concat(i,"%")}}))};ProgressBar.propTypes={id:PropTypes__default["default"].string.isRequired,value:PropTypes__default["default"].number.isRequired,style:PropTypes__default["default"].object};var css_248z$a=".lunatic-component .radio-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n margin-top: 0.9375rem;\n}\n.lunatic-component .radio-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.05rem;\n margin-left: 0.2rem;\n height: 20px;\n width: 20px;\n}\n.lunatic-component .radio-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .radio-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .radio-lunatic + label::before {\n float: left;\n line-height: 2rem;\n}\n.lunatic-component .field .radio-group-list .radio-modality,\n.lunatic-component .field-with-tooltip .radio-group-list .radio-modality {\n height: 1.375em;\n}\n.lunatic-component .radio-group-list .radio-modality label {\n display: flex;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .radio-modality {\n margin-bottom: 0.8em;\n}\n.lunatic-component .radio-lunatic + label {\n margin-top: 0.325em;\n}";styleInject(".lunatic-component .radio-group-list {\n border: 0;\n outline: 0;\n padding: 0;\n margin-top: 0.9375rem;\n}\n.lunatic-component .radio-lunatic {\n position: absolute;\n opacity: 0;\n margin-bottom: 0;\n margin-top: 0.05rem;\n margin-left: 0.2rem;\n height: 20px;\n width: 20px;\n}\n.lunatic-component .radio-lunatic + label {\n margin-left: 2rem;\n}\n.lunatic-component .radio-lunatic:focus + label {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.lunatic-component .radio-lunatic + label::before {\n float: left;\n line-height: 2rem;\n}\n.lunatic-component .field .radio-group-list .radio-modality,\n.lunatic-component .field-with-tooltip .radio-group-list .radio-modality {\n height: 1.375em;\n}\n.lunatic-component .radio-group-list .radio-modality label {\n display: flex;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block label {\n padding-top: 0.325em;\n}\n.lunatic-component .radio-group-list .radio-modality.radio-modality-block.horizontal-options label {\n padding-top: 0;\n}\n.lunatic-component .radio-modality {\n margin-bottom: 0.8em;\n}\n.lunatic-component .radio-lunatic + label {\n margin-top: 0.325em;\n}");var Radio=function(e){return/*#__PURE__*/React__default["default"].createElement(ListDeclarationsWrapper,_extends({type:"radio"},e))},component$4=componentWrapper(/*#__PURE__*/React__default["default"].memo(Radio,areEqual)),css_248z$9=".lunatic-component .lunatic-loop .loop-label {\n text-align: center;\n font-weight: bold;\n font-size: 2em;\n}\n.lunatic-component .lunatic-loop .loop-component {\n margin-top: 0.4em;\n margin-bottom: 0.4em;\n}";styleInject(css_248z$9);var _excluded$4=["id","label","iterations","components","bindings","handleChange","loopDependencies","maxPage","pagination","paginatedLoop","currentPage","depth"],_excluded2$2=["componentType","id","rowNumber","conditionFilter","page","bindingDependencies","missingResponse"],Loop=function(e){var n=e.id;e.label;var t=e.iterations,a=e.components,i=e.bindings,o=e.handleChange;e.loopDependencies,e.maxPage;var d=e.pagination,r=e.paginatedLoop,s=e.currentPage,l=e.depth,u=_objectWithoutProperties(e,_excluded$4),c=React.useState([]),f=_slicedToArray(c,2),p=f[0],m=f[1],g=buildVectorialBindings(i),h=u.features,b=h.filter(function(e){return"MD"!==e}),y=parseInt(interpret(b)(g)(t),10)||0,w=getInvolvedVariables(a);React.useEffect(function(){var e=w.reduce(function(e,n){var t=n.name,a=n.depth;return i[t]?y===i[t].length?e:y<=i[t].length?_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,_toConsumableArray(i[t].splice(0,y)))):_objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[].concat(_toConsumableArray(i[t]),_toConsumableArray(Array(y-i[t].length).fill(buildEmptyValue(a)))))):e},{});0!==Object.keys(e).length&&o(e)},[y]),React.useEffect(function(){if(0!==p.length){var e=p.reduce(function(e,n){var t=n.up,a=n.rowNumber,o=Object.entries(t);if(0===o.length)return e;var d=o.reduce(function(e,n){var t=_slicedToArray(n,2),o=t[0],d=t[1],r=i[o],s=r.map(function(e,n){return n===a?d:e});return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},o,s))},{});return _objectSpread2(_objectSpread2({},e),d)},{});o(e),m([])}},[i,p,o]);var x=buildLoopComponents(y)(a),v=splitPage(s,l),k=v.currentIteration,E=v.currentPageWithoutAnyIteration,S={},C=x.reduce(function(e,n){var t=n.componentType,a=n.id,o=n.rowNumber,l=n.conditionFilter,c=n.page,f=n.bindingDependencies,p=void 0===f?[]:f,g=n.missingResponse,h=_objectWithoutProperties(n,_excluded2$2),y=p.map(function(e){return i[e]?[e,i[e]]:[e,null]}),w=buildLoopBindings(o)(y),x=buildLoopMissingResponse(o)(g);if(!displayLoopQuestion(p)(w))return e;var v=lunatic[t],C=l.bindingDependencies,T=void 0===C?[]:C,N=l.value,R=void 0===N?"":N,P=T.map(function(e){return i[e]?[e,i[e]]:[e,null]}),_=buildLoopBindings(o)(P),L=S[R]||function(){var e=interpret(b)(_)(R);return S["".concat(R,"-row-").concat(o)]=e,e}();return!L||d&&(E!==c||r&&o+1!==k)?e:[].concat(_toConsumableArray(e),[/*#__PURE__*/React__default["default"].createElement("div",{key:"".concat(a,"-loop-").concat(o),className:"loop-component"},/*#__PURE__*/React__default["default"].createElement(v,_extends({},u,h,{id:"".concat(a,"-loop-").concat(o),handleChange:function(e){m(function(n){return[].concat(_toConsumableArray(n),[{up:e,rowNumber:o}])})},bindings:w,fullBindings:i,bindingDependencies:p,componentType:t,pagination:d,currentPage:s,conditionFilter:l,missingResponse:x})))])},[]);return/*#__PURE__*/React__default["default"].createElement("div",{id:"loop-".concat(n),className:"lunatic-loop"},C)},Loop$1=/*#__PURE__*/React__default["default"].memo(Loop,areEqual),_excluded$3=["response"],buildContentForLoopConstructor=function(e){var n=e.components,t=e.headers,a=n.find(function(e){return e.response}).response.values[COLLECTED].length||1,i=_toConsumableArray(Array(a).keys()),o=n.map(function(e){var n=e.response,t=_objectWithoutProperties(e,_excluded$3);if(!n)return i.map(function(){return e});// Handle reponses & cells components ?
|
|
816
772
|
var a=n.name,o=n.values;return i.map(function(e){var n=Object.entries(o).reduce(function(n,t){var a=_slicedToArray(t,2),i=a[0],o=a[1];return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},i,o?o[e]:null))},{});return _objectSpread2(_objectSpread2({},t),{},{response:{name:a,values:n},rowNumber:e})})},[]),d=function(e){return e[0].map(function(n,t){return e.map(function(e){return e[t]})})}(o);// Start hack to find interation number
|
|
817
773
|
// Refactor if we have to handle complex components (vector, matrix)
|
|
818
|
-
return t?[t].concat(_toConsumableArray(d)):d},_excluded$2=["componentType","mainId","headers","components","bindings","width","preferences","positioning","management","features","setTodo","logFunction"],_excluded2$1=["label","headerCell","colspan","rowspan","componentType","id","rowNumber"],_excluded3=["componentType","id","label"],BodyComponent=function(e){var n=e.componentType,t=e.mainId,a=e.headers,i=e.components,o=e.bindings,d=e.width,r=e.preferences,s=e.positioning,l=e.management,u=e.features,c=e.setTodo,f=e.logFunction,p=_objectWithoutProperties(e,_excluded$2),m=buildContentForLoopConstructor({components:i,headers:a});return"RosterForLoop"===n?/*#__PURE__*/React__default["default"].createElement("table",{id:"table-".concat(t),className:"table-lunatic"},/*#__PURE__*/React__default["default"].createElement("tbody",null,m.map(function(e,n){return/*#__PURE__*/React__default["default"].createElement("tr",{key:"table-".concat(t,"-row").concat(n)},e.map(function(e,a){var i=e.label,
|
|
774
|
+
return t?[t].concat(_toConsumableArray(d)):d},_excluded$2=["componentType","mainId","headers","components","bindings","width","preferences","positioning","management","features","setTodo","logFunction"],_excluded2$1=["label","headerCell","colspan","rowspan","componentType","id","rowNumber","conditionFilter"],_excluded3=["componentType","id","label"],BodyComponent=function(e){var n=e.componentType,t=e.mainId,a=e.headers,i=e.components,o=e.bindings,d=e.width,r=e.preferences,s=e.positioning,l=e.management,u=e.features,c=e.setTodo,f=e.logFunction,p=_objectWithoutProperties(e,_excluded$2),m=buildContentForLoopConstructor({components:i,headers:a}),g=u.filter(function(e){return"MD"!==e});return"RosterForLoop"===n?/*#__PURE__*/React__default["default"].createElement("table",{id:"table-".concat(t),className:"table-lunatic"},/*#__PURE__*/React__default["default"].createElement("tbody",null,m.map(function(e,n){return/*#__PURE__*/React__default["default"].createElement("tr",{key:"table-".concat(t,"-row").concat(n)},e.map(function(e,a){var i=e.label,h=e.headerCell,b=e.colspan,y=e.rowspan,w=e.componentType,x=e.id,v=e.rowNumber,k=e.conditionFilter,E=_objectWithoutProperties(e,_excluded2$1),S=buildBindingsForDeeperComponents(v)(o);if(k){var C=k.value,T=void 0===C?"":C;if(!interpret(g)(S)(T))return null}if(w){var N=lunatic[w];return/*#__PURE__*/React__default["default"].createElement("td",{key:"table-".concat(t,"-row-").concat(n,"-cell-").concat(a),style:{width:d}},/*#__PURE__*/React__default["default"].createElement(N,_extends({},p,E,{id:"".concat(x,"-row-").concat(n),label:i,handleChange:function(e){c({up:e,rowNumber:v})},preferences:r,positioning:s,management:l,features:u,bindings:S,fullBindings:o,missingLoopIteration:n,zIndex:m.length-n||0,logFunction:f,focused:0===n&&0===a})))}var R={key:"table-".concat(t,"-row-").concat(n,"-cell-").concat(a),style:{width:d},colSpan:b||1,rowSpan:y||1},P=interpret(u,f)(o)(i);return h?/*#__PURE__*/React__default["default"].createElement("th",R,P):/*#__PURE__*/React__default["default"].createElement("td",R,P)}))}))):/*#__PURE__*/React__default["default"].createElement("div",{className:"block-for-loop"},m.map(function(e,n){return e.map(function(e){var t=e.componentType,a=e.id,i=e.label,d=_objectWithoutProperties(e,_excluded3),m=lunatic[t],h=buildBindingsForDeeperComponents(n)(o),b=d.missingResponse,y=d.conditionFilter;if(y){var w=y.value,x=void 0===w?"":w;if(!interpret(g)(h)(x))return null}return/*#__PURE__*/React__default["default"].createElement("div",{className:"block-component",key:"".concat(a,"-row-").concat(n)},/*#__PURE__*/React__default["default"].createElement(m,_extends({},p,d,{missingResponse:b,id:"".concat(a,"-row-").concat(n),label:i,handleChange:function(e){c({up:e,rowNumber:n})},preferences:r,positioning:s,management:l,features:u,bindings:h,fullBindings:o,missingLoopIteration:n,logFunction:f,focused:0===n})))})}))},_excluded$1=["id","label","components","handleChange","lines","declarations","features","bindings","addBtnLabel","hideBtn","componentType"],LoopConstructorWrapper=function(e){var n=Math.max,t=e.id,a=e.label,i=e.components,o=e.handleChange,d=e.lines,r=e.declarations,s=e.features,l=e.bindings,u=e.addBtnLabel,c=e.hideBtn,f=e.componentType,p=_objectWithoutProperties(e,_excluded$1),m=React.useState({}),g=_slicedToArray(m,2),h=g[0],b=g[1],y=s.filter(function(e){return"MD"!==e}),w=n(parseInt(interpret(y)(l)(d.min),10)||1,getLoopConstructorInitLines(i)),x=d?parseInt(interpret(y)(l)(d.max),10):void 0,v="".concat(100/n.apply(Math,_toConsumableArray(i.map(function(e){return e.length}))),"%"),k=getInvolvedVariables(i),E=i.reduce(function(e,n){var t;return"".concat(e,"|").concat(Object.values((null===(t=n.response)||void 0===t?void 0:t.values)||{}).join("|"))},"");React.useEffect(function(){if(d.min&&d.min===d.max){var e=parseInt(interpret(y)(l)(d.min),10)||1,n=k.reduce(function(n,t){var a=t.name;if(e===l[a].length)return n;if(e<l[a].length)return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},a,_toConsumableArray(l[a].slice(0,e))));var i=_toConsumableArray(Array(e-l[a].length).keys()).map(function(){return null});return _objectSpread2(_objectSpread2({},n),{},_defineProperty({},a,[].concat(_toConsumableArray(l[a]),_toConsumableArray(i))))},{});0!==Object.keys(n).length&&o(n)}// Assume to only execute this side effect at mount
|
|
819
775
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
820
776
|
},[E]),React.useEffect(function(){if(0!==Object.keys(h).length){var e=h.up,n=h.rowNumber,t=Object.entries(e),a=t.reduce(function(e,t){var a=_slicedToArray(t,2),i=a[0],o=a[1],d=l[i],r=d.map(function(e,t){return t===n?o:e});return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},i,r))},{});o(a),b({})}},[l,h,o]);var S="Loop"===f&&interpret(s,null===p||void 0===p?void 0:p.logFunction)(l)(a)||u;return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:BEFORE_QUESTION_TEXT,declarations:r,features:s,bindings:l}),"RosterForLoop"===f&&a&&/*#__PURE__*/React__default["default"].createElement("label",{htmlFor:"loops-constructor-".concat(t),id:"loops-constructor-label-".concat(t)},interpret(s,null===p||void 0===p?void 0:p.logFunction)(l)(a)),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:AFTER_QUESTION_TEXT,declarations:r,features:s,bindings:l}),/*#__PURE__*/React__default["default"].createElement(BodyComponent,_extends({mainId:t,componentType:f,components:i,bindings:l,width:v,features:s,setTodo:b},p)),!c&&Number.isInteger(w)&&w!==x&&/*#__PURE__*/React__default["default"].createElement(Button,{label:"addLine",value:S// disabled={
|
|
821
777
|
// Number.isInteger(minLines) && minLines === maxLines
|
|
@@ -823,9 +779,9 @@ return t?[t].concat(_toConsumableArray(d)):d},_excluded$2=["componentType","main
|
|
|
823
779
|
// Want to enable addition depsite of empty lines?
|
|
824
780
|
// U.lastLoopChildLineIsEmpty(bindings)(involvedVariables)
|
|
825
781
|
// }
|
|
826
|
-
,onClick:function(){var e=k.reduce(function(e,n){var t=n.name;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[].concat(_toConsumableArray(l[t]),[null])))},{});o(e)},id:t,logFunction:null===p||void 0===p?void 0:p.logFunction}),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:DETACHABLE,declarations:r,features:s,bindings:l}))};LoopConstructorWrapper.defaultProps={label:"",preferences:["COLLECTED"],components:[],lines:{},positioning:"DEFAULT",declarations:[],features:[],bindings:{},addBtnLabel:"Add a line",management:!1,hideBtn:!1,style:{}},LoopConstructorWrapper.propTypes={componentType:PropTypes__default["default"].string.isRequired,id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),components:PropTypes__default["default"].array,handleChange:PropTypes__default["default"].func.isRequired,lines:lines,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,addBtnLabel:PropTypes__default["default"].string,hideBtn:PropTypes__default["default"].bool,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var LoopConstructorWrapper$1=/*#__PURE__*/React__default["default"].memo(LoopConstructorWrapper,areEqual),css_248z$8=".lunatic-component .block-for-loop {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n.lunatic-component .block-for-loop .block-component {\n margin-top: 0.4em;\n margin-bottom: 0.4em;\n}";styleInject(css_248z$8);var BlockForLoop=function(e){return/*#__PURE__*/React__default["default"].createElement(LoopConstructorWrapper$1,e)},BlockForLoop$1=componentWrapper(/*#__PURE__*/React__default["default"].memo(BlockForLoop)),LoopWrapper=function(e){var n=e.iterations;return n?/*#__PURE__*/React__default["default"].createElement(Loop$1,e):/*#__PURE__*/React__default["default"].createElement(BlockForLoop$1,e)},RosterForLoop=function(e){return/*#__PURE__*/React__default["default"].createElement(LoopConstructorWrapper$1,e)},component$3=componentWrapper(/*#__PURE__*/React__default["default"].memo(RosterForLoop)),css_248z$7=".lunatic-component .sequence-lunatic {\n padding: 0;\n font-size: 0.875rem;\n color: var(--color-primary-light);\n background-color: var(--color-secondary-contrast-text);\n border: 0;\n height: 1.875rem;\n}";styleInject(css_248z$7);var Sequence=function(e){var n=e.id,t=e.label,a=e.declarations,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return/*#__PURE__*/React__default["default"].createElement(SimpleDeclarationsWrapper,{id:n,declarations:a,features:i,bindings:o},/*#__PURE__*/React__default["default"].createElement("div",{"aria-label":"sequence-".concat(n),className:"sequence-lunatic",style:buildStyleObject(d),id:"sequence-".concat(n)},interpret(i,r)(o)(t)))};Sequence.defaultProps={declarations:[],features:[],bindings:{},style:{}},Sequence.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var component$2=/*#__PURE__*/React__default["default"].memo(Sequence,areEqual),Subsequence=function(e){var n=e.id,t=e.label,a=e.declarations,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return/*#__PURE__*/React__default["default"].createElement(SimpleDeclarationsWrapper,{id:n,declarations:a,features:i,bindings:o},/*#__PURE__*/React__default["default"].createElement("div",_defineProperty({"aria-label":"subsequence-".concat(n),className:"subsequence-lunatic",style:buildStyleObject(d)},"aria-label","subsequence-".concat(n)),interpret(i,r)(o)(t)))};Subsequence.defaultProps={declarations:[],features:[],bindings:{},style:{}},Subsequence.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var component$1=/*#__PURE__*/React__default["default"].memo(Subsequence,areEqual),ON_INIT="lunatic-suggester/on-init",onInit=function(e){var n=e.id,t=e.disabled,a=e.value;return{type:ON_INIT,payload:{id:n,disabled:t,value:a}}},ON_CHANGE_SEARCH="lunatic-suggester/on-change-search",onChangeSearch=function(e){return{type:ON_CHANGE_SEARCH,payload:{search:e}}},ON_UPDATE_OPTIONS="lunatic-suggester/on-update-options",onUpdateOptions=function(e,n){return{type:ON_UPDATE_OPTIONS,payload:{options:e,search:n}}},ON_FOCUS="lunatic-suggester/on-focus",onFocus=function(){return{type:ON_FOCUS}},ON_BLUR="lunatic-suggester/on-blur",onBlur=function(){return{type:ON_BLUR}},ON_CLICK_OPTION="lunatic-suggester/on-click-option",onClickOption=function(e){return{type:ON_CLICK_OPTION,payload:{index:e}}},ON_KEY_DOWN="lunatic-suggester/on-key-down",onKeyDown=function(e){return{type:ON_KEY_DOWN,payload:{key:e}}},ON_ERROR="lunatic-suggester/on-error",onError=function(e){return{type:ON_ERROR,payload:{message:e}}},ON_DELETE_SEARCH="lunatic-suggester/on-delete-search",onDeleteSearch=function(){return{type:ON_DELETE_SEARCH}};function reduce$9(e,n){var t=n.payload,a=t.search;return _objectSpread2(_objectSpread2({},e),{},{search:a,selectedIndex:void 0})}function reduce$8(e,n){var t=n.payload,a=t.options,i=t.search,o=e.search;return o===i?_objectSpread2(_objectSpread2({},e),{},{options:a}):_objectSpread2(_objectSpread2({},e),{},{options:[]})}function reduce$7(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!0,expended:!0,displayLabel:!1})}function reduce$6(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!1,expended:!1,displayLabel:!0})}function reduce$5(e,n){var t=n.payload,a=t.index;return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!1})}var BINDED_KEYS={ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",Home:"Home",End:"End",Enter:"Enter",Escape:"Escape",Tab:"Tab"};function reduceArrowDown(e){var n=e.options,t=e.selectedIndex;if(n.length){var a=Math.min(t+1||0,n.length-1);return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!0,displayLabel:!0})}return e}function reduceArrowUp(e){var n=e.selectedIndex,t=e.options;if(t.length){var a=Math.max(n-1||0,0);return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!0,displayLabel:!0})}return e}function reduceHome(e){var n=e.options;return n.length?_objectSpread2(_objectSpread2({},e),{},{selectedIndex:0,expended:!0}):e}function reduceEnd(e){var n=e.options;return n.length?_objectSpread2(_objectSpread2({},e),{},{selectedIndex:n.length-1,expended:!0}):e}function reduceTab(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!1,expended:!1})}function reduceEnter(e){var n=e.expended;return _objectSpread2(_objectSpread2({},e),{},{expended:!n})}function reduceEscape(e){return _objectSpread2(_objectSpread2({},e),{},{expended:!1})}function reduce$4(e,n){var t=n.payload,a=t.key;return a===BINDED_KEYS.ArrowDown?reduceArrowDown(e):a===BINDED_KEYS.ArrowUp?reduceArrowUp(e):a===BINDED_KEYS.Home?reduceHome(e):a===BINDED_KEYS.End?reduceEnd(e):a===BINDED_KEYS.Tab?reduceTab(e):a===BINDED_KEYS.Enter?reduceEnter(e):a===BINDED_KEYS.Escape?reduceEscape(e):e}function getStringValue(e){return e?"".concat(e):""}function getId(){return"lunatic-suggester-".concat(new Date().getTime())}function reduce$3(e,n){var t=n.payload,a=t.id,i=t.disabled,o=t.value,d=e.search;return o&&0===d.length?_objectSpread2(_objectSpread2({},e),{},{id:a||getId(),disabled:i,search:getStringValue(o)}):_objectSpread2(_objectSpread2({},e),{},{id:a||getId(),disabled:i})}function reduce$2(e,n){var t=n.payload,a=t.message;return _objectSpread2(_objectSpread2({},e),{},{messageError:a})}function reduce$1(e){return _objectSpread2(_objectSpread2({},e),{},{search:"",selectedIndex:void 0,options:[],expanded:!1})}function reduce(e,n){var t=n.type;return t===ON_CHANGE_SEARCH?reduce$9(e,n):t===ON_UPDATE_OPTIONS?reduce$8(e,n):t===ON_FOCUS?reduce$7(e):t===ON_BLUR?reduce$6(e):t===ON_CLICK_OPTION?reduce$5(e,n):t===ON_KEY_DOWN?reduce$4(e,n):t===ON_INIT?reduce$3(e,n):t===ON_ERROR?reduce$2(e,n):t===ON_DELETE_SEARCH?reduce$1(e):e}var context=/*#__PURE__*/React__default["default"].createContext([void 0,void 0]),INITIAL={id:"",search:"",options:[],focused:!1,expended:!1,disabled:!1,displayLabel:!0,selectedIndex:void 0,messageError:void 0};function useDispatch(){var e=React.useContext(context),n=e[1];return n}var CALLBACKS={};function getSignature(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return Object.entries(n).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return"".concat(e,"-").concat(a,"-").concat(i)},e)}function createListener(e,n){var t=getSignature(e,n),a=function(n){if(t in CALLBACKS){var e=CALLBACKS[t].callbacks;e.forEach(function(e){e(n)})}};return document.addEventListener(e,a,n),a}function unmount(e,n,t){var a=getSignature(e,t);if(a in CALLBACKS){var i=CALLBACKS[a],o=i.listener,d=i.callbacks,r=d.indexOf(n);CALLBACKS[a].callbacks.splice(r,1),0===CALLBACKS[a].callbacks.length&&(delete CALLBACKS[a],document.removeEventListener(e,o))}}function mount(e,n,t){var a=getSignature(e,t);if(!(a in CALLBACKS)){var i=createListener(e,t);CALLBACKS[a]={listener:i,callbacks:[n]}}else CALLBACKS[a]=_objectSpread2(_objectSpread2({},CALLBACKS[a]),{},{callbacks:[].concat(_toConsumableArray(CALLBACKS[a].callbacks),[n])})}function useDocumentAddEventListener(e,n,t){React.useEffect(function(){return mount(e,n,t),function(){unmount(e,n,t)}},[e,n,t])}function SuggesterContent(e){var n=e.children;e.id;var t=e.focused,a=e.onFocus,i=e.onBlur,o=e.onKeyDown,d=React.useRef(),r=React.useCallback(function(n){var e=d.current;e.contains(n.target)||i()},[d,i]);return useDocumentAddEventListener("mousedown",r),/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester",{focused:t}),onFocus:a,onKeyDown:o,ref:d},/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-content",{focused:t})},n))}function getContent$1(e,n){if(e){var t=e.id,a=e.label;return a?"".concat(t," - ").concat(a):t}return n&&n.trim().length?n:void 0}function DefaultLabelRenderer(e){var n=e.option,t=e.placeholderList,a=e.search,i=getContent$1(n,a);return i?/*#__PURE__*/React__default["default"].createElement("span",{className:"selection"},i):/*#__PURE__*/React__default["default"].createElement("span",{className:"placeholderList"},t)}DefaultLabelRenderer.propTypes={option:PropTypes__default["default"].shape({id:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number]).isRequired}),placeholderList:PropTypes__default["default"].string,search:PropTypes__default["default"].string};function Label$1(e){var n=e.labelRenderer,t=void 0===n?DefaultLabelRenderer:n,a=e.placeholderList,i=React.useContext(context),o=_slicedToArray(i,1),d=o[0],r=d.displayLabel,s=d.expended,l=d.selectedIndex,u=d.options,c=d.search,f=d.disabled,p=l===void 0?void 0:u[l];return/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-selected",{displayed:r||!s,disabled:f}),tabIndex:"-1"},/*#__PURE__*/React__default["default"].createElement(t,{option:p,placeholderList:a,search:c}))}function Selection(e,n){var t=e.labelRenderer,a=e.placeholderList,i=e.labelledBy,o=React.useContext(context),d=_slicedToArray(o,2),r=d[0],s=d[1],l=r.search,u=r.expended,c=r.id,f=r.disabled,p=r.focused;return/*#__PURE__*/React__default["default"].createElement("div",{id:c,className:classnames("lunatic-suggester-selection",{focused:p,disabled:f}),role:"combobox","aria-haspopup":"listbox","aria-labelledby":i,"aria-expanded":u,"aria-autocomplete":"list","aria-owns":"".concat(c,"-list")},/*#__PURE__*/React__default["default"].createElement("input",{ref:n,id:"".concat(c,"-input"),tabIndex:"0",className:"lunatic-suggester-input",type:"text",onChange:function(n){s(onChangeSearch(n.target.value))},value:l,"aria-label":"lunatic-suggester",title:"suggester",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",placeholderlist:a,disabled:f}),/*#__PURE__*/React__default["default"].createElement(Label$1,{labelRenderer:t,placeholderList:a}))}var Selection$1=/*#__PURE__*/React__default["default"].forwardRef(Selection);function PanelContainer(e){var n=e.children,t=e.focused,a=e.expended,i=e.id;return/*#__PURE__*/React__default["default"].createElement("ul",{id:i,tabIndex:"-1","aria-label":"suggestions",className:classnames("lunatic-suggester-panel",{focused:t,expended:a}),role:"listbox"},n)}function getMin(e){var n=e.top;return n}function getMax(e){var n=e.top,t=e.height;return n+t}function isVisible(e,n){var t=Math.min(getMin(e),getMin(n)),a=Math.max(getMax(e),getMax(n));return!!(a-t<e.height+n.height)}function OptionContainer(e){var n=e.children,t=e.index,a=e.selected,i=React.useRef(),o=useDispatch();return React.useEffect(function(){var e=i.current;if(e&&a){var n=e.getBoundingClientRect(),t=e.parentNode.getBoundingClientRect();isVisible(n,t)||e.scrollIntoView()}},[i,a]),/*#__PURE__*/React__default["default"].createElement("li",{className:classnames("lunatic-suggester-option",{selected:a}),role:"option","aria-selected":a,onMouseDown:function(n){n.stopPropagation(),n.preventDefault(),o(onClickOption(t))},ref:i},n)}function getContent(e){var n=e.options,t=e.OptionRender,a=e.selectedIndex,i=e.expended,o=e.value,d=e.search;return i?n.map(function(e,n){var i=e.id;return/*#__PURE__*/React__default["default"].createElement(OptionContainer,{key:i,index:n,selected:i===o},/*#__PURE__*/React__default["default"].createElement(t,{option:e,selected:a===n,search:d}))}):void 0}function Panel(e){var n=e.optionRenderer,t=e.value,a=React.useContext(context),i=_slicedToArray(a,1),o=i[0],d=o.options,r=o.focused,s=o.selectedIndex,l=o.expended,u=o.id,c=o.search,f=getContent({options:d,OptionRender:n,selectedIndex:s,expended:l,value:t,search:c});return/*#__PURE__*/React__default["default"].createElement(PanelContainer,{expended:l,focused:r,id:"".concat(u,"-list")},f)}function DefaultOptionRenderer(e){var n=e.option,t=e.selected,a=n.id,i=n.label;return i&&i.length?/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-option",{selected:t})},/*#__PURE__*/React__default["default"].createElement("span",{className:"id"},a),i&&/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement("span",null," - "),/*#__PURE__*/React__default["default"].createElement("span",{className:"label"},i))):/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-option",{selected:t})},/*#__PURE__*/React__default["default"].createElement("span",{className:"id"},a))}function create$1(n){return function(t){var e=t.key;e===BINDED_KEYS.Tab?(t.stopPropagation(),n(onKeyDown(e))):e===BINDED_KEYS.ArrowDown||e===BINDED_KEYS.ArrowUp||e===BINDED_KEYS.Home||e===BINDED_KEYS.End||e===BINDED_KEYS.Enter||e===BINDED_KEYS.Escape?(t.preventDefault(),t.stopPropagation(),n(onKeyDown(e))):void 0}}var css_248z$6=".lunatic-fab {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n margin: 0;\n padding: 0;\n outline: inherit;\n border: none;\n background-color: royalblue;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-fab:hover {\n cursor: pointer;\n background-color: navy;\n transition: background-color 1s;\n}\n.lunatic-fab.mini {\n width: 18px;\n height: 18px;\n}\n.lunatic-fab:focus {\n border: solid 1px black;\n}\n.lunatic-fab:disabled {\n cursor: default;\n background-color: darkgray;\n}";styleInject(".lunatic-fab {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n margin: 0;\n padding: 0;\n outline: inherit;\n border: none;\n background-color: royalblue;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-fab:hover {\n cursor: pointer;\n background-color: navy;\n transition: background-color 1s;\n}\n.lunatic-fab.mini {\n width: 18px;\n height: 18px;\n}\n.lunatic-fab:focus {\n border: solid 1px black;\n}\n.lunatic-fab:disabled {\n cursor: default;\n background-color: darkgray;\n}");function empty$2(){}function Fab(e){var n=e.className,t=e.children,a=e.tabIndex,i=e.title,o=e.onClick,d=e.onKeyDown,r=e.disabled;return/*#__PURE__*/React__default["default"].createElement("button",{className:classnames("lunatic-fab",n),tabIndex:a,title:i,onClick:o,onKeyDown:d,disabled:r,"aria-label":i},t)}Fab.propTypes={className:PropTypes__default["default"].string,tabIndex:PropTypes__default["default"].string,onClick:PropTypes__default["default"].func,onKeyDown:PropTypes__default["default"].func,title:PropTypes__default["default"].string,disabled:PropTypes__default["default"].bool},Fab.defaultProps={className:void 0,tabIndex:void 0,title:"Fab",onClick:empty$2,disabled:!1,onKeyDown:empty$2};function isDisabled(e){return!e||0===e.trim().length}function createOnKeyDown(n){return"function"==typeof n?function(t){var e=t.key;"Enter"===e&&n()}:function(){return null}}function Delete(e){var n=e.className,t=e.search,a=e.onClick,i=React.useMemo(function(){return createOnKeyDown(a)},[a]);return/*#__PURE__*/React__default["default"].createElement(Fab,{className:classnames("mini","lunatic-suggester-fab",n),tabIndex:"0",title:"delete",onClick:a,disabled:isDisabled(t),onKeyDown:i},/*#__PURE__*/React__default["default"].createElement(CrossIcon$2,{className:"lunatic-suggester-icon"}))}var css_248z$5=".lunatic-suggester-container {\n position: relative;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester-fab {\n position: absolute;\n right: 4px;\n top: 8px;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester-fab.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester-fab .lunatic-icon svg {\n fill: white;\n width: 16px;\n height: 16px;\n}\n.lunatic-suggester-container .lunatic-suggester {\n position: relative;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n position: absolute;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n position: relative;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n border: none;\n margin: 0;\n padding: 0;\n background-color: transparent;\n width: 100%;\n /* */\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n position: absolute;\n top: 0;\n white-space: nowrap;\n overflow-x: hidden;\n width: 100%;\n height: 100%;\n display: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.displayed {\n display: block;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content ul,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content li,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content div,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content span {\n margin: 0;\n padding: 0;\n border: none;\n line-height: 1em;\n list-style: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n white-space: nowrap;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n}";styleInject(".lunatic-suggester-container {\n position: relative;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester-fab {\n position: absolute;\n right: 4px;\n top: 8px;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester-fab.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester-fab .lunatic-icon svg {\n fill: white;\n width: 16px;\n height: 16px;\n}\n.lunatic-suggester-container .lunatic-suggester {\n position: relative;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n position: absolute;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n position: relative;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n border: none;\n margin: 0;\n padding: 0;\n background-color: transparent;\n width: 100%;\n /* */\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n position: absolute;\n top: 0;\n white-space: nowrap;\n overflow-x: hidden;\n width: 100%;\n height: 100%;\n display: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.displayed {\n display: block;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content ul,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content li,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content div,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content span {\n margin: 0;\n padding: 0;\n border: none;\n line-height: 1em;\n list-style: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n white-space: nowrap;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n}");function Suggester$1(e){var n=e.className,t=e.placeholderList,a=e.labelledBy,i=e.optionRenderer,o=e.labelRenderer,d=e.onSelect,r=e.value,s=React.useRef(),l=React.useContext(context),u=_slicedToArray(l,2),c=u[0],f=u[1],p=c.focused,m=c.id,g=c.messageError,h=c.search,b=c.disabled,y=React.useCallback(function(){if(!b){if(s.current!==document.activeElement);s.current.focus(),f(onFocus())}},[f,b]),w=React.useCallback(function(){f(onDeleteSearch()),d(void 0)},[f,d]),x=React.useCallback(function(){p&&f(onBlur())},[f,p]),v=React.useMemo(function(){return create$1(f)},[f]);return g?/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-message-error"},g):/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-container",n)},/*#__PURE__*/React__default["default"].createElement(SuggesterContent,{id:m,focused:p,onFocus:y,onBlur:x,onKeyDown:v},/*#__PURE__*/React__default["default"].createElement(Selection$1,{labelRenderer:o,placeholderList:t,labelledBy:a,ref:s}),/*#__PURE__*/React__default["default"].createElement(Panel,{optionRenderer:i,value:r})),/*#__PURE__*/React__default["default"].createElement(Delete,{className:classnames({focused:p}),search:h,onClick:w}))}var css_248z$4=".lunatic-component .lunatic-suggester-message-error {\n border: solid 1px darkred;\n color: darkred;\n background-color: tomato;\n display: inline-block;\n border-radius: 3px;\n padding: 4px 8px;\n margin: 4px 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container {\n margin-bottom: 10px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester {\n min-height: 30px;\n min-width: 260px;\n width: 100%;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n /* */\n /* */\n /* */\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n border-radius: 5px;\n border: 2px solid var(--color-primary-dark);\n background-color: white;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection:hover {\n border-color: var(--color-primary-main);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n height: 34;\n line-height: 34px;\n font-size: 15px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input::placeholderlist {\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n height: 34px;\n line-height: 34px;\n background-color: white;\n border-radius: 5px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .placeholderList {\n display: block;\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .selection {\n display: block;\n line-height: 34px;\n font-size: 15px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n height: 0;\n opacity: 0;\n background-color: white;\n transition: opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel.expended {\n border: solid 1px var(--color-primary-light);\n opacity: 1;\n min-height: 30px;\n height: max-content;\n box-shadow: 0 2px 2px grey;\n border-radius: 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n margin-bottom: 0.1em;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option.selected {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option:hover {\n background-color: var(--color-primary-main);\n color: white;\n}";styleInject(".lunatic-component .lunatic-suggester-message-error {\n border: solid 1px darkred;\n color: darkred;\n background-color: tomato;\n display: inline-block;\n border-radius: 3px;\n padding: 4px 8px;\n margin: 4px 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container {\n margin-bottom: 10px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester {\n min-height: 30px;\n min-width: 260px;\n width: 100%;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n /* */\n /* */\n /* */\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n border-radius: 5px;\n border: 2px solid var(--color-primary-dark);\n background-color: white;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection:hover {\n border-color: var(--color-primary-main);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n height: 34;\n line-height: 34px;\n font-size: 15px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input::placeholderlist {\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n height: 34px;\n line-height: 34px;\n background-color: white;\n border-radius: 5px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .placeholderList {\n display: block;\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .selection {\n display: block;\n line-height: 34px;\n font-size: 15px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n height: 0;\n opacity: 0;\n background-color: white;\n transition: opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel.expended {\n border: solid 1px var(--color-primary-light);\n opacity: 1;\n min-height: 30px;\n height: max-content;\n box-shadow: 0 2px 2px grey;\n border-radius: 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n margin-bottom: 0.1em;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option.selected {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option:hover {\n background-color: var(--color-primary-main);\n color: white;\n}");function getSearch(e,n){return e&&e.length?e:n}function SuggesterWrapper(e){var n=e.id,t=e.className,a=e.version,i=e.labelledBy,o=e.placeholderList,d=e.optionRenderer,r=e.onSelect,s=e.searching,l=e.labelRenderer,u=e.disabled,c=e.value,f=React.useReducer(reduce,INITIAL),p=_slicedToArray(f,2),m=p[0],g=p[1],h=m.search,b=m.selectedIndex,y=m.options,w=m.expended;return React.useEffect(function(){function e(){return n.apply(this,arguments)}function n(){return n=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var n,t,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n=getSearch(h,c),!(n&&"function"==typeof s)){e.next=11;break}return e.next=5,s(n);case 5:t=e.sent,a=t.results,i=t.search,g(onUpdateOptions(a,i)),e.next=12;break;case 11:g(onDeleteSearch());case 12:e.next=18;break;case 14:e.prev=14,e.t0=e["catch"](0),console.error(e.t0),g(onError("Une erreur est survenue."));case 18:case"end":return e.stop();}},e,null,[[0,14]])})),n.apply(this,arguments)}e()},[h,s,c]),React.useEffect(function(){void 0===b||w||r(y[b],b)},[b,r,y,w]),React.useEffect(function(){g(onInit({id:n,disabled:u,value:c}))},[n,u,c]),/*#__PURE__*/React__default["default"].createElement(context.Provider,{value:[m,g]},/*#__PURE__*/React__default["default"].createElement(Suggester$1,{className:t,placeholderList:o,version:a,labelledBy:i,optionRenderer:d,labelRenderer:l,onSelect:r,value:c}))}SuggesterWrapper.propTypes={id:PropTypes__default["default"].string,className:PropTypes__default["default"].string,placeholderList:PropTypes__default["default"].string,labelledBy:PropTypes__default["default"].string,optionRenderer:PropTypes__default["default"].func,labelRenderer:PropTypes__default["default"].func,onSelect:PropTypes__default["default"].func,storeInfo:PropTypes__default["default"].object,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool,PropTypes__default["default"].object]),searching:PropTypes__default["default"].func},SuggesterWrapper.defaultProps={id:void 0,className:"lunatic-suggester-default-style",labelledBy:void 0,placeholderList:"Veuillez...",optionRenderer:DefaultOptionRenderer,labelRenderer:DefaultLabelRenderer,language:"French",onSelect:function(){return null},value:void 0,searching:void 0};var WORKER_PATH=process.env.LUNATIC_SEARCH_WORKER_PATH||process.env.REACT_APP_LUNATIC_SEARCH_WORKER_PATH;function isWorkerCompatible(){return!!window.Worker}var searching=function(n){return function(e,t,a){if(!WORKER_PATH)throw new Error("Worker path is required for suggester's searches.");return isWorkerCompatible()?new Promise(function(i){try{n&&n.terminate(),n=createWorker(WORKER_PATH),n.postMessage({search:e,name:t,version:a}),n.addEventListener("message",function(t){var e=t.data;i(e),n.terminate(),n=void 0})}catch(n){//TODO
|
|
827
|
-
}}):void 0}};function createSearching(e,n){var t=searching(void 0);return/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function i(a){return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",t(a,e,n));case 1:case"end":return i.stop();}},i)}));return function(){return a.apply(this,arguments)}}()}function create(){return _create.apply(this,arguments)}function _create(){return _create=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(e,n){var a,i;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.name,t.prev=1,t.next=4,openStorage(a,n);case 4:return i=t.sent,t.next=7,clearStore(i,CONSTANTES.STORE_INFO_NAME);case 7:return t.next=9,update(i,e);case 9:return t.abrupt("return",i);case 12:throw t.prev=12,t.t0=t["catch"](1),t.t0;case 15:case"end":return t.stop();}},t,null,[[1,12]])})),_create.apply(this,arguments)}function useStoreIndex(e,n){var t=React.useState(void 0),a=_slicedToArray(t,2),i=a[0],o=a[1];return React.useEffect(function(){function t(){return a.apply(this,arguments)}function a(){return a=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(){var a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e&&n)){t.next=5;break}return t.next=3,create(e,n);case 3:a=t.sent,o(a);case 5:case"end":return t.stop();}},t)})),a.apply(this,arguments)}return t(),function(){}},[e,n]),i}function get(e){return new Promise(function(n,t){try{var a=e.transaction([CONSTANTES.STORE_DATA_NAME],"readonly"),i=a.objectStore(CONSTANTES.STORE_DATA_NAME),o=i.count();o.onsuccess=function(){n(o.result)}}catch(n){t(n)}})}function CheckStore(e){var n=e.storeName,t=e.version,a=e.setStore,i=e.children,o=React.useState(0),d=_slicedToArray(o,2),r=d[0],s=d[1],l=React.useState(!1),u=_slicedToArray(l,2),c=u[0],f=u[1],p=React.useState(!1),m=_slicedToArray(p,2),g=m[0],h=m[1],b=React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var i,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,openDb(n,t);case 3:return i=e.sent,e.next=6,get$1(i,STORE_INFO_NAME,n);case 6:o=e.sent,i&&o&&(s(200),a(o)),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](0),s(400);case 13:case"end":return e.stop();}},e,null,[[0,10]])})),[n,t,a]);return React.useEffect(function(){b()},[b]),React.useEffect(function(){if(c){var e=/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:h(!1);case 3:case"end":return e.stop();}},e)}));return function(){return e.apply(this,arguments)}}();f(!1),h(!0),e()}},[c]),0===r?/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-in-progress"},"Le store ",n," est en cour de chargement."):200===r?i:/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-unvailable"},"Le store ",n," n'est pas disponible.",/*#__PURE__*/React__default["default"].createElement("button",{disabled:g,onClick:function(){return f(!0)}},"Refresh"))}function IDBSuggester(e){var n=e.storeName,t=e.idbVersion,a=e.id,i=e.className,o=e.labelledBy,d=e.optionRenderer,r=e.labelRenderer,s=e.onSelect,l=e.disabled,u=e.value,c=React.useState(void 0),
|
|
828
|
-
o(_defineProperty({},getResponseName(i),n||"")),v(n)},[o,i]);return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:s,features:l,bindings:u}),/*#__PURE__*/React__default["default"].createElement(LabelWrapper,{id:k,htmlFor:n,labelPosition:f,bindings:u,label:t,features:l,logFunction:p},/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:s,features:l,bindings:u}),/*#__PURE__*/React__default["default"].createElement(FieldWrapper,{id:n,management:c,response:i},/*#__PURE__*/React__default["default"].createElement(IDBSuggester,{storeName:m,optionRenderer:g,labelRenderer:h,labelledBy:k,idbVersion:b,onSelect:E,focused:r,disabled:d,response:i,id:n,value:x}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:s,features:l,bindings:u}))}Suggester.defaultProps={label:"",preferences:["COLLECTED"],response:{},disabled:!1,focused:!1,declarations:[],features:[],bindings:{},management:!1,labelPosition:"DEFAULT",style:{},getStoreInfo:void 0},Suggester.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,labelPosition:PropTypes__default["default"].oneOf(["DEFAULT","TOP","BOTTOM","LEFT","RIGHT"]),style:PropTypes__default["default"].object,storeInfo:PropTypes__default["default"].object,//TODO
|
|
782
|
+
,onClick:function(){var e=k.reduce(function(e,n){var t=n.name;return _objectSpread2(_objectSpread2({},e),{},_defineProperty({},t,[].concat(_toConsumableArray(l[t]),[null])))},{});o(e)},id:t,logFunction:null===p||void 0===p?void 0:p.logFunction}),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:t,type:DETACHABLE,declarations:r,features:s,bindings:l}))};LoopConstructorWrapper.defaultProps={label:"",preferences:["COLLECTED"],components:[],lines:{},positioning:"DEFAULT",declarations:[],features:[],bindings:{},addBtnLabel:"Add a line",management:!1,hideBtn:!1,style:{}},LoopConstructorWrapper.propTypes={componentType:PropTypes__default["default"].string.isRequired,id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),components:PropTypes__default["default"].array,handleChange:PropTypes__default["default"].func.isRequired,lines:lines,positioning:PropTypes__default["default"].oneOf(["DEFAULT","HORIZONTAL","VERTICAL"]),declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,addBtnLabel:PropTypes__default["default"].string,hideBtn:PropTypes__default["default"].bool,management:PropTypes__default["default"].bool,style:PropTypes__default["default"].object};var LoopConstructorWrapper$1=/*#__PURE__*/React__default["default"].memo(LoopConstructorWrapper,areEqual),css_248z$8=".lunatic-component .block-for-loop {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n.lunatic-component .block-for-loop .block-component {\n margin-top: 0.4em;\n margin-bottom: 0.4em;\n}";styleInject(css_248z$8);var BlockForLoop=function(e){return/*#__PURE__*/React__default["default"].createElement(LoopConstructorWrapper$1,e)},BlockForLoop$1=componentWrapper(/*#__PURE__*/React__default["default"].memo(BlockForLoop)),LoopWrapper=function(e){var n=e.iterations;return n?/*#__PURE__*/React__default["default"].createElement(Loop$1,e):/*#__PURE__*/React__default["default"].createElement(BlockForLoop$1,e)},RosterForLoop=function(e){return/*#__PURE__*/React__default["default"].createElement(LoopConstructorWrapper$1,e)},component$3=componentWrapper(/*#__PURE__*/React__default["default"].memo(RosterForLoop)),css_248z$7=".lunatic-component .sequence-lunatic {\n padding: 0;\n font-size: 0.875rem;\n color: var(--color-primary-light);\n background-color: var(--color-secondary-contrast-text);\n border: 0;\n height: 1.875rem;\n}";styleInject(css_248z$7);var Sequence=function(e){var n=e.id,t=e.label,a=e.declarations,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return/*#__PURE__*/React__default["default"].createElement(SimpleDeclarationsWrapper,{id:n,declarations:a,features:i,bindings:o},/*#__PURE__*/React__default["default"].createElement("div",{"aria-label":"sequence-".concat(n),className:"sequence-lunatic",style:buildStyleObject(d),id:"sequence-".concat(n)},interpret(i,r)(o)(t)))};Sequence.defaultProps={declarations:[],features:[],bindings:{},style:{}},Sequence.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var component$2=/*#__PURE__*/React__default["default"].memo(Sequence,areEqual),Subsequence=function(e){var n=e.id,t=e.label,a=e.declarations,i=e.features,o=e.bindings,d=e.style,r=e.logFunction;return/*#__PURE__*/React__default["default"].createElement(SimpleDeclarationsWrapper,{id:n,declarations:a,features:i,bindings:o},/*#__PURE__*/React__default["default"].createElement("div",_defineProperty({"aria-label":"subsequence-".concat(n),className:"subsequence-lunatic",style:buildStyleObject(d)},"aria-label","subsequence-".concat(n)),interpret(i,r)(o)(t)))};Subsequence.defaultProps={declarations:[],features:[],bindings:{},style:{}},Subsequence.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string.isRequired,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,style:PropTypes__default["default"].object};var component$1=/*#__PURE__*/React__default["default"].memo(Subsequence,areEqual),ON_INIT="lunatic-suggester/on-init",onInit=function(e){var n=e.id,t=e.disabled,a=e.value;return{type:ON_INIT,payload:{id:n,disabled:t,value:a}}},ON_CHANGE_SEARCH="lunatic-suggester/on-change-search",onChangeSearch=function(e){return{type:ON_CHANGE_SEARCH,payload:{search:e}}},ON_UPDATE_OPTIONS="lunatic-suggester/on-update-options",onUpdateOptions=function(e,n){return{type:ON_UPDATE_OPTIONS,payload:{options:e,search:n}}},ON_FOCUS="lunatic-suggester/on-focus",onFocus=function(){return{type:ON_FOCUS}},ON_BLUR="lunatic-suggester/on-blur",onBlur=function(){return{type:ON_BLUR}},ON_CLICK_OPTION="lunatic-suggester/on-click-option",onClickOption=function(e){return{type:ON_CLICK_OPTION,payload:{index:e}}},ON_KEY_DOWN="lunatic-suggester/on-key-down",onKeyDown=function(e){return{type:ON_KEY_DOWN,payload:{key:e}}},ON_ERROR="lunatic-suggester/on-error",onError=function(e){return{type:ON_ERROR,payload:{message:e}}},ON_DELETE_SEARCH="lunatic-suggester/on-delete-search",onDeleteSearch=function(){return{type:ON_DELETE_SEARCH}};function reduce$9(e,n){var t=n.payload,a=t.search;return _objectSpread2(_objectSpread2({},e),{},{search:a,selectedIndex:void 0})}function reduce$8(e,n){var t=n.payload,a=t.options,i=t.search,o=e.search;return o===i?_objectSpread2(_objectSpread2({},e),{},{options:a}):_objectSpread2(_objectSpread2({},e),{},{options:[]})}function reduce$7(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!0,expended:!0,displayLabel:!1})}function reduce$6(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!1,expended:!1,displayLabel:!0})}function reduce$5(e,n){var t=n.payload,a=t.index;return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!1})}var BINDED_KEYS={ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",Home:"Home",End:"End",Enter:"Enter",Escape:"Escape",Tab:"Tab"};function reduceArrowDown(e){var n=e.options,t=e.selectedIndex;if(n.length){var a=Math.min(t+1||0,n.length-1);return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!0,displayLabel:!0})}return e}function reduceArrowUp(e){var n=e.selectedIndex,t=e.options;if(t.length){var a=Math.max(n-1||0,0);return _objectSpread2(_objectSpread2({},e),{},{selectedIndex:a,expended:!0,displayLabel:!0})}return e}function reduceHome(e){var n=e.options;return n.length?_objectSpread2(_objectSpread2({},e),{},{selectedIndex:0,expended:!0}):e}function reduceEnd(e){var n=e.options;return n.length?_objectSpread2(_objectSpread2({},e),{},{selectedIndex:n.length-1,expended:!0}):e}function reduceTab(e){return _objectSpread2(_objectSpread2({},e),{},{focused:!1,expended:!1})}function reduceEnter(e){var n=e.expended;return _objectSpread2(_objectSpread2({},e),{},{expended:!n})}function reduceEscape(e){return _objectSpread2(_objectSpread2({},e),{},{expended:!1})}function reduce$4(e,n){var t=n.payload,a=t.key;return a===BINDED_KEYS.ArrowDown?reduceArrowDown(e):a===BINDED_KEYS.ArrowUp?reduceArrowUp(e):a===BINDED_KEYS.Home?reduceHome(e):a===BINDED_KEYS.End?reduceEnd(e):a===BINDED_KEYS.Tab?reduceTab(e):a===BINDED_KEYS.Enter?reduceEnter(e):a===BINDED_KEYS.Escape?reduceEscape(e):e}function getStringValue(e){return e?"".concat(e):""}function getId(){return"lunatic-suggester-".concat(new Date().getTime())}function reduce$3(e,n){var t=n.payload,a=t.id,i=t.disabled,o=t.value,d=e.search;return o&&0===d.length?_objectSpread2(_objectSpread2({},e),{},{id:a||getId(),disabled:i,search:getStringValue(o)}):_objectSpread2(_objectSpread2({},e),{},{id:a||getId(),disabled:i})}function reduce$2(e,n){var t=n.payload,a=t.message;return _objectSpread2(_objectSpread2({},e),{},{messageError:a})}function reduce$1(e){return _objectSpread2(_objectSpread2({},e),{},{search:"",selectedIndex:void 0,options:[],expanded:!1})}function reduce(e,n){var t=n.type;return t===ON_CHANGE_SEARCH?reduce$9(e,n):t===ON_UPDATE_OPTIONS?reduce$8(e,n):t===ON_FOCUS?reduce$7(e):t===ON_BLUR?reduce$6(e):t===ON_CLICK_OPTION?reduce$5(e,n):t===ON_KEY_DOWN?reduce$4(e,n):t===ON_INIT?reduce$3(e,n):t===ON_ERROR?reduce$2(e,n):t===ON_DELETE_SEARCH?reduce$1(e):e}var context=/*#__PURE__*/React__default["default"].createContext([void 0,void 0]),INITIAL={id:"",search:"",options:[],focused:!1,expended:!1,disabled:!1,displayLabel:!0,selectedIndex:void 0,messageError:void 0};function useDispatch(){var e=React.useContext(context),n=e[1];return n}var CALLBACKS={};function getSignature(e){var n=1<arguments.length&&arguments[1]!==void 0?arguments[1]:{};return Object.entries(n).reduce(function(e,n){var t=_slicedToArray(n,2),a=t[0],i=t[1];return"".concat(e,"-").concat(a,"-").concat(i)},e)}function createListener(e,n){var t=getSignature(e,n),a=function(n){if(t in CALLBACKS){var e=CALLBACKS[t].callbacks;e.forEach(function(e){e(n)})}};return document.addEventListener(e,a,n),a}function unmount(e,n,t){var a=getSignature(e,t);if(a in CALLBACKS){var i=CALLBACKS[a],o=i.listener,d=i.callbacks,r=d.indexOf(n);CALLBACKS[a].callbacks.splice(r,1),0===CALLBACKS[a].callbacks.length&&(delete CALLBACKS[a],document.removeEventListener(e,o))}}function mount(e,n,t){var a=getSignature(e,t);if(!(a in CALLBACKS)){var i=createListener(e,t);CALLBACKS[a]={listener:i,callbacks:[n]}}else CALLBACKS[a]=_objectSpread2(_objectSpread2({},CALLBACKS[a]),{},{callbacks:[].concat(_toConsumableArray(CALLBACKS[a].callbacks),[n])})}function useDocumentAddEventListener(e,n,t){React.useEffect(function(){return mount(e,n,t),function(){unmount(e,n,t)}},[e,n,t])}function SuggesterContent(e){var n=e.children;e.id;var t=e.focused,a=e.onFocus,i=e.onBlur,o=e.onKeyDown,d=React.useRef(),r=React.useCallback(function(n){var e=d.current;!e.contains(n.target)&&t&&i()},[d,t,i]);return useDocumentAddEventListener("mousedown",r),/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester",{focused:t}),onFocus:a,onKeyDown:o,ref:d},/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-content",{focused:t})},n))}function getContent$1(e,n){if(e){var t=e.id,a=e.label;return a?"".concat(t," - ").concat(a):t}return n&&n.trim().length?n:void 0}function DefaultLabelRenderer(e){var n=e.option,t=e.placeholderList,a=e.search,i=getContent$1(n,a);return i?/*#__PURE__*/React__default["default"].createElement("span",{className:"selection"},i):/*#__PURE__*/React__default["default"].createElement("span",{className:"placeholderList"},t)}DefaultLabelRenderer.propTypes={option:PropTypes__default["default"].shape({id:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number]).isRequired}),placeholderList:PropTypes__default["default"].string,search:PropTypes__default["default"].string};function Label$1(e){var n=e.labelRenderer,t=void 0===n?DefaultLabelRenderer:n,a=e.placeholderList,i=React.useContext(context),o=_slicedToArray(i,1),d=o[0],r=d.displayLabel,s=d.expended,l=d.selectedIndex,u=d.options,c=d.search,f=d.disabled,p=l===void 0?void 0:u[l];return/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-selected",{displayed:r||!s,disabled:f}),tabIndex:"-1"},/*#__PURE__*/React__default["default"].createElement(t,{option:p,placeholderList:a,search:c}))}function Selection(e,n){var t=e.labelRenderer,a=e.placeholderList,i=e.labelledBy,o=React.useContext(context),d=_slicedToArray(o,2),r=d[0],s=d[1],l=r.search,u=r.expended,c=r.id,f=r.disabled,p=r.focused;return/*#__PURE__*/React__default["default"].createElement("div",{id:c,className:classnames("lunatic-suggester-selection",{focused:p,disabled:f}),role:"combobox","aria-haspopup":"listbox","aria-labelledby":i,"aria-expanded":u,"aria-autocomplete":"list","aria-owns":"".concat(c,"-list")},/*#__PURE__*/React__default["default"].createElement("input",{ref:n,id:"".concat(c,"-input"),tabIndex:"0",className:"lunatic-suggester-input",type:"text",onChange:function(n){s(onChangeSearch(n.target.value))},value:l,"aria-label":"lunatic-suggester",title:"suggester",autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:"false",placeholderlist:a,disabled:f}),/*#__PURE__*/React__default["default"].createElement(Label$1,{labelRenderer:t,placeholderList:a}))}var Selection$1=/*#__PURE__*/React__default["default"].forwardRef(Selection);function PanelContainer(e){var n=e.children,t=e.focused,a=e.expended,i=e.id;return/*#__PURE__*/React__default["default"].createElement("ul",{id:i,tabIndex:"-1","aria-label":"suggestions",className:classnames("lunatic-suggester-panel",{focused:t,expended:a}),role:"listbox"},n)}function getMin(e){var n=e.top;return n}function getMax(e){var n=e.top,t=e.height;return n+t}function isVisible(e,n){var t=Math.min(getMin(e),getMin(n)),a=Math.max(getMax(e),getMax(n));return!!(a-t<e.height+n.height)}function OptionContainer(e){var n=e.children,t=e.index,a=e.selected,i=React.useRef(),o=useDispatch();return React.useEffect(function(){var e=i.current;if(e&&a){var n=e.getBoundingClientRect(),t=e.parentNode.getBoundingClientRect();isVisible(n,t)||e.scrollIntoView()}},[i,a]),/*#__PURE__*/React__default["default"].createElement("li",{className:classnames("lunatic-suggester-option",{selected:a}),role:"option","aria-selected":a,onMouseDown:function(n){n.stopPropagation(),n.preventDefault(),o(onClickOption(t))},ref:i},n)}function getContent(e){var n=e.options,t=e.OptionRender,a=e.selectedIndex,i=e.expended,o=e.value,d=e.search;return i?n.map(function(e,n){var i=e.id;return/*#__PURE__*/React__default["default"].createElement(OptionContainer,{key:i,index:n,selected:i===o},/*#__PURE__*/React__default["default"].createElement(t,{option:e,selected:a===n,search:d}))}):void 0}function Panel(e){var n=e.optionRenderer,t=e.value,a=React.useContext(context),i=_slicedToArray(a,1),o=i[0],d=o.options,r=o.focused,s=o.selectedIndex,l=o.expended,u=o.id,c=o.search,f=getContent({options:d,OptionRender:n,selectedIndex:s,expended:l,value:t,search:c});return/*#__PURE__*/React__default["default"].createElement(PanelContainer,{expended:l,focused:r,id:"".concat(u,"-list")},f)}function DefaultOptionRenderer(e){var n=e.option,t=e.selected,a=n.id,i=n.label;return i&&i.length?/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-option",{selected:t})},/*#__PURE__*/React__default["default"].createElement("span",{className:"id"},a),i&&/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement("span",null," - "),/*#__PURE__*/React__default["default"].createElement("span",{className:"label"},i))):/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-option",{selected:t})},/*#__PURE__*/React__default["default"].createElement("span",{className:"id"},a))}function create$1(n){return function(t){var e=t.key;e===BINDED_KEYS.Tab?(t.stopPropagation(),n(onKeyDown(e))):e===BINDED_KEYS.ArrowDown||e===BINDED_KEYS.ArrowUp||e===BINDED_KEYS.Home||e===BINDED_KEYS.End||e===BINDED_KEYS.Enter||e===BINDED_KEYS.Escape?(t.preventDefault(),t.stopPropagation(),n(onKeyDown(e))):void 0}}var css_248z$6=".lunatic-fab {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n margin: 0;\n padding: 0;\n outline: inherit;\n border: none;\n background-color: royalblue;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-fab:hover {\n cursor: pointer;\n background-color: navy;\n transition: background-color 1s;\n}\n.lunatic-fab.mini {\n width: 18px;\n height: 18px;\n}\n.lunatic-fab:focus {\n border: solid 1px black;\n}\n.lunatic-fab:disabled {\n cursor: default;\n background-color: darkgray;\n}";styleInject(".lunatic-fab {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n margin: 0;\n padding: 0;\n outline: inherit;\n border: none;\n background-color: royalblue;\n box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);\n}\n.lunatic-fab:hover {\n cursor: pointer;\n background-color: navy;\n transition: background-color 1s;\n}\n.lunatic-fab.mini {\n width: 18px;\n height: 18px;\n}\n.lunatic-fab:focus {\n border: solid 1px black;\n}\n.lunatic-fab:disabled {\n cursor: default;\n background-color: darkgray;\n}");function empty$2(){}function Fab(e){var n=e.className,t=e.children,a=e.tabIndex,i=e.title,o=e.onClick,d=e.onKeyDown,r=e.disabled;return/*#__PURE__*/React__default["default"].createElement("button",{className:classnames("lunatic-fab",n),tabIndex:a,title:i,onClick:o,onKeyDown:d,disabled:r,"aria-label":i},t)}Fab.propTypes={className:PropTypes__default["default"].string,tabIndex:PropTypes__default["default"].string,onClick:PropTypes__default["default"].func,onKeyDown:PropTypes__default["default"].func,title:PropTypes__default["default"].string,disabled:PropTypes__default["default"].bool},Fab.defaultProps={className:void 0,tabIndex:void 0,title:"Fab",onClick:empty$2,disabled:!1,onKeyDown:empty$2};function isDisabled(e){return!e||0===e.trim().length}function createOnKeyDown(n){return"function"==typeof n?function(t){var e=t.key;"Enter"===e&&n()}:function(){return null}}function Delete(e){var n=e.className,t=e.search,a=e.onClick,i=React.useMemo(function(){return createOnKeyDown(a)},[a]);return/*#__PURE__*/React__default["default"].createElement(Fab,{className:classnames("mini","lunatic-suggester-fab",n),tabIndex:"0",title:"delete",onClick:a,disabled:isDisabled(t),onKeyDown:i},/*#__PURE__*/React__default["default"].createElement(CrossIcon$2,{className:"lunatic-suggester-icon"}))}var css_248z$5=".lunatic-suggester-container {\n position: relative;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester-fab {\n position: absolute;\n right: 4px;\n top: 8px;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester-fab.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester-fab .lunatic-icon svg {\n fill: white;\n width: 16px;\n height: 16px;\n}\n.lunatic-suggester-container .lunatic-suggester {\n position: relative;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n position: absolute;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n position: relative;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n border: none;\n margin: 0;\n padding: 0;\n background-color: transparent;\n width: 100%;\n /* */\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n position: absolute;\n top: 0;\n white-space: nowrap;\n overflow-x: hidden;\n width: 100%;\n height: 100%;\n display: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.displayed {\n display: block;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content ul,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content li,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content div,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content span {\n margin: 0;\n padding: 0;\n border: none;\n line-height: 1em;\n list-style: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n white-space: nowrap;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n}";styleInject(".lunatic-suggester-container {\n position: relative;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester-fab {\n position: absolute;\n right: 4px;\n top: 8px;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester-fab.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester-fab .lunatic-icon svg {\n fill: white;\n width: 16px;\n height: 16px;\n}\n.lunatic-suggester-container .lunatic-suggester {\n position: relative;\n z-index: 0;\n}\n.lunatic-suggester-container .lunatic-suggester:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester.focused {\n z-index: 1;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n position: absolute;\n width: 100%;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n position: relative;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n border: none;\n margin: 0;\n padding: 0;\n background-color: transparent;\n width: 100%;\n /* */\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n position: absolute;\n top: 0;\n white-space: nowrap;\n overflow-x: hidden;\n width: 100%;\n height: 100%;\n display: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.displayed {\n display: block;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content ul,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content li,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content div,\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content span {\n margin: 0;\n padding: 0;\n border: none;\n line-height: 1em;\n list-style: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel:focus {\n outline: none;\n}\n.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n white-space: nowrap;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n}");function Suggester$1(e){var n=e.className,t=e.placeholderList,a=e.labelledBy,i=e.optionRenderer,o=e.labelRenderer,d=e.onSelect,r=e.value,s=e.focused,l=e.response,u=e.logFunction,c=React.useRef(),f=React.useContext(context),p=_slicedToArray(f,2),m=p[0],g=p[1],h=m.focused,b=m.id,y=m.messageError,w=m.search,x=m.disabled,v=React.useState(!1),k=_slicedToArray(v,2),E=k[0],S=k[1],C=function(){var e=!(0<arguments.length&&arguments[0]!==void 0)||arguments[0];return createObjectEvent("suggester-".concat(b),INPUT_CATEGORY,e?EVENT_FOCUS_IN:EVENT_FOCUS_OUT,getResponseName(l),r)},T=React.useCallback(function(){if(!h&&!x){if(c.current!==document.activeElement);c.current.focus(),g(onFocus())}},[x,g,h]);React.useEffect(function(){!E&&b&&(s&&!h&&T(),S(!0))},[h,E,s,T,b]),React.useEffect(function(){E&&b&&h&&isFunction(u)&&u(C()),E&&b&&!h&&isFunction(u)&&u(C(!1))},[h,b,E]);var N=React.useCallback(function(){g(onDeleteSearch()),d(void 0)},[g,d]),R=React.useCallback(function(){h&&g(onBlur())},[g,h]),P=React.useMemo(function(){return create$1(g)},[g]);return y?/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-message-error"},y):/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-suggester-container",n)},/*#__PURE__*/React__default["default"].createElement(SuggesterContent,{id:b,focused:h,onFocus:T,onBlur:R,onKeyDown:P},/*#__PURE__*/React__default["default"].createElement(Selection$1,{labelRenderer:o,placeholderList:t,labelledBy:a,ref:c}),/*#__PURE__*/React__default["default"].createElement(Panel,{optionRenderer:i,value:r})),/*#__PURE__*/React__default["default"].createElement(Delete,{className:classnames({focused:h}),search:w,onClick:N}))}var css_248z$4=".lunatic-component .lunatic-suggester-message-error {\n border: solid 1px darkred;\n color: darkred;\n background-color: tomato;\n display: inline-block;\n border-radius: 3px;\n padding: 4px 8px;\n margin: 4px 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container {\n margin-bottom: 10px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester {\n min-height: 30px;\n min-width: 260px;\n width: 100%;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n /* */\n /* */\n /* */\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n border-radius: 5px;\n border: 2px solid var(--color-primary-dark);\n background-color: white;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection:hover {\n border-color: var(--color-primary-main);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n height: 34;\n line-height: 34px;\n font-size: 15px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input::placeholderlist {\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n height: 34px;\n line-height: 34px;\n background-color: white;\n border-radius: 5px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .placeholderList {\n display: block;\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .selection {\n display: block;\n line-height: 34px;\n font-size: 15px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n height: 0;\n opacity: 0;\n background-color: white;\n transition: opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel.expended {\n border: solid 1px var(--color-primary-light);\n opacity: 1;\n min-height: 30px;\n height: max-content;\n box-shadow: 0 2px 2px grey;\n border-radius: 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n margin-bottom: 0.1em;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option.selected {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option:hover {\n background-color: var(--color-primary-main);\n color: white;\n}";styleInject(".lunatic-component .lunatic-suggester-message-error {\n border: solid 1px darkred;\n color: darkred;\n background-color: tomato;\n display: inline-block;\n border-radius: 3px;\n padding: 4px 8px;\n margin: 4px 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container {\n margin-bottom: 10px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester {\n min-height: 30px;\n min-width: 260px;\n width: 100%;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content {\n /* */\n /* */\n /* */\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection {\n border-radius: 5px;\n border: 2px solid var(--color-primary-dark);\n background-color: white;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection:hover {\n border-color: var(--color-primary-main);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input {\n height: 34;\n line-height: 34px;\n font-size: 15px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-input::placeholderlist {\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected {\n height: 34px;\n line-height: 34px;\n background-color: white;\n border-radius: 5px;\n padding-left: 4px;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .placeholderList {\n display: block;\n color: gray;\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n font-size: 15px;\n line-height: 34px;\n vertical-align: middle;\n font-weight: normal;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected .selection {\n display: block;\n line-height: 34px;\n font-size: 15px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-selection .lunatic-suggester-selected.disabled {\n background-color: var(--color-disabled);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel {\n font-family: \"Roboto\", \"Helvetica\", \"Arial\", sans-serif;\n height: 0;\n opacity: 0;\n background-color: white;\n transition: opacity 267ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, transform 178ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel.expended {\n border: solid 1px var(--color-primary-light);\n opacity: 1;\n min-height: 30px;\n height: max-content;\n box-shadow: 0 2px 2px grey;\n border-radius: 4px;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n margin-bottom: 0.1em;\n line-height: 2rem;\n display: block;\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option.selected {\n color: var(--color-primary-dark);\n background-color: var(--color-dropdown-selected);\n}\n.lunatic-component .lunatic-suggester-default-style.lunatic-suggester-container .lunatic-suggester .lunatic-suggester-content .lunatic-suggester-panel .lunatic-suggester-option:hover {\n background-color: var(--color-primary-main);\n color: white;\n}");function getSearch(e,n){return e&&e.length?e:n}function SuggesterWrapper(e){var n=e.id,t=e.className,a=e.version,i=e.labelledBy,o=e.placeholderList,d=e.optionRenderer,r=e.onSelect,s=e.searching,l=e.labelRenderer,u=e.disabled,c=e.value,f=e.focused,p=e.response,m=e.logFunction,g=React.useReducer(reduce,INITIAL),h=_slicedToArray(g,2),b=h[0],y=h[1],w=b.search,x=b.selectedIndex,v=b.options,k=b.expended;return React.useEffect(function(){function e(){return n.apply(this,arguments)}function n(){return n=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var n,t,a,i;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n=getSearch(w,c),!(n&&"function"==typeof s)){e.next=11;break}return e.next=5,s(n);case 5:t=e.sent,a=t.results,i=t.search,y(onUpdateOptions(a,i)),e.next=12;break;case 11:y(onDeleteSearch());case 12:e.next=18;break;case 14:e.prev=14,e.t0=e["catch"](0),console.error(e.t0),y(onError("Une erreur est survenue."));case 18:case"end":return e.stop();}},e,null,[[0,14]])})),n.apply(this,arguments)}e()},[w,s,c]),React.useEffect(function(){void 0===x||k||r(v[x],x)},[x,r,v,k]),React.useEffect(function(){y(onInit({id:n,disabled:u,value:c}))},[n,u,c]),/*#__PURE__*/React__default["default"].createElement(context.Provider,{value:[b,y]},/*#__PURE__*/React__default["default"].createElement(Suggester$1,{className:t,placeholderList:o,version:a,labelledBy:i,optionRenderer:d,labelRenderer:l,onSelect:r,value:c,focused:f,response:p,logFunction:m}))}SuggesterWrapper.propTypes={id:PropTypes__default["default"].string,className:PropTypes__default["default"].string,placeholderList:PropTypes__default["default"].string,labelledBy:PropTypes__default["default"].string,optionRenderer:PropTypes__default["default"].func,labelRenderer:PropTypes__default["default"].func,onSelect:PropTypes__default["default"].func,storeInfo:PropTypes__default["default"].object,value:PropTypes__default["default"].oneOfType([PropTypes__default["default"].string,PropTypes__default["default"].number,PropTypes__default["default"].bool,PropTypes__default["default"].object]),searching:PropTypes__default["default"].func},SuggesterWrapper.defaultProps={id:void 0,className:"lunatic-suggester-default-style",labelledBy:void 0,placeholderList:"Veuillez...",optionRenderer:DefaultOptionRenderer,labelRenderer:DefaultLabelRenderer,language:"French",onSelect:function(){return null},value:void 0,searching:void 0};var WORKER_PATH=process.env.LUNATIC_SEARCH_WORKER_PATH||process.env.REACT_APP_LUNATIC_SEARCH_WORKER_PATH;function isWorkerCompatible(){return!!window.Worker}var searching=function(n){return function(e,t,a){if(!WORKER_PATH)throw new Error("Worker path is required for suggester's searches.");return isWorkerCompatible()?new Promise(function(i){try{n&&n.terminate(),n=createWorker(WORKER_PATH),n.postMessage({search:e,name:t,version:a}),n.addEventListener("message",function(t){var e=t.data;i(e),n.terminate(),n=void 0})}catch(n){//TODO
|
|
783
|
+
}}):void 0}};function createSearching(e,n){var t=searching(void 0);return/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function i(a){return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",t(a,e,n));case 1:case"end":return i.stop();}},i)}));return function(){return a.apply(this,arguments)}}()}function create(){return _create.apply(this,arguments)}function _create(){return _create=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(e,n){var a,i;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.name,t.prev=1,t.next=4,openStorage(a,n);case 4:return i=t.sent,t.next=7,clearStore(i,CONSTANTES.STORE_INFO_NAME);case 7:return t.next=9,update(i,e);case 9:return t.abrupt("return",i);case 12:throw t.prev=12,t.t0=t["catch"](1),t.t0;case 15:case"end":return t.stop();}},t,null,[[1,12]])})),_create.apply(this,arguments)}function useStoreIndex(e,n){var t=React.useState(void 0),a=_slicedToArray(t,2),i=a[0],o=a[1];return React.useEffect(function(){function t(){return a.apply(this,arguments)}function a(){return a=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function t(){var a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e&&n)){t.next=5;break}return t.next=3,create(e,n);case 3:a=t.sent,o(a);case 5:case"end":return t.stop();}},t)})),a.apply(this,arguments)}return t(),function(){}},[e,n]),i}function get(e){return new Promise(function(n,t){try{var a=e.transaction([CONSTANTES.STORE_DATA_NAME],"readonly"),i=a.objectStore(CONSTANTES.STORE_DATA_NAME),o=i.count();o.onsuccess=function(){n(o.result)}}catch(n){t(n)}})}function CheckStore(e){var n=e.storeName,t=e.version,a=e.setStore,i=e.children,o=React.useState(0),d=_slicedToArray(o,2),r=d[0],s=d[1],l=React.useState(!1),u=_slicedToArray(l,2),c=u[0],f=u[1],p=React.useState(!1),m=_slicedToArray(p,2),g=m[0],h=m[1],b=React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){var i,o;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,openDb(n,t);case 3:return i=e.sent,e.next=6,get$1(i,STORE_INFO_NAME,n);case 6:o=e.sent,i&&o&&(s(200),a(o)),e.next=13;break;case 10:e.prev=10,e.t0=e["catch"](0),s(400);case 13:case"end":return e.stop();}},e,null,[[0,10]])})),[n,t,a]);return React.useEffect(function(){b()},[b]),React.useEffect(function(){if(c){var e=/*#__PURE__*/function(){var e=_asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b();case 2:h(!1);case 3:case"end":return e.stop();}},e)}));return function(){return e.apply(this,arguments)}}();f(!1),h(!0),e()}},[c]),0===r?/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-in-progress"},"Le store ",n," est en cour de chargement."):200===r?i:/*#__PURE__*/React__default["default"].createElement("div",{className:"lunatic-suggester-unvailable"},"Le store ",n," n'est pas disponible.",/*#__PURE__*/React__default["default"].createElement("button",{disabled:g,onClick:function(){return f(!0)}},"Refresh"))}function IDBSuggester(e){var n=e.storeName,t=e.idbVersion,a=e.id,i=e.className,o=e.labelledBy,d=e.optionRenderer,r=e.labelRenderer,s=e.onSelect,l=e.disabled,u=e.value,c=e.focused,f=e.response,p=e.logFunction,m=React.useState(void 0),g=_slicedToArray(m,2),h=g[0],b=g[1],y=React.useMemo(function(){return h?createSearching(n,t):void 0},[n,t,h]);return/*#__PURE__*/React__default["default"].createElement(CheckStore,{storeName:n,idbVersion:t,setStore:b},/*#__PURE__*/React__default["default"].createElement(SuggesterWrapper,{id:a,className:i,labelledBy:o,optionRenderer:d,labelRenderer:r,onSelect:s,searching:y,storeName:n,disabled:l,value:u,focused:c,response:f,logFunction:p}))}IDBSuggester.defaultProps={idbVersion:"1"},IDBSuggester.propTypes={storeName:PropTypes__default["default"].string.isRequired,idbVersion:PropTypes__default["default"].string,id:PropTypes__default["default"].string,className:PropTypes__default["default"].string,labelledBy:PropTypes__default["default"].string,optionRenderer:PropTypes__default["default"].func,labelRenderer:PropTypes__default["default"].func,onSelect:PropTypes__default["default"].func};function Label(e){var n=e.htmlFor,t=e.features,a=e.logFunction,i=e.bindings,o=e.label,d=e.id;return o?/*#__PURE__*/React__default["default"].createElement("label",{className:classnames("lunatic-label"),htmlFor:n,id:d},interpret(t,a)(i)(o)):void 0}function LabelWrapper(e){var n=e.children,t=e.id,a=e.htmlFor,i=void 0===a?"":a,o=e.labelPosition,d=void 0===o?"":o,r=e.bindings,s=e.label,l=e.features,u=e.logFunction,c=getLabelPositionClass(d);return/*#__PURE__*/React__default["default"].createElement("div",{className:classnames("lunatic-component-container","".concat(c,"-ex"))},/*#__PURE__*/React__default["default"].createElement(Label,{id:t,htmlFor:i,bindings:r,label:s,features:l,logFunction:u}),n)}function FieldWrapper(e){var n=e.children,t=e.id,a=e.management,i=e.response;return/*#__PURE__*/React__default["default"].createElement("div",{className:"field-container"},/*#__PURE__*/React__default["default"].createElement("div",{className:"".concat(a?"field-with-tooltip":"field")},n),a&&/*#__PURE__*/React__default["default"].createElement("div",{className:"tooltip"},/*#__PURE__*/React__default["default"].createElement(TooltipResponse,{id:t,response:buildBooleanTooltipResponse(i)})))}function getSuggestionId(e){return e?e.id:null}function Suggester(e){var n=e.id,t=e.label,a=e.preferences,i=e.response,o=e.handleChange,d=e.disabled,r=e.focused,s=e.declarations,l=e.features,u=e.bindings,c=e.management,f=e.labelPosition;e.style;var p=e.logFunction,m=e.storeName,g=e.optionRenderer,h=e.labelRenderer,b=e.idbVersion,y=React.useState(function(){return getResponseByPreference(a)(i)}),w=_slicedToArray(y,2),x=w[0],v=w[1],k="suggester-label-".concat(n),E=React.useCallback(function(e){var n=getSuggestionId(e);// Delete: null --> empty to handle controls
|
|
784
|
+
o(_defineProperty({},getResponseName(i),n||"")),v(n)},[o,i]);return/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment,null,/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:BEFORE_QUESTION_TEXT,declarations:s,features:l,bindings:u}),/*#__PURE__*/React__default["default"].createElement(LabelWrapper,{id:k,htmlFor:n,labelPosition:f,bindings:u,label:t,features:l,logFunction:p},/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:AFTER_QUESTION_TEXT,declarations:s,features:l,bindings:u}),/*#__PURE__*/React__default["default"].createElement(FieldWrapper,{id:n,management:c,response:i},/*#__PURE__*/React__default["default"].createElement(IDBSuggester,{storeName:m,optionRenderer:g,labelRenderer:h,labelledBy:k,idbVersion:b,onSelect:E,focused:r,disabled:d,response:i,id:n,value:x,logFunction:p}))),/*#__PURE__*/React__default["default"].createElement(Declarations,{id:n,type:DETACHABLE,declarations:s,features:l,bindings:u}))}Suggester.defaultProps={label:"",preferences:["COLLECTED"],response:{},disabled:!1,focused:!1,declarations:[],features:[],bindings:{},management:!1,labelPosition:"DEFAULT",style:{},getStoreInfo:void 0},Suggester.propTypes={id:PropTypes__default["default"].string.isRequired,label:PropTypes__default["default"].string,preferences:PropTypes__default["default"].arrayOf(valueType),response:response,handleChange:PropTypes__default["default"].func.isRequired,disabled:PropTypes__default["default"].bool,focused:PropTypes__default["default"].bool,declarations:declarations,features:PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),bindings:PropTypes__default["default"].object,management:PropTypes__default["default"].bool,labelPosition:PropTypes__default["default"].oneOf(["DEFAULT","TOP","BOTTOM","LEFT","RIGHT"]),style:PropTypes__default["default"].object,storeInfo:PropTypes__default["default"].object,//TODO
|
|
829
785
|
getStoreInfo:PropTypes__default["default"].func};var lunaticSuggester=componentWrapper(/*#__PURE__*/React__default["default"].memo(Suggester,areEqual)),css_248z$3=".lunatic-component .textarea-lunatic {\n height: 3em;\n width: 100%;\n}";styleInject(css_248z$3);var Textarea=function(e){return/*#__PURE__*/React__default["default"].createElement(InputDeclarationsWrapper,_extends({type:null,roleType:"textarea"},e))},component=componentWrapper(/*#__PURE__*/React__default["default"].memo(Textarea,areEqual));function ClosedIcon(e){var n=e.className,t=e.width,a=void 0===t?32:t,i=e.height,o=void 0===i?32:i;return/*#__PURE__*/React__default["default"].createElement(ClosedIcon$2,{className:n},/*#__PURE__*/React__default["default"].createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:a,height:o,x:"0",y:"0",enableBackground:"new 0 0 32 32",version:"1.1",viewBox:"0 0 32 32",xmlSpace:"preserve"},/*#__PURE__*/React__default["default"].createElement("path",{d:"m 10.628906,5.8808594 c -0.214987,-0.001 -0.42313,0.066105 -0.621094,0.203125 -0.197929,0.13695 -0.3337126,0.3059125 -0.4082026,0.5078125 -0.07434,0.20177 -0.063157,0.3725087 0.033203,0.5117187 L 10.667969,8.5996094 C 7.7654347,10.429719 6.000564,13.619938 6,17.054688 c 0,5.522849 4.477153,10 10,10 5.522847,0 10,-4.477151 10,-10 C 26.000084,13.846958 24.464581,10.867019 21.925781,9 l -2.167969,4.773438 c 0.779895,0.889532 1.238599,2.0462 1.242188,3.28125 0,2.76142 -2.238576,5 -5,5 -2.761424,0 -5,-2.238581 -5,-5 0.0042,-1.793391 0.969178,-3.443679 2.523438,-4.330079 l 1.089843,1.574219 c 0.09638,0.13927 0.25171,0.209318 0.466797,0.210938 0.215229,10e-4 0.421172,-0.06601 0.619141,-0.203125 0.19792,-0.13696 0.333879,-0.305933 0.408203,-0.507813 l 2.626953,-7.1386718 c 0.07422,-0.2019799 0.06311,-0.3725587 -0.0332,-0.5117187 -0.0963,-0.13917 -0.251768,-0.2093975 -0.4668,-0.2109375 z"})))}_objectSpread2(_objectSpread2({},BULK_INSERT_MESSAGES),{},{startCreateIndex:{type:"fill-store/start-create-index"},indexBatch:{type:"fill-store/index-batch",max:void 0,done:void 0,percent:void 0},createIndexDone:{type:"fill-store/create-index-done"},//
|
|
830
786
|
storeClear:{type:"fill-store/clear-store"},startInsertBatch:{type:"fill-store/start-insert-bacth"},insertBatchDone:{type:"fill-store/insert-done"},done:{type:"fill-store/done"},error:{type:"fill-store/error"}});var toStr$1=Object.prototype.toString,isArguments=function(e){var n=toStr$1.call(e),t="[object Arguments]"===n;return t||(t="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&0<=e.length&&"[object Function]"===toStr$1.call(e.callee)),t},keysShim$1;if(!Object.keys){// modified from https://github.com/es-shims/es5-shim
|
|
831
787
|
var has=Object.prototype.hasOwnProperty,toStr=Object.prototype.toString,isArgs=isArguments,isEnumerable=Object.prototype.propertyIsEnumerable,hasDontEnumBug=!isEnumerable.call({toString:null},"toString"),hasProtoEnumBug=isEnumerable.call(function(){},"prototype"),dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],equalsConstructorPrototype=function(e){var n=e.constructor;return n&&n.prototype===e},excludedKeys={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},hasAutomationEqualityBug=function(){/* global window */if("undefined"==typeof window)return!1;for(var e in window)try{if(!excludedKeys["$"+e]&&has.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{equalsConstructorPrototype(window[e])}catch(n){return!0}}catch(n){return!0}return!1}(),equalsConstructorPrototypeIfNotBuggy=function(e){/* global window */if("undefined"==typeof window||!hasAutomationEqualityBug)return equalsConstructorPrototype(e);try{return equalsConstructorPrototype(e)}catch(n){return!1}};keysShim$1=function(e){var n=null!==e&&"object"==typeof e,t="[object Function]"===toStr.call(e),a=isArgs(e),o=n&&"[object String]"===toStr.call(e),d=[];if(!n&&!t&&!a)throw new TypeError("Object.keys called on a non-object");if(o&&0<e.length&&!has.call(e,0))for(var r=0;r<e.length;++r)d.push(r+"");if(a&&0<e.length)for(var s=0;s<e.length;++s)d.push(s+"");else for(var l in e)!(hasProtoEnumBug&&t&&"prototype"===l)&&has.call(e,l)&&d.push(l+"");if(hasDontEnumBug)for(var u=equalsConstructorPrototypeIfNotBuggy(e),c=0;c<dontEnums.length;++c)!(u&&"constructor"===dontEnums[c])&&has.call(e,dontEnums[c])&&d.push(dontEnums[c]);return d}}var implementation=keysShim$1,slice=Array.prototype.slice,origKeys=Object.keys,keysShim=origKeys?function(e){return origKeys(e)}:implementation,originalKeys=Object.keys;keysShim.shim=function(){if(Object.keys){var e=function(){// Safari 5.0 bug
|