@zengenti/contensis-react-base 3.0.2-beta.2 → 3.0.2-beta.21
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/cjs/{App-ee485b92.js → App-21a7d836.js} +120 -432
- package/cjs/App-21a7d836.js.map +1 -0
- package/cjs/ContensisDeliveryApi-c079b03a.js +231 -0
- package/cjs/ContensisDeliveryApi-c079b03a.js.map +1 -0
- package/cjs/{RouteLoader-3aa6456e.js → RouteLoader-7f0d107a.js} +23 -37
- package/{esm/RouteLoader-5171c63f.js.map → cjs/RouteLoader-7f0d107a.js.map} +1 -1
- package/cjs/{ToJs-a9a8522b.js → ToJs-6e9cfa69.js} +3 -4
- package/cjs/{ToJs-a9a8522b.js.map → ToJs-6e9cfa69.js.map} +1 -1
- package/cjs/client.js +20 -27
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +124 -188
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/forms.js +1488 -272
- package/cjs/forms.js.map +1 -1
- package/cjs/{fromJSLeaveImmer-e74c673c.js → fromJSLeaveImmer-7c363211.js} +1 -4
- package/cjs/{fromJSLeaveImmer-e74c673c.js.map → fromJSLeaveImmer-7c363211.js.map} +1 -1
- package/cjs/{login-840860bc.js → login-2a6b5be0.js} +64 -113
- package/cjs/login-2a6b5be0.js.map +1 -0
- package/cjs/{reducers-3a4f8971.js → reducers-9afb5f89.js} +14 -31
- package/cjs/reducers-9afb5f89.js.map +1 -0
- package/cjs/redux.js +17 -17
- package/cjs/redux.js.map +1 -1
- package/cjs/routing.js +6 -7
- package/cjs/routing.js.map +1 -1
- package/cjs/{sagas-8a20e424.js → sagas-e04b94c1.js} +225 -301
- package/cjs/sagas-e04b94c1.js.map +1 -0
- package/cjs/search.js +68 -94
- package/cjs/search.js.map +1 -1
- package/cjs/{selectors-656da4b7.js → selectors-bcca60f4.js} +89 -8
- package/cjs/selectors-bcca60f4.js.map +1 -0
- package/cjs/urls-6fcaf4c6.js.map +1 -1
- package/cjs/user.js +4 -13
- package/cjs/user.js.map +1 -1
- package/cjs/util.js +45 -53
- package/cjs/util.js.map +1 -1
- package/cjs/{version-78dfc3bd.js → version-4077e706.js} +50 -159
- package/cjs/version-4077e706.js.map +1 -0
- package/cjs/version-fe28099e.js +98 -0
- package/cjs/version-fe28099e.js.map +1 -0
- package/esm/{App-640239d2.js → App-2af18a99.js} +102 -412
- package/esm/App-2af18a99.js.map +1 -0
- package/esm/ContensisDeliveryApi-5660ee0e.js +227 -0
- package/esm/ContensisDeliveryApi-5660ee0e.js.map +1 -0
- package/esm/{RouteLoader-5171c63f.js → RouteLoader-6eac364e.js} +22 -36
- package/{cjs/RouteLoader-3aa6456e.js.map → esm/RouteLoader-6eac364e.js.map} +1 -1
- package/esm/{ToJs-4e02a04d.js → ToJs-9b30636a.js} +3 -4
- package/esm/{ToJs-4e02a04d.js.map → ToJs-9b30636a.js.map} +1 -1
- package/esm/client.js +15 -22
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +119 -183
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/forms.js +1490 -274
- package/esm/forms.js.map +1 -1
- package/esm/{fromJSLeaveImmer-0114ffcf.js → fromJSLeaveImmer-e2dacd63.js} +1 -4
- package/esm/{fromJSLeaveImmer-0114ffcf.js.map → fromJSLeaveImmer-e2dacd63.js.map} +1 -1
- package/esm/{login-57395c9c.js → login-71ff3fcb.js} +63 -112
- package/esm/login-71ff3fcb.js.map +1 -0
- package/esm/{reducers-8e5d6232.js → reducers-3d5c37d1.js} +14 -31
- package/esm/reducers-3d5c37d1.js.map +1 -0
- package/esm/redux.js +9 -8
- package/esm/redux.js.map +1 -1
- package/esm/routing.js +3 -4
- package/esm/routing.js.map +1 -1
- package/esm/{sagas-e576b6f6.js → sagas-933a8fc8.js} +177 -254
- package/esm/sagas-933a8fc8.js.map +1 -0
- package/esm/search.js +69 -95
- package/esm/search.js.map +1 -1
- package/esm/{selectors-a5e5835b.js → selectors-74de49a3.js} +75 -8
- package/esm/selectors-74de49a3.js.map +1 -0
- package/esm/urls-eac9a747.js.map +1 -1
- package/esm/user.js +6 -15
- package/esm/user.js.map +1 -1
- package/esm/util.js +42 -53
- package/esm/util.js.map +1 -1
- package/esm/version-b15807c5.js +87 -0
- package/esm/version-b15807c5.js.map +1 -0
- package/esm/{version-e3a5ec66.js → version-ef107106.js} +37 -142
- package/esm/version-ef107106.js.map +1 -0
- package/models/redux/appstate.d.ts +1 -0
- package/models/routing/redux/selectors.d.ts +2 -1
- package/models/search/models/Queries.d.ts +2 -1
- package/models/search/models/Search.d.ts +2 -0
- package/models/search/models/SearchActions.d.ts +3 -3
- package/models/search/redux/actions.d.ts +6 -6
- package/models/search/redux/util.d.ts +1 -1
- package/models/search/search/expressions.d.ts +1 -1
- package/models/server/features/linkdepth-api/search.d.ts +1 -1
- package/models/util/ContensisDeliveryApi.d.ts +6 -0
- package/models/util/index.d.ts +1 -0
- package/package.json +1 -1
- package/cjs/App-ee485b92.js.map +0 -1
- package/cjs/actions-8dc9e8de.js +0 -87
- package/cjs/actions-8dc9e8de.js.map +0 -1
- package/cjs/login-840860bc.js.map +0 -1
- package/cjs/reducers-3a4f8971.js.map +0 -1
- package/cjs/sagas-8a20e424.js.map +0 -1
- package/cjs/selectors-656da4b7.js.map +0 -1
- package/cjs/version-78dfc3bd.js.map +0 -1
- package/cjs/version-eba6d09b.js +0 -20
- package/cjs/version-eba6d09b.js.map +0 -1
- package/esm/App-640239d2.js.map +0 -1
- package/esm/actions-180948dd.js +0 -72
- package/esm/actions-180948dd.js.map +0 -1
- package/esm/login-57395c9c.js.map +0 -1
- package/esm/reducers-8e5d6232.js.map +0 -1
- package/esm/sagas-e576b6f6.js.map +0 -1
- package/esm/selectors-a5e5835b.js.map +0 -1
- package/esm/version-2485e2fb.js +0 -15
- package/esm/version-2485e2fb.js.map +0 -1
- package/esm/version-e3a5ec66.js.map +0 -1
package/cjs/forms.js
CHANGED
|
@@ -36,7 +36,8 @@ const SET_FIELD_ERROR = `${ACTION_PREFIX}SET_FIELD_ERROR`;
|
|
|
36
36
|
const SET_DATE_RANGE_VALUES = `${ACTION_PREFIX}SET_DATE_RANGE_VALUES`;
|
|
37
37
|
const SET_FORM_ENTRIES = `${ACTION_PREFIX}SET_FORM_ENTRIES`;
|
|
38
38
|
const SET_SUCCESS_MESSAGE = `${ACTION_PREFIX}SET_SUCCESS_MESSAGE`;
|
|
39
|
-
const
|
|
39
|
+
const SET_MULTIPLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_MULTIPLE_CHECKBOX_VALUE`;
|
|
40
|
+
const SET_SINGLE_CHECKBOX_VALUE = `${ACTION_PREFIX}SET_SINGLE_CHECKBOX_VALUE`;
|
|
40
41
|
|
|
41
42
|
const initialSettings = {
|
|
42
43
|
recaptcha: {
|
|
@@ -85,7 +86,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
85
86
|
state[formId] = initialFormData;
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
|
-
|
|
89
89
|
case SET_FORM_DATA:
|
|
90
90
|
{
|
|
91
91
|
const {
|
|
@@ -106,7 +106,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
106
106
|
state[formId].settings = settings;
|
|
107
107
|
return;
|
|
108
108
|
}
|
|
109
|
-
|
|
110
109
|
case SET_CURRENT_PAGE:
|
|
111
110
|
{
|
|
112
111
|
const {
|
|
@@ -120,7 +119,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
120
119
|
state[formId].pagingInfo.pageCount = pageCount;
|
|
121
120
|
return;
|
|
122
121
|
}
|
|
123
|
-
|
|
124
122
|
case SET_FIELD_VALUE:
|
|
125
123
|
{
|
|
126
124
|
const {
|
|
@@ -131,32 +129,40 @@ var reducer = immer.produce((state, action) => {
|
|
|
131
129
|
state[formId].data[id] = value;
|
|
132
130
|
return;
|
|
133
131
|
}
|
|
134
|
-
|
|
135
132
|
case SET_DEFAULT_FIELD_VALUE:
|
|
136
133
|
{
|
|
137
134
|
const {
|
|
138
135
|
formId,
|
|
139
136
|
value
|
|
140
137
|
} = action || {};
|
|
141
|
-
state[formId].data =
|
|
138
|
+
state[formId].data = {
|
|
139
|
+
...state[formId].data,
|
|
140
|
+
...value
|
|
141
|
+
};
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
|
-
|
|
145
|
-
case SET_CHECKBOX_VALUE:
|
|
144
|
+
case SET_SINGLE_CHECKBOX_VALUE:
|
|
146
145
|
{
|
|
147
146
|
const {
|
|
148
147
|
formId,
|
|
149
148
|
id,
|
|
150
|
-
value
|
|
151
|
-
isChecked
|
|
149
|
+
value
|
|
152
150
|
} = action || {};
|
|
153
|
-
|
|
154
|
-
|
|
151
|
+
state[formId].data[id] = value;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
case SET_MULTIPLE_CHECKBOX_VALUE:
|
|
155
|
+
{
|
|
156
|
+
const {
|
|
157
|
+
formId,
|
|
158
|
+
id,
|
|
159
|
+
label,
|
|
155
160
|
value
|
|
156
|
-
}
|
|
161
|
+
} = action || {};
|
|
162
|
+
const checked = state[formId].data[id] || [];
|
|
163
|
+
if (value) state[formId].data[id] = [...checked, label];else state[formId].data[id] = checked.filter(v => v !== label);
|
|
157
164
|
return;
|
|
158
165
|
}
|
|
159
|
-
|
|
160
166
|
case SET_DATE_RANGE_VALUES:
|
|
161
167
|
{
|
|
162
168
|
const {
|
|
@@ -168,7 +174,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
168
174
|
state[formId].data[id][dateType] = value;
|
|
169
175
|
return;
|
|
170
176
|
}
|
|
171
|
-
|
|
172
177
|
case SET_FIELD_ERROR:
|
|
173
178
|
{
|
|
174
179
|
const {
|
|
@@ -178,7 +183,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
178
183
|
state[formId].fieldErrors = value;
|
|
179
184
|
return;
|
|
180
185
|
}
|
|
181
|
-
|
|
182
186
|
case SET_SUBMITTING_FORM:
|
|
183
187
|
{
|
|
184
188
|
const {
|
|
@@ -188,7 +192,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
188
192
|
state[formId].status.isSubmitting = isSubmitting;
|
|
189
193
|
return;
|
|
190
194
|
}
|
|
191
|
-
|
|
192
195
|
case SUBMIT_FORM_SUCCESS:
|
|
193
196
|
{
|
|
194
197
|
const {
|
|
@@ -200,7 +203,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
200
203
|
state[formId].status.validation.sent = false;
|
|
201
204
|
return;
|
|
202
205
|
}
|
|
203
|
-
|
|
204
206
|
case SUBMIT_FORM_FOR_VALIDATION:
|
|
205
207
|
{
|
|
206
208
|
const {
|
|
@@ -212,17 +214,15 @@ var reducer = immer.produce((state, action) => {
|
|
|
212
214
|
state[formId].status.hasError = false;
|
|
213
215
|
return;
|
|
214
216
|
}
|
|
215
|
-
|
|
216
217
|
case SET_SUCCESS_MESSAGE:
|
|
217
218
|
{
|
|
218
219
|
const {
|
|
219
220
|
formId,
|
|
220
221
|
message
|
|
221
222
|
} = action || {};
|
|
222
|
-
state[formId].status.
|
|
223
|
+
state[formId].status.messages.success = message;
|
|
223
224
|
return;
|
|
224
225
|
}
|
|
225
|
-
|
|
226
226
|
case SUBMIT_FORM_ERROR:
|
|
227
227
|
{
|
|
228
228
|
const {
|
|
@@ -233,7 +233,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
233
233
|
state[formId].status.validation.sent = false;
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
236
|
-
|
|
237
236
|
case SET_FORM_ENTRIES:
|
|
238
237
|
{
|
|
239
238
|
const {
|
|
@@ -249,7 +248,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
249
248
|
state[formId].entries = entryObject;
|
|
250
249
|
return;
|
|
251
250
|
}
|
|
252
|
-
|
|
253
251
|
case SET_ERROR:
|
|
254
252
|
{
|
|
255
253
|
const {
|
|
@@ -259,7 +257,6 @@ var reducer = immer.produce((state, action) => {
|
|
|
259
257
|
state[formId].status.isSubmitting = false;
|
|
260
258
|
return;
|
|
261
259
|
}
|
|
262
|
-
|
|
263
260
|
default:
|
|
264
261
|
return state;
|
|
265
262
|
}
|
|
@@ -269,7 +266,6 @@ const selectForms = state => state.forms;
|
|
|
269
266
|
const makeSelectPagedFields = formId => reselect.createSelector(selectForms, forms => {
|
|
270
267
|
if (forms !== null && forms !== void 0 && forms[formId]) {
|
|
271
268
|
var _forms$formId, _forms$formId2;
|
|
272
|
-
|
|
273
269
|
const pagingInfo = forms === null || forms === void 0 ? void 0 : (_forms$formId = forms[formId]) === null || _forms$formId === void 0 ? void 0 : _forms$formId.pagingInfo;
|
|
274
270
|
const fields = forms === null || forms === void 0 ? void 0 : (_forms$formId2 = forms[formId]) === null || _forms$formId2 === void 0 ? void 0 : _forms$formId2.fields;
|
|
275
271
|
if ((fields === null || fields === void 0 ? void 0 : fields.length) > 0 && pagingInfo.pageCount > 1) return fields.filter(f => f.groupId == pagingInfo.currentPageId);else return fields;
|
|
@@ -277,77 +273,62 @@ const makeSelectPagedFields = formId => reselect.createSelector(selectForms, for
|
|
|
277
273
|
});
|
|
278
274
|
const makeSelectFormStatus = formId => reselect.createSelector(selectForms, forms => {
|
|
279
275
|
var _forms$formId3;
|
|
280
|
-
|
|
281
276
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId3 = forms[formId]) === null || _forms$formId3 === void 0 ? void 0 : _forms$formId3.status;
|
|
282
277
|
});
|
|
283
278
|
const makeSelectPagingInfo = formId => reselect.createSelector(selectForms, forms => {
|
|
284
279
|
var _forms$formId4;
|
|
285
|
-
|
|
286
280
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId4 = forms[formId]) === null || _forms$formId4 === void 0 ? void 0 : _forms$formId4.pagingInfo;
|
|
287
281
|
});
|
|
288
282
|
const makeSelectFormSettings = formId => reselect.createSelector(selectForms, forms => {
|
|
289
283
|
var _forms$formId5;
|
|
290
|
-
|
|
291
284
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId5 = forms[formId]) === null || _forms$formId5 === void 0 ? void 0 : _forms$formId5.settings;
|
|
292
285
|
});
|
|
293
286
|
const makeSelectFormFieldErrors = formId => reselect.createSelector(selectForms, forms => {
|
|
294
287
|
var _forms$formId6;
|
|
295
|
-
|
|
296
288
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId6 = forms[formId]) === null || _forms$formId6 === void 0 ? void 0 : _forms$formId6.fieldErrors;
|
|
297
289
|
});
|
|
298
290
|
const makeSelectFormEntries = formId => reselect.createSelector(selectForms, forms => {
|
|
299
291
|
var _forms$formId7;
|
|
300
|
-
|
|
301
292
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId7 = forms[formId]) === null || _forms$formId7 === void 0 ? void 0 : _forms$formId7.entries;
|
|
302
293
|
});
|
|
303
294
|
const makeSelectFormPostData = formId => reselect.createSelector(selectForms, forms => {
|
|
304
295
|
var _forms$formId8;
|
|
305
|
-
|
|
306
296
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId8 = forms[formId]) === null || _forms$formId8 === void 0 ? void 0 : _forms$formId8.data;
|
|
307
297
|
});
|
|
308
298
|
const makeSelectIsLoading = formId => reselect.createSelector(selectForms, forms => {
|
|
309
299
|
var _forms$formId9;
|
|
310
|
-
|
|
311
300
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId9 = forms[formId]) === null || _forms$formId9 === void 0 ? void 0 : _forms$formId9.status.isLoading;
|
|
312
301
|
});
|
|
313
302
|
const makeSelectIsSubmitting = formId => reselect.createSelector(selectForms, forms => {
|
|
314
303
|
var _forms$formId10;
|
|
315
|
-
|
|
316
304
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId10 = forms[formId]) === null || _forms$formId10 === void 0 ? void 0 : _forms$formId10.status.isSubmitting;
|
|
317
305
|
});
|
|
318
306
|
const makeSelectHasSuccess = formId => reselect.createSelector(selectForms, forms => {
|
|
319
307
|
var _forms$formId11;
|
|
320
|
-
|
|
321
308
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId11 = forms[formId]) === null || _forms$formId11 === void 0 ? void 0 : _forms$formId11.status.hasSuccess;
|
|
322
309
|
});
|
|
323
310
|
const makeSelectHasError = formId => reselect.createSelector(selectForms, forms => {
|
|
324
311
|
var _forms$formId12;
|
|
325
|
-
|
|
326
312
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId12 = forms[formId]) === null || _forms$formId12 === void 0 ? void 0 : _forms$formId12.status.hasError;
|
|
327
313
|
});
|
|
328
314
|
const makeSelectFormFields = formId => reselect.createSelector(selectForms, forms => {
|
|
329
315
|
var _forms$formId13;
|
|
330
|
-
|
|
331
316
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId13 = forms[formId]) === null || _forms$formId13 === void 0 ? void 0 : _forms$formId13.fields;
|
|
332
317
|
});
|
|
333
318
|
const makeSelectDefaultLang = formId => reselect.createSelector(selectForms, forms => {
|
|
334
319
|
var _forms$formId14;
|
|
335
|
-
|
|
336
320
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId14 = forms[formId]) === null || _forms$formId14 === void 0 ? void 0 : _forms$formId14.defaultLanguage;
|
|
337
321
|
});
|
|
338
322
|
const makeSelectFormSuccessMessage = formId => reselect.createSelector(selectForms, forms => {
|
|
339
323
|
var _forms$formId15;
|
|
340
|
-
|
|
341
324
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId15 = forms[formId]) === null || _forms$formId15 === void 0 ? void 0 : _forms$formId15.status.messages.success;
|
|
342
325
|
});
|
|
343
326
|
const makeSelectFormValidationSent = formId => reselect.createSelector(selectForms, forms => {
|
|
344
327
|
var _forms$formId16;
|
|
345
|
-
|
|
346
328
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId16 = forms[formId]) === null || _forms$formId16 === void 0 ? void 0 : _forms$formId16.status.validation.sent;
|
|
347
329
|
});
|
|
348
|
-
const makeSelectFormGroup
|
|
330
|
+
const makeSelectFormGroup = formId => reselect.createSelector(selectForms, forms => {
|
|
349
331
|
var _forms$formId17;
|
|
350
|
-
|
|
351
332
|
return forms === null || forms === void 0 ? void 0 : (_forms$formId17 = forms[formId]) === null || _forms$formId17 === void 0 ? void 0 : _forms$formId17.groups;
|
|
352
333
|
});
|
|
353
334
|
const selectors = {
|
|
@@ -366,7 +347,7 @@ const selectors = {
|
|
|
366
347
|
makeSelectDefaultLang,
|
|
367
348
|
makeSelectFormSuccessMessage,
|
|
368
349
|
makeSelectFormValidationSent,
|
|
369
|
-
makeSelectFormGroup
|
|
350
|
+
makeSelectFormGroup,
|
|
370
351
|
makeSelectHasError
|
|
371
352
|
};
|
|
372
353
|
|
|
@@ -410,11 +391,11 @@ const postForm = async formObj => {
|
|
|
410
391
|
const submitted = await request(URI, options);
|
|
411
392
|
return submitted;
|
|
412
393
|
};
|
|
413
|
-
|
|
414
394
|
const request = async (url, options) => {
|
|
415
395
|
return fetch(url, options).then(response => response.json()).then(result => {
|
|
416
396
|
return result;
|
|
417
|
-
})
|
|
397
|
+
})
|
|
398
|
+
// eslint-disable-next-line no-console
|
|
418
399
|
.catch(error => console.log('error', error));
|
|
419
400
|
};
|
|
420
401
|
|
|
@@ -422,14 +403,12 @@ const domains = ['1033edge.com', '11mail.com', '123.com', '123box.net', '123indi
|
|
|
422
403
|
|
|
423
404
|
const doA11yValidation = (v, field, formValidationSent) => {
|
|
424
405
|
const error = doValidateField(field, v);
|
|
425
|
-
|
|
426
406
|
if (JSON.stringify(field.validations) !== '{}') {
|
|
427
407
|
if (((v === null || v === void 0 ? void 0 : v.length) >= 1 || formValidationSent) && (error === null || error === void 0 ? void 0 : error.fieldId) === field.id) return 'true';else if ((v === null || v === void 0 ? void 0 : v.length) >= 1) return 'false';else return '';
|
|
428
408
|
}
|
|
429
409
|
};
|
|
430
410
|
const doValidateField = (field, value) => {
|
|
431
411
|
var _field$validations, _field$validations$re;
|
|
432
|
-
|
|
433
412
|
const isRequired = field.validations && field.validations.required;
|
|
434
413
|
const minLength = field.validations && field.validations.minLength;
|
|
435
414
|
const maxLength = field.validations && field.validations.maxLength;
|
|
@@ -437,10 +416,8 @@ const doValidateField = (field, value) => {
|
|
|
437
416
|
const integer = field.dataType === 'integer';
|
|
438
417
|
const decimal = field.dataType === 'decimal';
|
|
439
418
|
const isBusinessEmail = field.id === 'businessEmail';
|
|
440
|
-
|
|
441
419
|
if (isRequired && (value === null || value === void 0 ? void 0 : value.length) <= 0) {
|
|
442
420
|
var _isRequired$message, _field$name;
|
|
443
|
-
|
|
444
421
|
const errorMessage = (isRequired === null || isRequired === void 0 ? void 0 : (_isRequired$message = isRequired.message) === null || _isRequired$message === void 0 ? void 0 : _isRequired$message['en-GB']) || `${(_field$name = field.name) === null || _field$name === void 0 ? void 0 : _field$name['en-GB']} is required`;
|
|
445
422
|
return {
|
|
446
423
|
fieldId: field.id,
|
|
@@ -448,7 +425,6 @@ const doValidateField = (field, value) => {
|
|
|
448
425
|
message: errorMessage
|
|
449
426
|
};
|
|
450
427
|
}
|
|
451
|
-
|
|
452
428
|
if (minLength && minLength.value > value.length) {
|
|
453
429
|
const errorMessage = minLength.message ? minLength.message['en-GB'] : `Minimum characters ${minLength.value}`;
|
|
454
430
|
return {
|
|
@@ -457,7 +433,6 @@ const doValidateField = (field, value) => {
|
|
|
457
433
|
message: errorMessage
|
|
458
434
|
};
|
|
459
435
|
}
|
|
460
|
-
|
|
461
436
|
if (maxLength && maxLength.value < value.length) {
|
|
462
437
|
const errorMessage = maxLength.message && maxLength.message['en-GB'] ? maxLength.message['en-GB'] : `Maximum characters ${maxLength.value}`;
|
|
463
438
|
return {
|
|
@@ -467,14 +442,10 @@ const doValidateField = (field, value) => {
|
|
|
467
442
|
};
|
|
468
443
|
}
|
|
469
444
|
/** Check Regex and Business Emails */
|
|
470
|
-
|
|
471
|
-
|
|
472
445
|
if (hasRegex && value.length >= 1) {
|
|
473
446
|
var _r$message;
|
|
474
|
-
|
|
475
447
|
const r = field.validations.regex;
|
|
476
448
|
const msg = (r === null || r === void 0 ? void 0 : (_r$message = r.message) === null || _r$message === void 0 ? void 0 : _r$message['en-GB']) || `${field.name['en-GB']} is invalid`;
|
|
477
|
-
|
|
478
449
|
if (isValidRegex(field, value) && isBusinessEmail) {
|
|
479
450
|
if (!isBusinessEmailValid(field, value)) {
|
|
480
451
|
return {
|
|
@@ -491,10 +462,8 @@ const doValidateField = (field, value) => {
|
|
|
491
462
|
};
|
|
492
463
|
}
|
|
493
464
|
}
|
|
494
|
-
|
|
495
465
|
if (integer) {
|
|
496
466
|
const isInteger = value % 1 === 0;
|
|
497
|
-
|
|
498
467
|
if (!isInteger) {
|
|
499
468
|
const errorMessage = `${value} is not an ${field.dataType}`;
|
|
500
469
|
return {
|
|
@@ -504,10 +473,8 @@ const doValidateField = (field, value) => {
|
|
|
504
473
|
};
|
|
505
474
|
}
|
|
506
475
|
}
|
|
507
|
-
|
|
508
476
|
if (decimal) {
|
|
509
477
|
const isDecimal = value % 1 !== 0;
|
|
510
|
-
|
|
511
478
|
if (!isDecimal) {
|
|
512
479
|
const errorMessage = `${value} is not an ${field.dataType}`;
|
|
513
480
|
return {
|
|
@@ -518,13 +485,11 @@ const doValidateField = (field, value) => {
|
|
|
518
485
|
}
|
|
519
486
|
}
|
|
520
487
|
};
|
|
521
|
-
|
|
522
488
|
const isValidRegex = (field, value) => {
|
|
523
489
|
const regex = field.validations.regex.pattern;
|
|
524
490
|
const regexPattern = RegExp(regex);
|
|
525
491
|
if (!regexPattern.test(value)) return false;else return true;
|
|
526
492
|
};
|
|
527
|
-
|
|
528
493
|
const isBusinessEmailValid = (field, value) => {
|
|
529
494
|
const domain = value.split('@').pop();
|
|
530
495
|
if (!domains.includes(domain)) return true;else return false;
|
|
@@ -532,7 +497,6 @@ const isBusinessEmailValid = (field, value) => {
|
|
|
532
497
|
|
|
533
498
|
const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLanguage) => {
|
|
534
499
|
if (!type) return null;
|
|
535
|
-
|
|
536
500
|
switch (type) {
|
|
537
501
|
case 'min':
|
|
538
502
|
{
|
|
@@ -540,28 +504,24 @@ const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLangu
|
|
|
540
504
|
const minLengthVal = minLength && minLength.value;
|
|
541
505
|
const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];
|
|
542
506
|
const minText = `Minimum of ${minLengthVal.toString()} characters`;
|
|
543
|
-
|
|
544
507
|
if (errorMessage) {
|
|
545
508
|
return errorMessage;
|
|
546
509
|
} else {
|
|
547
510
|
return minText;
|
|
548
511
|
}
|
|
549
512
|
}
|
|
550
|
-
|
|
551
513
|
case 'max':
|
|
552
514
|
{
|
|
553
515
|
if (!maxLength) return;
|
|
554
516
|
const maxLengthVal = maxLength && maxLength.value;
|
|
555
517
|
const errorMessage = maxLength && maxLength.message && maxLength.message[defaultLanguage];
|
|
556
518
|
const maxText = `Maximum of ${maxLengthVal.toString()} characters`;
|
|
557
|
-
|
|
558
519
|
if (errorMessage) {
|
|
559
520
|
return errorMessage;
|
|
560
521
|
} else {
|
|
561
522
|
return maxText;
|
|
562
523
|
}
|
|
563
524
|
}
|
|
564
|
-
|
|
565
525
|
case 'between':
|
|
566
526
|
{
|
|
567
527
|
if (!maxLength || !minLength) return;
|
|
@@ -569,7 +529,6 @@ const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLangu
|
|
|
569
529
|
const maxLengthVal = maxLength && maxLength.value;
|
|
570
530
|
const errorMessage = minLength && minLength.message && minLength.message[defaultLanguage];
|
|
571
531
|
const rangeText = `Between ${minLengthVal.toString()}-${maxLengthVal.toString()} characters)`;
|
|
572
|
-
|
|
573
532
|
if (errorMessage) {
|
|
574
533
|
return errorMessage;
|
|
575
534
|
} else if (currentLength < minLengthVal) {
|
|
@@ -582,16 +541,16 @@ const doCreateMessage = (type, minLength, maxLength, currentLength, defaultLangu
|
|
|
582
541
|
return rangeText;
|
|
583
542
|
}
|
|
584
543
|
}
|
|
585
|
-
|
|
586
544
|
default:
|
|
587
545
|
return null;
|
|
588
546
|
}
|
|
589
547
|
};
|
|
590
548
|
const getFieldType = field => {
|
|
591
549
|
var _field$editor, _field$editor$propert;
|
|
592
|
-
|
|
593
550
|
if (!field) return null;
|
|
594
|
-
|
|
551
|
+
if (field.id === 'country' && field.dataType === 'string') {
|
|
552
|
+
return 'country';
|
|
553
|
+
}
|
|
595
554
|
if (field.dataType === 'string' && field.editor && field.editor.id === 'multiline') {
|
|
596
555
|
return 'textarea';
|
|
597
556
|
} else if (field.dataType === 'string' && field.editor && field.editor.id === 'list-dropdown') {
|
|
@@ -615,8 +574,9 @@ const getFieldType = field => {
|
|
|
615
574
|
}
|
|
616
575
|
};
|
|
617
576
|
|
|
618
|
-
const sagas = [effects.takeEvery(SUBMIT_FORM_SUCCESS, onFormSuccess), effects.takeEvery(SUBMIT_FORM_FOR_VALIDATION, doValidateForm), effects.takeEvery(SUBMIT_FORM, onSubmitForm), effects.takeEvery(SET_FORM_ID, doFetchForm),
|
|
619
|
-
|
|
577
|
+
const sagas = [effects.takeEvery(SUBMIT_FORM_SUCCESS, onFormSuccess), effects.takeEvery(SUBMIT_FORM_FOR_VALIDATION, doValidateForm), effects.takeEvery(SUBMIT_FORM, onSubmitForm), effects.takeEvery(SET_FORM_ID, doFetchForm),
|
|
578
|
+
// takeLatest(VALIDATE_FIELD, onValidateField),
|
|
579
|
+
effects.takeEvery(PAGE_FORWARD, doTogglePage), effects.takeEvery(PAGE_BACK, doTogglePage), effects.takeEvery(SET_FORM_DATA, getEntryPickerData), effects.takeLatest(SET_FORM_DATA, setDefaultValueFields)];
|
|
620
580
|
function* doValidateForm(action) {
|
|
621
581
|
const {
|
|
622
582
|
formId
|
|
@@ -627,89 +587,51 @@ function* doValidateForm(action) {
|
|
|
627
587
|
formId
|
|
628
588
|
});
|
|
629
589
|
}
|
|
590
|
+
// function* onValidateField(action) {
|
|
591
|
+
// const { formId, id, value } = action;
|
|
592
|
+
// if (value?.length >= 1) yield call(onValidateSingleField, formId, id, value);
|
|
593
|
+
// }
|
|
630
594
|
|
|
631
|
-
function*
|
|
632
|
-
const {
|
|
633
|
-
formId,
|
|
634
|
-
id,
|
|
635
|
-
value
|
|
636
|
-
} = action;
|
|
637
|
-
if ((value === null || value === void 0 ? void 0 : value.length) >= 1) yield effects.call(onValidateSingleField, formId, id, value);
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
function* validateGroupfields(formId, groupId) {
|
|
595
|
+
function* onValidateGroupFields(formId, groupId) {
|
|
641
596
|
const state = yield effects.select();
|
|
642
597
|
const selectPostData = makeSelectFormPostData(formId);
|
|
643
598
|
const postData = selectPostData(state);
|
|
644
599
|
const selectFormFields = makeSelectFormFields(formId);
|
|
645
600
|
const fields = selectFormFields(state);
|
|
646
|
-
const groupFields = fields.filter(f => f.
|
|
647
|
-
let
|
|
601
|
+
const groupFields = fields.filter(f => f.groupId == groupId);
|
|
602
|
+
let errors = [];
|
|
648
603
|
groupFields.forEach(field => {
|
|
649
|
-
let
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
const err = doValidateField(field, val);
|
|
656
|
-
if (err) newErrors.push(err);
|
|
604
|
+
let value = '';
|
|
605
|
+
if (postData[field.id]) value = postData[field.id];
|
|
606
|
+
const error = doValidateField(field, value);
|
|
607
|
+
if (error) errors.push(error);
|
|
657
608
|
});
|
|
658
609
|
yield effects.put({
|
|
659
610
|
type: SET_FIELD_ERROR,
|
|
660
611
|
formId: formId,
|
|
661
|
-
value:
|
|
612
|
+
value: errors
|
|
662
613
|
});
|
|
614
|
+
return errors;
|
|
663
615
|
}
|
|
664
|
-
|
|
665
616
|
function* onValidateAllFields(formId) {
|
|
666
617
|
const state = yield effects.select();
|
|
667
618
|
const selectPostData = makeSelectFormPostData(formId);
|
|
668
619
|
const postData = selectPostData(state);
|
|
669
620
|
const selectFormFields = makeSelectFormFields(formId);
|
|
670
621
|
const fields = selectFormFields(state);
|
|
671
|
-
|
|
622
|
+
const errors = [];
|
|
672
623
|
fields.forEach(field => {
|
|
673
|
-
let
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
const err = doValidateField(field, val);
|
|
680
|
-
if (err) newErrors.push(err);
|
|
624
|
+
let value = '';
|
|
625
|
+
if (postData[field.id]) value = postData[field.id];
|
|
626
|
+
const error = doValidateField(field, value);
|
|
627
|
+
if (error) errors.push(error);
|
|
681
628
|
});
|
|
682
629
|
yield effects.put({
|
|
683
630
|
type: SET_FIELD_ERROR,
|
|
684
631
|
formId: formId,
|
|
685
|
-
value:
|
|
632
|
+
value: errors
|
|
686
633
|
});
|
|
687
634
|
}
|
|
688
|
-
|
|
689
|
-
function* onValidateSingleField(formId, fieldId, value) {
|
|
690
|
-
const state = yield effects.select();
|
|
691
|
-
const selectFormFields = makeSelectFormFields(formId);
|
|
692
|
-
const fields = selectFormFields(state);
|
|
693
|
-
const selectFormFieldErrors = makeSelectFormFieldErrors(formId);
|
|
694
|
-
const errors = selectFormFieldErrors(state);
|
|
695
|
-
const fieldData = fields.find(f => f.id == fieldId);
|
|
696
|
-
const newErrors = []; //loop through current errors to remove any of the item we currently edit
|
|
697
|
-
|
|
698
|
-
errors.forEach(error => {
|
|
699
|
-
if (error.fieldId !== fieldId) {
|
|
700
|
-
//push any existing errors to new array
|
|
701
|
-
newErrors.push(error);
|
|
702
|
-
}
|
|
703
|
-
});
|
|
704
|
-
const err = doValidateField(fieldData, value);
|
|
705
|
-
if (err) newErrors.push(err);
|
|
706
|
-
yield effects.put({
|
|
707
|
-
type: SET_FIELD_ERROR,
|
|
708
|
-
formId: formId,
|
|
709
|
-
value: newErrors
|
|
710
|
-
});
|
|
711
|
-
}
|
|
712
|
-
|
|
713
635
|
function* doTogglePage(action) {
|
|
714
636
|
const {
|
|
715
637
|
formId,
|
|
@@ -718,30 +640,34 @@ function* doTogglePage(action) {
|
|
|
718
640
|
const state = yield effects.select();
|
|
719
641
|
const selectFormGroups = makeSelectFormGroup(formId);
|
|
720
642
|
const formGroups = selectFormGroups(state);
|
|
721
|
-
|
|
722
643
|
if (action.type === PAGE_FORWARD) {
|
|
723
|
-
yield
|
|
644
|
+
const errors = yield onValidateGroupFields(formId, formGroups[pageIndex - 1].id);
|
|
645
|
+
if (errors && errors.length <= 0) {
|
|
646
|
+
yield effects.put({
|
|
647
|
+
type: SET_CURRENT_PAGE,
|
|
648
|
+
formId: formId,
|
|
649
|
+
pageId: formGroups[pageIndex].id,
|
|
650
|
+
pageCount: formGroups.length,
|
|
651
|
+
pageIndex: pageIndex
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
} else if (action.type === PAGE_BACK) {
|
|
655
|
+
yield effects.put({
|
|
656
|
+
type: SET_CURRENT_PAGE,
|
|
657
|
+
formId: formId,
|
|
658
|
+
pageId: formGroups[pageIndex].id,
|
|
659
|
+
pageCount: formGroups.length,
|
|
660
|
+
pageIndex: pageIndex
|
|
661
|
+
});
|
|
724
662
|
}
|
|
725
|
-
|
|
726
|
-
yield effects.put({
|
|
727
|
-
type: SET_CURRENT_PAGE,
|
|
728
|
-
formId: formId,
|
|
729
|
-
pageId: formGroups[pageIndex].id,
|
|
730
|
-
pageCount: formGroups.length,
|
|
731
|
-
pageIndex: pageIndex
|
|
732
|
-
});
|
|
733
663
|
}
|
|
734
|
-
|
|
735
664
|
function* doFetchForm(action) {
|
|
736
665
|
var _schema$groups;
|
|
737
|
-
|
|
738
666
|
const formId = action.formId;
|
|
739
667
|
const schema = yield getFormSchema(formId);
|
|
740
668
|
const groups = schema === null || schema === void 0 ? void 0 : (_schema$groups = schema.groups) === null || _schema$groups === void 0 ? void 0 : _schema$groups.filter(group => group.id !== 'private' && group.id !== 'settings');
|
|
741
|
-
|
|
742
669
|
if (formId && schema) {
|
|
743
670
|
var _schema$groups2, _submitButtonText$def;
|
|
744
|
-
|
|
745
671
|
if ((schema === null || schema === void 0 ? void 0 : (_schema$groups2 = schema.groups) === null || _schema$groups2 === void 0 ? void 0 : _schema$groups2.length) > 0) {
|
|
746
672
|
yield effects.put({
|
|
747
673
|
type: SET_CURRENT_PAGE,
|
|
@@ -751,10 +677,10 @@ function* doFetchForm(action) {
|
|
|
751
677
|
pageCount: groups.length
|
|
752
678
|
});
|
|
753
679
|
}
|
|
754
|
-
|
|
755
680
|
const submitButtonText = schema.fields.find(f => f.id === 'submitButtonText');
|
|
756
681
|
const fields = schema === null || schema === void 0 ? void 0 : schema.fields.map(field => {
|
|
757
|
-
return {
|
|
682
|
+
return {
|
|
683
|
+
...field,
|
|
758
684
|
type: getFieldType(field)
|
|
759
685
|
};
|
|
760
686
|
});
|
|
@@ -770,27 +696,26 @@ function* doFetchForm(action) {
|
|
|
770
696
|
});
|
|
771
697
|
}
|
|
772
698
|
}
|
|
773
|
-
|
|
774
699
|
function* onFormSuccess(action) {
|
|
775
700
|
const state = yield effects.select();
|
|
776
701
|
const selectFormFields = makeSelectFormFields(action.formId);
|
|
777
702
|
const fields = selectFormFields(state);
|
|
778
703
|
const redirect = fields.find(f => f.id === 'formSettingsRedirect');
|
|
779
704
|
const message = fields.find(f => f.id === 'formSettingsMessage');
|
|
780
|
-
|
|
781
705
|
if (redirect !== null && redirect !== void 0 && redirect.default) {
|
|
782
706
|
window.location.href = redirect.default['en-GB'];
|
|
783
707
|
}
|
|
784
|
-
|
|
785
708
|
if (message !== null && message !== void 0 && message.default) {
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
709
|
+
const m = message.default['en-GB'];
|
|
710
|
+
if (m) {
|
|
711
|
+
yield effects.put({
|
|
712
|
+
type: SET_SUCCESS_MESSAGE,
|
|
713
|
+
message: m,
|
|
714
|
+
formId: action.formId
|
|
715
|
+
});
|
|
716
|
+
}
|
|
791
717
|
}
|
|
792
718
|
}
|
|
793
|
-
|
|
794
719
|
function* onSubmitForm(action) {
|
|
795
720
|
const {
|
|
796
721
|
formId
|
|
@@ -799,10 +724,8 @@ function* onSubmitForm(action) {
|
|
|
799
724
|
const selectFormFieldErrors = makeSelectFormFieldErrors(formId);
|
|
800
725
|
const errors = selectFormFieldErrors(state);
|
|
801
726
|
const canSubmit = (errors === null || errors === void 0 ? void 0 : errors.length) === 0;
|
|
802
|
-
|
|
803
727
|
if (canSubmit) {
|
|
804
728
|
var _formResObj$sys;
|
|
805
|
-
|
|
806
729
|
yield effects.put({
|
|
807
730
|
type: SET_SUBMITTING_FORM,
|
|
808
731
|
isSubmitting: true,
|
|
@@ -815,7 +738,6 @@ function* onSubmitForm(action) {
|
|
|
815
738
|
formPost: rawData.data
|
|
816
739
|
};
|
|
817
740
|
const formResObj = yield postForm(formObj);
|
|
818
|
-
|
|
819
741
|
if (formResObj !== null && formResObj !== void 0 && (_formResObj$sys = formResObj.sys) !== null && _formResObj$sys !== void 0 && _formResObj$sys.id) {
|
|
820
742
|
yield effects.put({
|
|
821
743
|
type: SUBMIT_FORM_SUCCESS,
|
|
@@ -829,7 +751,6 @@ function* onSubmitForm(action) {
|
|
|
829
751
|
}
|
|
830
752
|
}
|
|
831
753
|
}
|
|
832
|
-
|
|
833
754
|
function* setDefaultValueFields(action) {
|
|
834
755
|
const {
|
|
835
756
|
formId,
|
|
@@ -841,15 +762,12 @@ function* setDefaultValueFields(action) {
|
|
|
841
762
|
fields.forEach(field => {
|
|
842
763
|
if (field.dataType == 'string' && field.default) {
|
|
843
764
|
const val = field.default[defaultLanguage];
|
|
844
|
-
|
|
845
765
|
if (val) {
|
|
846
766
|
fieldObj[field.id] = val;
|
|
847
767
|
}
|
|
848
768
|
}
|
|
849
|
-
|
|
850
769
|
if (field.id == 'sourceEntry') {
|
|
851
770
|
const val = entryId;
|
|
852
|
-
|
|
853
771
|
if (val) {
|
|
854
772
|
fieldObj[field.id] = val;
|
|
855
773
|
}
|
|
@@ -861,7 +779,6 @@ function* setDefaultValueFields(action) {
|
|
|
861
779
|
value: fieldObj
|
|
862
780
|
});
|
|
863
781
|
}
|
|
864
|
-
|
|
865
782
|
function* getEntryPickerData(action) {
|
|
866
783
|
const {
|
|
867
784
|
formId,
|
|
@@ -869,7 +786,6 @@ function* getEntryPickerData(action) {
|
|
|
869
786
|
} = action;
|
|
870
787
|
const entriesToGet = fields.filter(f => f.dataFormat == 'entry');
|
|
871
788
|
let entriesList = [];
|
|
872
|
-
|
|
873
789
|
if (entriesToGet) {
|
|
874
790
|
entriesList = yield effects.all(entriesToGet.map(entry => {
|
|
875
791
|
const entriesObj = {
|
|
@@ -892,7 +808,6 @@ const action = (type, payload = {}) => ({
|
|
|
892
808
|
type,
|
|
893
809
|
...payload
|
|
894
810
|
});
|
|
895
|
-
|
|
896
811
|
const onSubmit = formId => action(SUBMIT_FORM_FOR_VALIDATION, {
|
|
897
812
|
formId
|
|
898
813
|
});
|
|
@@ -904,11 +819,16 @@ const setValue = (formId, id, value) => action(SET_FIELD_VALUE, {
|
|
|
904
819
|
id,
|
|
905
820
|
value
|
|
906
821
|
});
|
|
907
|
-
const
|
|
822
|
+
const setSingleCheckboxValue = (formId, id, value) => action(SET_SINGLE_CHECKBOX_VALUE, {
|
|
908
823
|
formId,
|
|
909
824
|
id,
|
|
910
|
-
value
|
|
911
|
-
|
|
825
|
+
value
|
|
826
|
+
});
|
|
827
|
+
const setMultipleCheckboxValue = (formId, id, label, value) => action(SET_MULTIPLE_CHECKBOX_VALUE, {
|
|
828
|
+
formId,
|
|
829
|
+
id,
|
|
830
|
+
label,
|
|
831
|
+
value
|
|
912
832
|
});
|
|
913
833
|
const setDateRangeValues = (formId, id, dateType, value) => action(SET_DATE_RANGE_VALUES, {
|
|
914
834
|
formId,
|
|
@@ -933,15 +853,14 @@ const actions = {
|
|
|
933
853
|
onSubmit,
|
|
934
854
|
setFormId,
|
|
935
855
|
setValue,
|
|
936
|
-
|
|
937
|
-
|
|
856
|
+
setSingleCheckboxValue,
|
|
857
|
+
setMultipleCheckboxValue,
|
|
938
858
|
onValidateField,
|
|
939
859
|
doTogglePageForward,
|
|
940
860
|
doTogglePageBack
|
|
941
861
|
};
|
|
942
862
|
|
|
943
863
|
const ThemeContext = /*#__PURE__*/React.createContext();
|
|
944
|
-
|
|
945
864
|
const ThemeProvider = ({
|
|
946
865
|
children,
|
|
947
866
|
theme
|
|
@@ -952,7 +871,6 @@ const ThemeProvider = ({
|
|
|
952
871
|
theme: theme
|
|
953
872
|
}, children));
|
|
954
873
|
};
|
|
955
|
-
|
|
956
874
|
ThemeProvider.propTypes = {
|
|
957
875
|
children: PropTypes__default["default"].oneOfType([PropTypes__default["default"].arrayOf(PropTypes__default["default"].node), PropTypes__default["default"].node]),
|
|
958
876
|
theme: PropTypes__default["default"].object
|
|
@@ -998,7 +916,7 @@ const FormStyled = styled__default["default"].form.withConfig({
|
|
|
998
916
|
theme,
|
|
999
917
|
useDefaultTheme
|
|
1000
918
|
}) => {
|
|
1001
|
-
return styled.css(["", ""], useDefaultTheme && styled.css(["> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}.loading{display:block;margin:24px auto;}label{display:inline-block;.isRequired{color:", ";}}input,textarea,select{display:block;font-family:inherit;background-color:", ";border-radius:3px;border:1px solid ", ";height:40px;padding:8px;margin-top:4px;width:100%;}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px ", " inset;}textarea{height:200px;resize:none;}[aria-invalid='false']{background:", ";border:1px solid ", ";&:-webkit-autofill,&:-webkit-autofill:hover,&:-webkit-autofill:focus,&:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px", " inset;}}[aria-invalid='true']{background:", ";border:1px solid ", ";&:-webkit-autofill,&:-webkit-autofill:hover,&:-webkit-autofill:focus,&:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px", " inset;}}input ~ .svg{position:absolute;right:8px;top:50%;transform:translateY(-50%);}textarea ~ .svg{position:absolute;right:8px;top:8px;}"], theme.colors.red_darker, theme.colors.white, theme.colors.light_grey_darkest, theme.colors.white, theme.colors.green_lightest, theme.colors.green_darker, theme.colors.green_lightest, theme.colors.red_lightest, theme.colors.red_darker, theme.colors.red_lightest));
|
|
919
|
+
return styled.css(["", ""], useDefaultTheme && styled.css(["> div:not(:first-child){margin-top:16px;}padding:0 16px;.success-message{font-size:18px;margin:0;}.visuallyHidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}.loading{display:block;margin:24px auto;}label{display:inline-block;.isRequired{color:", ";}}input,textarea,select{display:block;font-family:inherit;background-color:", ";border-radius:3px;border:1px solid ", ";height:40px;padding:8px;margin-top:4px;width:100%;}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px ", " inset;}textarea{height:200px;resize:none;}[aria-invalid='false']{background:", ";border:1px solid ", ";&:-webkit-autofill,&:-webkit-autofill:hover,&:-webkit-autofill:focus,&:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px", " inset;}}[aria-invalid='true']{background:", ";border:1px solid ", ";&:-webkit-autofill,&:-webkit-autofill:hover,&:-webkit-autofill:focus,&:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px", " inset;}}input ~ .svg{position:absolute;right:8px;top:50%;transform:translateY(-50%);}textarea ~ .svg{position:absolute;right:8px;top:8px;}button:not(:last-of-type){margin-right:16px;}"], theme.colors.red_darker, theme.colors.white, theme.colors.light_grey_darkest, theme.colors.white, theme.colors.green_lightest, theme.colors.green_darker, theme.colors.green_lightest, theme.colors.red_lightest, theme.colors.red_darker, theme.colors.red_lightest));
|
|
1002
920
|
});
|
|
1003
921
|
|
|
1004
922
|
const Label = ({
|
|
@@ -1011,13 +929,12 @@ const Label = ({
|
|
|
1011
929
|
return /*#__PURE__*/React__default["default"].createElement("label", {
|
|
1012
930
|
className: `${className} ${isHidden ? 'visuallyHidden' : ''}`,
|
|
1013
931
|
htmlFor: id
|
|
1014
|
-
}, label, isRequired
|
|
1015
|
-
className: "
|
|
1016
|
-
}, "
|
|
1017
|
-
className: "
|
|
1018
|
-
}, "
|
|
932
|
+
}, label, isRequired ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
933
|
+
className: "label__required"
|
|
934
|
+
}, "(required)") : /*#__PURE__*/React__default["default"].createElement("span", {
|
|
935
|
+
className: "label__optional"
|
|
936
|
+
}, "(optional)"));
|
|
1019
937
|
};
|
|
1020
|
-
|
|
1021
938
|
Label.propTypes = {
|
|
1022
939
|
className: PropTypes__default["default"].string,
|
|
1023
940
|
label: PropTypes__default["default"].string,
|
|
@@ -1075,7 +992,6 @@ const TextfieldStyled = styled__default["default"].div.withConfig({
|
|
|
1075
992
|
}) => {
|
|
1076
993
|
return styled.css(["display:", ";"], isHidden ? 'none' : 'block');
|
|
1077
994
|
});
|
|
1078
|
-
|
|
1079
995
|
const Textfield = ({
|
|
1080
996
|
className,
|
|
1081
997
|
field,
|
|
@@ -1167,7 +1083,6 @@ const Textfield = ({
|
|
|
1167
1083
|
d: "m2 8 4.418 4.667L14 4.659l-1.246-1.326-6.336 6.692-3.18-3.332L2 8Z"
|
|
1168
1084
|
}))));
|
|
1169
1085
|
};
|
|
1170
|
-
|
|
1171
1086
|
Textfield.propTypes = {
|
|
1172
1087
|
className: PropTypes__default["default"].string,
|
|
1173
1088
|
field: PropTypes__default["default"].any,
|
|
@@ -1274,7 +1189,6 @@ const Textarea = ({
|
|
|
1274
1189
|
d: "m2 8 4.418 4.667L14 4.659l-1.246-1.326-6.336 6.692-3.18-3.332L2 8Z"
|
|
1275
1190
|
}))));
|
|
1276
1191
|
};
|
|
1277
|
-
|
|
1278
1192
|
Textarea.propTypes = {
|
|
1279
1193
|
className: PropTypes__default["default"].string,
|
|
1280
1194
|
field: PropTypes__default["default"].any,
|
|
@@ -1312,7 +1226,6 @@ const HiddenField = ({
|
|
|
1312
1226
|
isHidden: true
|
|
1313
1227
|
});
|
|
1314
1228
|
};
|
|
1315
|
-
|
|
1316
1229
|
HiddenField.propTypes = {
|
|
1317
1230
|
className: PropTypes__default["default"].string,
|
|
1318
1231
|
id: PropTypes__default["default"].string,
|
|
@@ -1360,7 +1273,6 @@ const Dropdown = ({
|
|
|
1360
1273
|
}, val[defaultLanguage]);
|
|
1361
1274
|
})));
|
|
1362
1275
|
};
|
|
1363
|
-
|
|
1364
1276
|
Dropdown.propTypes = {
|
|
1365
1277
|
className: PropTypes__default["default"].string,
|
|
1366
1278
|
formId: PropTypes__default["default"].string,
|
|
@@ -1380,11 +1292,9 @@ const CheckboxStyled = styled__default["default"].div.withConfig({
|
|
|
1380
1292
|
}) => {
|
|
1381
1293
|
return styled.css(["", ""], useDefaultTheme && styled.css([".checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
1382
1294
|
});
|
|
1383
|
-
|
|
1384
1295
|
const Checkbox = ({
|
|
1385
1296
|
className,
|
|
1386
1297
|
formId,
|
|
1387
|
-
setCheckboxValue,
|
|
1388
1298
|
id,
|
|
1389
1299
|
type,
|
|
1390
1300
|
label,
|
|
@@ -1397,18 +1307,16 @@ const Checkbox = ({
|
|
|
1397
1307
|
// NF change rules of hooks
|
|
1398
1308
|
let isDefaultChecked = defaultValue && defaultValue[defaultLanguage];
|
|
1399
1309
|
const [isChecked, setIsChecked] = React.useState(isDefaultChecked || '');
|
|
1400
|
-
|
|
1310
|
+
const dispatch = reactRedux.useDispatch();
|
|
1401
1311
|
switch (type) {
|
|
1402
1312
|
case 'multiple':
|
|
1403
1313
|
{
|
|
1404
1314
|
if (!validations) return null;
|
|
1405
1315
|
const isRequired = validations && validations.required ? true : false;
|
|
1406
1316
|
const cbValues = validations && validations.allowedValues && validations.allowedValues.values;
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
setCheckboxValue(formId, id, value, isChecked);
|
|
1317
|
+
const _handleChange = (label, value) => {
|
|
1318
|
+
dispatch(setMultipleCheckboxValue(formId, id, label, value));
|
|
1410
1319
|
};
|
|
1411
|
-
|
|
1412
1320
|
if (!cbValues || cbValues.length < 1) return null;
|
|
1413
1321
|
return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
|
|
1414
1322
|
className: `checkbox-container`,
|
|
@@ -1429,21 +1337,19 @@ const Checkbox = ({
|
|
|
1429
1337
|
value: val[defaultLanguage],
|
|
1430
1338
|
className: `${className ? className : ''} input-checkbox`,
|
|
1431
1339
|
onChange: e => _handleChange(e.target.value, e.target.checked)
|
|
1432
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
1340
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
1341
|
+
className: "label-checkbox",
|
|
1433
1342
|
id: `checkbox-${idx}`,
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
}));
|
|
1343
|
+
htmlFor: `checkbox-${idx}`
|
|
1344
|
+
}, val[defaultLanguage]));
|
|
1437
1345
|
}));
|
|
1438
1346
|
}
|
|
1439
|
-
|
|
1440
1347
|
case 'single':
|
|
1441
1348
|
{
|
|
1442
|
-
const _handleChange =
|
|
1443
|
-
setIsChecked(
|
|
1444
|
-
|
|
1349
|
+
const _handleChange = value => {
|
|
1350
|
+
setIsChecked(value);
|
|
1351
|
+
dispatch(setSingleCheckboxValue(formId, id, value));
|
|
1445
1352
|
};
|
|
1446
|
-
|
|
1447
1353
|
return /*#__PURE__*/React__default["default"].createElement(CheckboxStyled, {
|
|
1448
1354
|
className: `checkbox-container`,
|
|
1449
1355
|
useDefaultTheme: useDefaultTheme
|
|
@@ -1465,14 +1371,12 @@ const Checkbox = ({
|
|
|
1465
1371
|
}
|
|
1466
1372
|
}
|
|
1467
1373
|
};
|
|
1468
|
-
|
|
1469
1374
|
Checkbox.propTypes = {
|
|
1470
1375
|
className: PropTypes__default["default"].string,
|
|
1471
1376
|
formId: PropTypes__default["default"].string,
|
|
1472
1377
|
id: PropTypes__default["default"].string,
|
|
1473
1378
|
type: PropTypes__default["default"].string,
|
|
1474
1379
|
label: PropTypes__default["default"].string,
|
|
1475
|
-
setCheckboxValue: PropTypes__default["default"].func,
|
|
1476
1380
|
validations: PropTypes__default["default"].object,
|
|
1477
1381
|
defaultLanguage: PropTypes__default["default"].string,
|
|
1478
1382
|
name: PropTypes__default["default"].object,
|
|
@@ -1487,7 +1391,6 @@ const RadioButtonStyled = styled__default["default"].div.withConfig({
|
|
|
1487
1391
|
}) => {
|
|
1488
1392
|
return styled.css(["", ""], useDefaultTheme && styled.css([".radio-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
1489
1393
|
});
|
|
1490
|
-
|
|
1491
1394
|
const RadioButton = ({
|
|
1492
1395
|
className,
|
|
1493
1396
|
formId,
|
|
@@ -1524,14 +1427,13 @@ const RadioButton = ({
|
|
|
1524
1427
|
onChange: e => {
|
|
1525
1428
|
setValue(formId, id, e.target.value);
|
|
1526
1429
|
}
|
|
1527
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
1430
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
1431
|
+
className: "label-radio",
|
|
1528
1432
|
id: val[defaultLanguage],
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
}));
|
|
1433
|
+
htmlFor: val[defaultLanguage]
|
|
1434
|
+
}, val[defaultLanguage]));
|
|
1532
1435
|
}));
|
|
1533
1436
|
};
|
|
1534
|
-
|
|
1535
1437
|
RadioButton.propTypes = {
|
|
1536
1438
|
className: PropTypes__default["default"].string,
|
|
1537
1439
|
formId: PropTypes__default["default"].string,
|
|
@@ -1563,6 +1465,7 @@ RadioButton.propTypes = {
|
|
|
1563
1465
|
//m > minutes, eg ...T16:05:00 = 5
|
|
1564
1466
|
//t > abbreviated AM / PM, e.g. A or P
|
|
1565
1467
|
//tt > AM / PM, e.g. AM or PM
|
|
1468
|
+
|
|
1566
1469
|
const formatDate = (date, format = 'dd MMMM yyyy') => {
|
|
1567
1470
|
if (!date) return null;
|
|
1568
1471
|
const dateObj = new Date(date);
|
|
@@ -1574,8 +1477,9 @@ const formatDate = (date, format = 'dd MMMM yyyy') => {
|
|
|
1574
1477
|
const dayNameInt = dateObj.getDay();
|
|
1575
1478
|
const timeArr = dateString[1].split(':');
|
|
1576
1479
|
const hour = timeArr[0];
|
|
1577
|
-
const minute = timeArr[1];
|
|
1480
|
+
const minute = timeArr[1];
|
|
1578
1481
|
|
|
1482
|
+
//convert to abstract strings to avoid character replacement along the chain, eg. Monday would match 'M' month single parameter
|
|
1579
1483
|
const YEAR = ['&&', '&'];
|
|
1580
1484
|
const MONTH = ['££££', '£££', '££', '£'];
|
|
1581
1485
|
const DAY = ['%%%%', '%%%', '%%', '%'];
|
|
@@ -1587,16 +1491,13 @@ const formatDate = (date, format = 'dd MMMM yyyy') => {
|
|
|
1587
1491
|
.replace('MMMM', MONTH[0]).replace('MMM', MONTH[1]).replace('MM', MONTH[2]).replace('M', MONTH[3]).replace('dddd', DAY[0]).replace('ddd', DAY[1]).replace('dd', DAY[2]).replace('d', DAY[3]).replace('HH', HOUR24[0]).replace('H', HOUR24[1]).replace('hh', HOUR12[0]).replace('h', HOUR12[1]).replace('mm', MINUTE[0]).replace('m', MINUTE[1]).replace('tt', TF[0]).replace('t', TF[1]).replace(YEAR[0], year).replace(YEAR[1], year.slice(-2)).replace(MONTH[0], monthsLong[parseInt(month, 10)]).replace(MONTH[1], monthsShort[parseInt(month, 10)]).replace(MONTH[2], month).replace(MONTH[3], parseInt(month, 10)).replace(DAY[0], daysLong[dayNameInt]).replace(DAY[1], daysShort[dayNameInt]).replace(DAY[2], day).replace(DAY[3], parseInt(day, 10)).replace(HOUR24[0], hour).replace(HOUR24[1], parseInt(hour, 10)).replace(HOUR12[0], parseHour(hour)).replace(HOUR12[1], parseInt(parseHour(hour), 10)).replace(MINUTE[0], minute).replace(MINUTE[1], parseInt(minute, 10)).replace(TF[0], parseTF(hour)).replace(TF[1], parseTF(hour).slice(0, -1));
|
|
1588
1492
|
return formattedDate;
|
|
1589
1493
|
};
|
|
1590
|
-
|
|
1591
1494
|
const monthsShort = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
1592
1495
|
const monthsLong = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
1593
1496
|
const daysShort = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
1594
1497
|
const daysLong = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
1595
|
-
|
|
1596
1498
|
const parseHour = hour => {
|
|
1597
1499
|
return hour > 12 ? hour - 12 : hour;
|
|
1598
1500
|
};
|
|
1599
|
-
|
|
1600
1501
|
const parseTF = hour => {
|
|
1601
1502
|
return hour > 11 ? 'PM' : 'AM';
|
|
1602
1503
|
};
|
|
@@ -1614,13 +1515,11 @@ const SingleDate = ({
|
|
|
1614
1515
|
const onlyPassedDates = validations && validations.pastDateTime;
|
|
1615
1516
|
const d = new Date();
|
|
1616
1517
|
const todaysDate = d.toISOString();
|
|
1617
|
-
|
|
1618
1518
|
const _handleChange = (formId, id, value) => {
|
|
1619
1519
|
const d = new Date(value);
|
|
1620
1520
|
const isoDate = d.toISOString();
|
|
1621
1521
|
setValue(formId, id, isoDate);
|
|
1622
1522
|
};
|
|
1623
|
-
|
|
1624
1523
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1625
1524
|
className: "date-container"
|
|
1626
1525
|
}, /*#__PURE__*/React__default["default"].createElement(Label, {
|
|
@@ -1637,7 +1536,6 @@ const SingleDate = ({
|
|
|
1637
1536
|
onChange: e => _handleChange(formId, id, e.target.value)
|
|
1638
1537
|
}));
|
|
1639
1538
|
};
|
|
1640
|
-
|
|
1641
1539
|
SingleDate.propTypes = {
|
|
1642
1540
|
className: PropTypes__default["default"].string,
|
|
1643
1541
|
formId: PropTypes__default["default"].string,
|
|
@@ -1656,7 +1554,6 @@ const DateRangeStyled = styled__default["default"].div.withConfig({
|
|
|
1656
1554
|
}) => {
|
|
1657
1555
|
return styled.css(["", ""], useDefaultTheme && styled.css([".daterange-wrapper{display:flex;flex-direction:column;input{&:first-child{margin:0 0 8px 0;}}}"]));
|
|
1658
1556
|
});
|
|
1659
|
-
|
|
1660
1557
|
const DateRange = ({
|
|
1661
1558
|
className,
|
|
1662
1559
|
id,
|
|
@@ -1672,15 +1569,12 @@ const DateRange = ({
|
|
|
1672
1569
|
const todaysDate = d.toISOString();
|
|
1673
1570
|
const [toDate, setToDate] = React.useState('');
|
|
1674
1571
|
const [fromDate, setFromDate] = React.useState('');
|
|
1675
|
-
|
|
1676
1572
|
const _handleDateChange = (dateType, formId, id, value) => {
|
|
1677
1573
|
_updateDateProps(dateType, value);
|
|
1678
|
-
|
|
1679
1574
|
const d = new Date(value);
|
|
1680
1575
|
const isoDate = d.toISOString();
|
|
1681
1576
|
setDateRangeValues(formId, id, dateType, isoDate);
|
|
1682
1577
|
};
|
|
1683
|
-
|
|
1684
1578
|
const _updateDateProps = (type, date) => {
|
|
1685
1579
|
switch (type) {
|
|
1686
1580
|
case 'from':
|
|
@@ -1690,7 +1584,6 @@ const DateRange = ({
|
|
|
1690
1584
|
setFromDate(newDate);
|
|
1691
1585
|
break;
|
|
1692
1586
|
}
|
|
1693
|
-
|
|
1694
1587
|
case 'to':
|
|
1695
1588
|
{
|
|
1696
1589
|
const d = new Date(date);
|
|
@@ -1698,12 +1591,10 @@ const DateRange = ({
|
|
|
1698
1591
|
setToDate(newDate);
|
|
1699
1592
|
break;
|
|
1700
1593
|
}
|
|
1701
|
-
|
|
1702
1594
|
default:
|
|
1703
1595
|
return;
|
|
1704
1596
|
}
|
|
1705
1597
|
};
|
|
1706
|
-
|
|
1707
1598
|
return /*#__PURE__*/React__default["default"].createElement(DateRangeStyled, {
|
|
1708
1599
|
className: `daterange-container`,
|
|
1709
1600
|
useDefaultTheme: useDefaultTheme
|
|
@@ -1740,7 +1631,6 @@ const DateRange = ({
|
|
|
1740
1631
|
onChange: e => _handleDateChange('to', formId, id, e.target.value)
|
|
1741
1632
|
})));
|
|
1742
1633
|
};
|
|
1743
|
-
|
|
1744
1634
|
DateRange.propTypes = {
|
|
1745
1635
|
className: PropTypes__default["default"].string,
|
|
1746
1636
|
formId: PropTypes__default["default"].string,
|
|
@@ -1760,7 +1650,6 @@ const EntryPickerStyled = styled__default["default"].div.withConfig({
|
|
|
1760
1650
|
}) => {
|
|
1761
1651
|
return styled.css(["", ""], useDefaultTheme && styled.css([".radio-wrapper,.checkbox-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;input{height:auto;width:auto;margin:0 4px 0 0;}label{display:inline-block;}}"]));
|
|
1762
1652
|
});
|
|
1763
|
-
|
|
1764
1653
|
const EntryPicker = ({
|
|
1765
1654
|
className,
|
|
1766
1655
|
results,
|
|
@@ -1775,7 +1664,6 @@ const EntryPicker = ({
|
|
|
1775
1664
|
if (!results || results.length > 3) return null;
|
|
1776
1665
|
const isRequired = validations && validations.required ? true : false;
|
|
1777
1666
|
let valArr = [];
|
|
1778
|
-
|
|
1779
1667
|
const _handleChange = (formId, id, value, isChecked) => {
|
|
1780
1668
|
if (type === 'checkbox') {
|
|
1781
1669
|
if (isChecked) {
|
|
@@ -1783,13 +1671,11 @@ const EntryPicker = ({
|
|
|
1783
1671
|
} else if (!isChecked) {
|
|
1784
1672
|
valArr = valArr.filter(valItem => valItem !== value);
|
|
1785
1673
|
}
|
|
1786
|
-
|
|
1787
1674
|
setValue(formId, id, valArr);
|
|
1788
1675
|
} else {
|
|
1789
1676
|
setValue(formId, id, value);
|
|
1790
1677
|
}
|
|
1791
1678
|
};
|
|
1792
|
-
|
|
1793
1679
|
return /*#__PURE__*/React__default["default"].createElement(EntryPickerStyled, {
|
|
1794
1680
|
className: `${type}-container`,
|
|
1795
1681
|
useDefaultTheme: useDefaultTheme
|
|
@@ -1816,7 +1702,6 @@ const EntryPicker = ({
|
|
|
1816
1702
|
}));
|
|
1817
1703
|
}));
|
|
1818
1704
|
};
|
|
1819
|
-
|
|
1820
1705
|
EntryPicker.propTypes = {
|
|
1821
1706
|
className: PropTypes__default["default"].string,
|
|
1822
1707
|
results: PropTypes__default["default"].array,
|
|
@@ -1829,6 +1714,1352 @@ EntryPicker.propTypes = {
|
|
|
1829
1714
|
formId: PropTypes__default["default"].string
|
|
1830
1715
|
};
|
|
1831
1716
|
|
|
1717
|
+
function _extends() {
|
|
1718
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
1719
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
1720
|
+
var source = arguments[i];
|
|
1721
|
+
for (var key in source) {
|
|
1722
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1723
|
+
target[key] = source[key];
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
return target;
|
|
1728
|
+
};
|
|
1729
|
+
return _extends.apply(this, arguments);
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
const countries = [{
|
|
1733
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1e8.svg",
|
|
1734
|
+
"country": "Ascension Island",
|
|
1735
|
+
"code": "ac"
|
|
1736
|
+
}, {
|
|
1737
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1e9.svg",
|
|
1738
|
+
"country": "Andorra",
|
|
1739
|
+
"code": "ad"
|
|
1740
|
+
}, {
|
|
1741
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ea.svg",
|
|
1742
|
+
"country": "United Arab Emirates",
|
|
1743
|
+
"code": "ae"
|
|
1744
|
+
}, {
|
|
1745
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1eb.svg",
|
|
1746
|
+
"country": "Afghanistan",
|
|
1747
|
+
"code": "af"
|
|
1748
|
+
}, {
|
|
1749
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ec.svg",
|
|
1750
|
+
"country": "Antigua & Barbuda",
|
|
1751
|
+
"code": "ag"
|
|
1752
|
+
}, {
|
|
1753
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ee.svg",
|
|
1754
|
+
"country": "Anguilla",
|
|
1755
|
+
"code": "ai"
|
|
1756
|
+
}, {
|
|
1757
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f1.svg",
|
|
1758
|
+
"country": "Albania",
|
|
1759
|
+
"code": "al"
|
|
1760
|
+
}, {
|
|
1761
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f2.svg",
|
|
1762
|
+
"country": "Armenia",
|
|
1763
|
+
"code": "am"
|
|
1764
|
+
}, {
|
|
1765
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f4.svg",
|
|
1766
|
+
"country": "Angola",
|
|
1767
|
+
"code": "ad"
|
|
1768
|
+
}, {
|
|
1769
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f6.svg",
|
|
1770
|
+
"country": "Antarctica",
|
|
1771
|
+
"code": "aq"
|
|
1772
|
+
}, {
|
|
1773
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f7.svg",
|
|
1774
|
+
"country": "Argentina",
|
|
1775
|
+
"code": "ar"
|
|
1776
|
+
}, {
|
|
1777
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f8.svg",
|
|
1778
|
+
"country": "American Samoa",
|
|
1779
|
+
"code": "as"
|
|
1780
|
+
}, {
|
|
1781
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1f9.svg",
|
|
1782
|
+
"country": "Austria",
|
|
1783
|
+
"code": "at"
|
|
1784
|
+
}, {
|
|
1785
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fa.svg",
|
|
1786
|
+
"country": "Australia",
|
|
1787
|
+
"code": "au"
|
|
1788
|
+
}, {
|
|
1789
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fc.svg",
|
|
1790
|
+
"country": "Aruba",
|
|
1791
|
+
"code": "aw"
|
|
1792
|
+
}, {
|
|
1793
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1fd.svg",
|
|
1794
|
+
"country": "Åland Islands",
|
|
1795
|
+
"code": "ax"
|
|
1796
|
+
}, {
|
|
1797
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e6-1f1ff.svg",
|
|
1798
|
+
"country": "Azerbaijan",
|
|
1799
|
+
"code": "az"
|
|
1800
|
+
}, {
|
|
1801
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e6.svg",
|
|
1802
|
+
"country": "Bosnia & Herzegovina",
|
|
1803
|
+
"code": "ba"
|
|
1804
|
+
}, {
|
|
1805
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e7.svg",
|
|
1806
|
+
"country": "Barbados",
|
|
1807
|
+
"code": "bb"
|
|
1808
|
+
}, {
|
|
1809
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1e9.svg",
|
|
1810
|
+
"country": "Bangladesh",
|
|
1811
|
+
"code": "bd"
|
|
1812
|
+
}, {
|
|
1813
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ea.svg",
|
|
1814
|
+
"country": "Belgium",
|
|
1815
|
+
"code": "be"
|
|
1816
|
+
}, {
|
|
1817
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1eb.svg",
|
|
1818
|
+
"country": "Burkina Faso",
|
|
1819
|
+
"code": "bf"
|
|
1820
|
+
}, {
|
|
1821
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ec.svg",
|
|
1822
|
+
"country": "Bulgaria",
|
|
1823
|
+
"code": "bg"
|
|
1824
|
+
}, {
|
|
1825
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ed.svg",
|
|
1826
|
+
"country": "Bahrain",
|
|
1827
|
+
"code": "bh"
|
|
1828
|
+
}, {
|
|
1829
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ee.svg",
|
|
1830
|
+
"country": "Burundi",
|
|
1831
|
+
"code": "bi"
|
|
1832
|
+
}, {
|
|
1833
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ef.svg",
|
|
1834
|
+
"country": "Benin",
|
|
1835
|
+
"code": "bj"
|
|
1836
|
+
}, {
|
|
1837
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f1.svg",
|
|
1838
|
+
"country": "St. Barthélemy",
|
|
1839
|
+
"code": "bl"
|
|
1840
|
+
}, {
|
|
1841
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f2.svg",
|
|
1842
|
+
"country": "Bermuda",
|
|
1843
|
+
"code": "bm"
|
|
1844
|
+
}, {
|
|
1845
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f3.svg",
|
|
1846
|
+
"country": "Brunei",
|
|
1847
|
+
"code": "bn"
|
|
1848
|
+
}, {
|
|
1849
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f4.svg",
|
|
1850
|
+
"country": "Bolivia",
|
|
1851
|
+
"code": "bo"
|
|
1852
|
+
}, {
|
|
1853
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f6.svg",
|
|
1854
|
+
"country": "Caribbean Netherlands"
|
|
1855
|
+
}, {
|
|
1856
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f7.svg",
|
|
1857
|
+
"country": "Brazil",
|
|
1858
|
+
"code": "br"
|
|
1859
|
+
}, {
|
|
1860
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f8.svg",
|
|
1861
|
+
"country": "Bahamas",
|
|
1862
|
+
"code": "bs"
|
|
1863
|
+
}, {
|
|
1864
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1f9.svg",
|
|
1865
|
+
"country": "Bhutan",
|
|
1866
|
+
"code": "bt"
|
|
1867
|
+
}, {
|
|
1868
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fb.svg",
|
|
1869
|
+
"country": "Bouvet Island",
|
|
1870
|
+
"code": "bv"
|
|
1871
|
+
}, {
|
|
1872
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fc.svg",
|
|
1873
|
+
"country": "Botswana",
|
|
1874
|
+
"code": "bw"
|
|
1875
|
+
}, {
|
|
1876
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1fe.svg",
|
|
1877
|
+
"country": "Belarus",
|
|
1878
|
+
"code": "by"
|
|
1879
|
+
}, {
|
|
1880
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e7-1f1ff.svg",
|
|
1881
|
+
"country": "Belize",
|
|
1882
|
+
"code": "bz"
|
|
1883
|
+
}, {
|
|
1884
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e6.svg",
|
|
1885
|
+
"country": "Canada",
|
|
1886
|
+
"code": "ca"
|
|
1887
|
+
}, {
|
|
1888
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e8.svg",
|
|
1889
|
+
"country": "Cocos (Keeling) Islands",
|
|
1890
|
+
"code": "cc"
|
|
1891
|
+
}, {
|
|
1892
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1e9.svg",
|
|
1893
|
+
"country": "Congo - Kinshasa",
|
|
1894
|
+
"code": "cg"
|
|
1895
|
+
}, {
|
|
1896
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1eb.svg",
|
|
1897
|
+
"country": "Central African Republic",
|
|
1898
|
+
"code": "cf"
|
|
1899
|
+
}, {
|
|
1900
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ec.svg",
|
|
1901
|
+
"country": "Congo - Brazzaville",
|
|
1902
|
+
"code": "cd"
|
|
1903
|
+
}, {
|
|
1904
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ed.svg",
|
|
1905
|
+
"country": "Switzerland",
|
|
1906
|
+
"code": "ch"
|
|
1907
|
+
}, {
|
|
1908
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ee.svg",
|
|
1909
|
+
"country": "Côte d’Ivoire",
|
|
1910
|
+
"code": "ci"
|
|
1911
|
+
}, {
|
|
1912
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f0.svg",
|
|
1913
|
+
"country": "Cook Islands",
|
|
1914
|
+
"code": "ck"
|
|
1915
|
+
}, {
|
|
1916
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f1.svg",
|
|
1917
|
+
"country": "Chile",
|
|
1918
|
+
"code": "cl"
|
|
1919
|
+
}, {
|
|
1920
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f2.svg",
|
|
1921
|
+
"country": "Cameroon",
|
|
1922
|
+
"code": "cm"
|
|
1923
|
+
}, {
|
|
1924
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f3.svg",
|
|
1925
|
+
"country": "China",
|
|
1926
|
+
"code": "cn"
|
|
1927
|
+
}, {
|
|
1928
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f4.svg",
|
|
1929
|
+
"country": "Colombia",
|
|
1930
|
+
"code": "co"
|
|
1931
|
+
}, {
|
|
1932
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f5.svg",
|
|
1933
|
+
"country": "Clipperton Island",
|
|
1934
|
+
"code": "cp"
|
|
1935
|
+
}, {
|
|
1936
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1f7.svg",
|
|
1937
|
+
"country": "Costa Rica",
|
|
1938
|
+
"code": "cr"
|
|
1939
|
+
}, {
|
|
1940
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fa.svg",
|
|
1941
|
+
"country": "Cuba",
|
|
1942
|
+
"code": "cu"
|
|
1943
|
+
}, {
|
|
1944
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fb.svg",
|
|
1945
|
+
"country": "Cape Verde",
|
|
1946
|
+
"code": "cv"
|
|
1947
|
+
}, {
|
|
1948
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fc.svg",
|
|
1949
|
+
"country": "Curaçao",
|
|
1950
|
+
"code": "cw"
|
|
1951
|
+
}, {
|
|
1952
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fd.svg",
|
|
1953
|
+
"country": "Christmas Island",
|
|
1954
|
+
"code": "cx"
|
|
1955
|
+
}, {
|
|
1956
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1fe.svg",
|
|
1957
|
+
"country": "Cyprus",
|
|
1958
|
+
"code": "cy"
|
|
1959
|
+
}, {
|
|
1960
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e8-1f1ff.svg",
|
|
1961
|
+
"country": "Czechia",
|
|
1962
|
+
"code": "cz"
|
|
1963
|
+
}, {
|
|
1964
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ea.svg",
|
|
1965
|
+
"country": "Germany",
|
|
1966
|
+
"code": "de"
|
|
1967
|
+
}, {
|
|
1968
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ec.svg",
|
|
1969
|
+
"country": "Diego Garcia",
|
|
1970
|
+
"code": "dg"
|
|
1971
|
+
}, {
|
|
1972
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ef.svg",
|
|
1973
|
+
"country": "Djibouti",
|
|
1974
|
+
"code": "dj"
|
|
1975
|
+
}, {
|
|
1976
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f0.svg",
|
|
1977
|
+
"country": "Denmark",
|
|
1978
|
+
"code": "dk"
|
|
1979
|
+
}, {
|
|
1980
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f2.svg",
|
|
1981
|
+
"country": "Dominica",
|
|
1982
|
+
"code": "dm"
|
|
1983
|
+
}, {
|
|
1984
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1f4.svg",
|
|
1985
|
+
"country": "Dominican Republic",
|
|
1986
|
+
"code": "do"
|
|
1987
|
+
}, {
|
|
1988
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1e9-1f1ff.svg",
|
|
1989
|
+
"country": "Algeria",
|
|
1990
|
+
"code": "dz"
|
|
1991
|
+
}, {
|
|
1992
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1e6.svg",
|
|
1993
|
+
"country": "Ceuta & Melilla",
|
|
1994
|
+
"code": "ea"
|
|
1995
|
+
}, {
|
|
1996
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1e8.svg",
|
|
1997
|
+
"country": "Ecuador",
|
|
1998
|
+
"code": "ec"
|
|
1999
|
+
}, {
|
|
2000
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ea.svg",
|
|
2001
|
+
"country": "Estonia",
|
|
2002
|
+
"code": "ee"
|
|
2003
|
+
}, {
|
|
2004
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ec.svg",
|
|
2005
|
+
"country": "Egypt",
|
|
2006
|
+
"code": "eg"
|
|
2007
|
+
}, {
|
|
2008
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1ed.svg",
|
|
2009
|
+
"country": "Western Sahara",
|
|
2010
|
+
"code": "eh"
|
|
2011
|
+
}, {
|
|
2012
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f7.svg",
|
|
2013
|
+
"country": "Eritrea",
|
|
2014
|
+
"code": "er"
|
|
2015
|
+
}, {
|
|
2016
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f8.svg",
|
|
2017
|
+
"country": "Spain",
|
|
2018
|
+
"code": "es"
|
|
2019
|
+
}, {
|
|
2020
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1f9.svg",
|
|
2021
|
+
"country": "Ethiopia",
|
|
2022
|
+
"code": "et"
|
|
2023
|
+
}, {
|
|
2024
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ea-1f1fa.svg",
|
|
2025
|
+
"country": "European Union",
|
|
2026
|
+
"code": "eu"
|
|
2027
|
+
}, {
|
|
2028
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1ee.svg",
|
|
2029
|
+
"country": "Finland",
|
|
2030
|
+
"code": "fi"
|
|
2031
|
+
}, {
|
|
2032
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1ef.svg",
|
|
2033
|
+
"country": "Fiji",
|
|
2034
|
+
"code": "fj"
|
|
2035
|
+
}, {
|
|
2036
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f0.svg",
|
|
2037
|
+
"country": "Falkland Islands",
|
|
2038
|
+
"code": "fk"
|
|
2039
|
+
}, {
|
|
2040
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f2.svg",
|
|
2041
|
+
"country": "Micronesia",
|
|
2042
|
+
"code": "fm"
|
|
2043
|
+
}, {
|
|
2044
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f4.svg",
|
|
2045
|
+
"country": "Faroe Islands",
|
|
2046
|
+
"code": "fo"
|
|
2047
|
+
}, {
|
|
2048
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1eb-1f1f7.svg",
|
|
2049
|
+
"country": "France",
|
|
2050
|
+
"code": "fr"
|
|
2051
|
+
}, {
|
|
2052
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e6.svg",
|
|
2053
|
+
"country": "Gabon",
|
|
2054
|
+
"code": "ga"
|
|
2055
|
+
}, {
|
|
2056
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e7.svg",
|
|
2057
|
+
"country": "United Kingdom",
|
|
2058
|
+
"code": "gb"
|
|
2059
|
+
}, {
|
|
2060
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1e9.svg",
|
|
2061
|
+
"country": "Grenada",
|
|
2062
|
+
"code": "gd"
|
|
2063
|
+
}, {
|
|
2064
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ea.svg",
|
|
2065
|
+
"country": "Georgia",
|
|
2066
|
+
"code": "ge"
|
|
2067
|
+
}, {
|
|
2068
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1eb.svg",
|
|
2069
|
+
"country": "French Guiana",
|
|
2070
|
+
"code": "gf"
|
|
2071
|
+
}, {
|
|
2072
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ec.svg",
|
|
2073
|
+
"country": "Guernsey",
|
|
2074
|
+
"code": "gg"
|
|
2075
|
+
}, {
|
|
2076
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ed.svg",
|
|
2077
|
+
"country": "Ghana",
|
|
2078
|
+
"code": "gh"
|
|
2079
|
+
}, {
|
|
2080
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1ee.svg",
|
|
2081
|
+
"country": "Gibraltar",
|
|
2082
|
+
"code": "gi"
|
|
2083
|
+
}, {
|
|
2084
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f1.svg",
|
|
2085
|
+
"country": "Greenland",
|
|
2086
|
+
"code": "gl"
|
|
2087
|
+
}, {
|
|
2088
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f2.svg",
|
|
2089
|
+
"country": "Gambia",
|
|
2090
|
+
"code": "gm"
|
|
2091
|
+
}, {
|
|
2092
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f3.svg",
|
|
2093
|
+
"country": "Guinea",
|
|
2094
|
+
"code": "gn"
|
|
2095
|
+
}, {
|
|
2096
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f5.svg",
|
|
2097
|
+
"country": "Guadeloupe",
|
|
2098
|
+
"code": "gp"
|
|
2099
|
+
}, {
|
|
2100
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f6.svg",
|
|
2101
|
+
"country": "Equatorial Guinea",
|
|
2102
|
+
"code": "gq"
|
|
2103
|
+
}, {
|
|
2104
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f7.svg",
|
|
2105
|
+
"country": "Greece",
|
|
2106
|
+
"code": "gr"
|
|
2107
|
+
}, {
|
|
2108
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f8.svg",
|
|
2109
|
+
"country": "South Georgia & South', Sandwich Islands",
|
|
2110
|
+
"code": "gs"
|
|
2111
|
+
}, {
|
|
2112
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1f9.svg",
|
|
2113
|
+
"country": "Guatemala",
|
|
2114
|
+
"code": "gt"
|
|
2115
|
+
}, {
|
|
2116
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fa.svg",
|
|
2117
|
+
"country": "Guam",
|
|
2118
|
+
"code": "gu"
|
|
2119
|
+
}, {
|
|
2120
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fc.svg",
|
|
2121
|
+
"country": "Guinea-Bissau",
|
|
2122
|
+
"code": "gw"
|
|
2123
|
+
}, {
|
|
2124
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ec-1f1fe.svg",
|
|
2125
|
+
"country": "Guyana",
|
|
2126
|
+
"code": "gy"
|
|
2127
|
+
}, {
|
|
2128
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f0.svg",
|
|
2129
|
+
"country": "Hong Kong SAR China",
|
|
2130
|
+
"code": "hk"
|
|
2131
|
+
}, {
|
|
2132
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f2.svg",
|
|
2133
|
+
"country": "Heard & McDonald Islands",
|
|
2134
|
+
"code": "hm"
|
|
2135
|
+
}, {
|
|
2136
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f3.svg",
|
|
2137
|
+
"country": "Honduras",
|
|
2138
|
+
"code": "hn"
|
|
2139
|
+
}, {
|
|
2140
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f7.svg",
|
|
2141
|
+
"country": "Croatia",
|
|
2142
|
+
"code": "hr"
|
|
2143
|
+
}, {
|
|
2144
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1f9.svg",
|
|
2145
|
+
"country": "Haiti",
|
|
2146
|
+
"code": "ht"
|
|
2147
|
+
}, {
|
|
2148
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ed-1f1fa.svg",
|
|
2149
|
+
"country": "Hungary",
|
|
2150
|
+
"code": "hu"
|
|
2151
|
+
}, {
|
|
2152
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1e8.svg",
|
|
2153
|
+
"country": "Canary Islands",
|
|
2154
|
+
"code": "ic"
|
|
2155
|
+
}, {
|
|
2156
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1e9.svg",
|
|
2157
|
+
"country": "Indonesia",
|
|
2158
|
+
"code": "id"
|
|
2159
|
+
}, {
|
|
2160
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1ea.svg",
|
|
2161
|
+
"country": "Ireland",
|
|
2162
|
+
"code": "ie"
|
|
2163
|
+
}, {
|
|
2164
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f1.svg",
|
|
2165
|
+
"country": "Israel",
|
|
2166
|
+
"code": "il"
|
|
2167
|
+
}, {
|
|
2168
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f2.svg",
|
|
2169
|
+
"country": "Isle of Man",
|
|
2170
|
+
"code": "im"
|
|
2171
|
+
}, {
|
|
2172
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f3.svg",
|
|
2173
|
+
"country": "India",
|
|
2174
|
+
"code": "in"
|
|
2175
|
+
}, {
|
|
2176
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f4.svg",
|
|
2177
|
+
"country": "British Indian Ocean Territory",
|
|
2178
|
+
"code": "io"
|
|
2179
|
+
}, {
|
|
2180
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f6.svg",
|
|
2181
|
+
"country": "Iraq",
|
|
2182
|
+
"code": "iq"
|
|
2183
|
+
}, {
|
|
2184
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f7.svg",
|
|
2185
|
+
"country": "Iran"
|
|
2186
|
+
}, {
|
|
2187
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f8.svg",
|
|
2188
|
+
"country": "Iceland",
|
|
2189
|
+
"code": "is"
|
|
2190
|
+
}, {
|
|
2191
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ee-1f1f9.svg",
|
|
2192
|
+
"country": "Italy",
|
|
2193
|
+
"code": "it"
|
|
2194
|
+
}, {
|
|
2195
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1ea.svg",
|
|
2196
|
+
"country": "Jersey",
|
|
2197
|
+
"code": "je"
|
|
2198
|
+
}, {
|
|
2199
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f2.svg",
|
|
2200
|
+
"country": "Jamaica",
|
|
2201
|
+
"code": "jm"
|
|
2202
|
+
}, {
|
|
2203
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f4.svg",
|
|
2204
|
+
"country": "Jordan",
|
|
2205
|
+
"code": "jo"
|
|
2206
|
+
}, {
|
|
2207
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ef-1f1f5.svg",
|
|
2208
|
+
"country": "Japan",
|
|
2209
|
+
"code": "jp"
|
|
2210
|
+
}, {
|
|
2211
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ea.svg",
|
|
2212
|
+
"country": "Kenya",
|
|
2213
|
+
"code": "ke"
|
|
2214
|
+
}, {
|
|
2215
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ec.svg",
|
|
2216
|
+
"country": "Kyrgyzstan",
|
|
2217
|
+
"code": "kg"
|
|
2218
|
+
}, {
|
|
2219
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ed.svg",
|
|
2220
|
+
"country": "Cambodia",
|
|
2221
|
+
"code": "kh"
|
|
2222
|
+
}, {
|
|
2223
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ee.svg",
|
|
2224
|
+
"country": "Kiribati",
|
|
2225
|
+
"code": "ki"
|
|
2226
|
+
}, {
|
|
2227
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f2.svg",
|
|
2228
|
+
"country": "Comoros",
|
|
2229
|
+
"code": "km"
|
|
2230
|
+
}, {
|
|
2231
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f3.svg",
|
|
2232
|
+
"country": "St. Kitts & Nevis",
|
|
2233
|
+
"code": "kn"
|
|
2234
|
+
}, {
|
|
2235
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f5.svg",
|
|
2236
|
+
"country": "North Korea",
|
|
2237
|
+
"code": "kp"
|
|
2238
|
+
}, {
|
|
2239
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1f7.svg",
|
|
2240
|
+
"country": "South Korea",
|
|
2241
|
+
"code": "kr"
|
|
2242
|
+
}, {
|
|
2243
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1fc.svg",
|
|
2244
|
+
"country": "Kuwait",
|
|
2245
|
+
"code": "kw"
|
|
2246
|
+
}, {
|
|
2247
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1fe.svg",
|
|
2248
|
+
"country": "Cayman Islands",
|
|
2249
|
+
"code": "ky"
|
|
2250
|
+
}, {
|
|
2251
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f0-1f1ff.svg",
|
|
2252
|
+
"country": "Kazakhstan",
|
|
2253
|
+
"code": "kz"
|
|
2254
|
+
}, {
|
|
2255
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e6.svg",
|
|
2256
|
+
"country": "Laos",
|
|
2257
|
+
"code": "la"
|
|
2258
|
+
}, {
|
|
2259
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e7.svg",
|
|
2260
|
+
"country": "Lebanon",
|
|
2261
|
+
"code": "lb"
|
|
2262
|
+
}, {
|
|
2263
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1e8.svg",
|
|
2264
|
+
"country": "St. Lucia",
|
|
2265
|
+
"code": "lc"
|
|
2266
|
+
}, {
|
|
2267
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1ee.svg",
|
|
2268
|
+
"country": "Liechtenstein",
|
|
2269
|
+
"code": "li"
|
|
2270
|
+
}, {
|
|
2271
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f0.svg",
|
|
2272
|
+
"country": "Sri Lanka",
|
|
2273
|
+
"code": "lk"
|
|
2274
|
+
}, {
|
|
2275
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f7.svg",
|
|
2276
|
+
"country": "Liberia",
|
|
2277
|
+
"code": "lr"
|
|
2278
|
+
}, {
|
|
2279
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f8.svg",
|
|
2280
|
+
"country": "Lesotho",
|
|
2281
|
+
"code": "ls"
|
|
2282
|
+
}, {
|
|
2283
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1f9.svg",
|
|
2284
|
+
"country": "Lithuania",
|
|
2285
|
+
"code": "lt"
|
|
2286
|
+
}, {
|
|
2287
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fa.svg",
|
|
2288
|
+
"country": "Luxembourg",
|
|
2289
|
+
"code": "lu"
|
|
2290
|
+
}, {
|
|
2291
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fb.svg",
|
|
2292
|
+
"country": "Latvia",
|
|
2293
|
+
"code": "lv"
|
|
2294
|
+
}, {
|
|
2295
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f1-1f1fe.svg",
|
|
2296
|
+
"country": "Libya",
|
|
2297
|
+
"code": "ly"
|
|
2298
|
+
}, {
|
|
2299
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e6.svg",
|
|
2300
|
+
"country": "Morocco",
|
|
2301
|
+
"code": "ma"
|
|
2302
|
+
}, {
|
|
2303
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e8.svg",
|
|
2304
|
+
"country": "Monaco",
|
|
2305
|
+
"code": "mc"
|
|
2306
|
+
}, {
|
|
2307
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1e9.svg",
|
|
2308
|
+
"country": "Moldova",
|
|
2309
|
+
"code": "md"
|
|
2310
|
+
}, {
|
|
2311
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ea.svg",
|
|
2312
|
+
"country": "Montenegro",
|
|
2313
|
+
"code": "me"
|
|
2314
|
+
}, {
|
|
2315
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1eb.svg",
|
|
2316
|
+
"country": "St. Martin",
|
|
2317
|
+
"code": "mf"
|
|
2318
|
+
}, {
|
|
2319
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ec.svg",
|
|
2320
|
+
"country": "Madagascar",
|
|
2321
|
+
"code": "mg"
|
|
2322
|
+
}, {
|
|
2323
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ed.svg",
|
|
2324
|
+
"country": "Marshall Islands",
|
|
2325
|
+
"code": "mh"
|
|
2326
|
+
}, {
|
|
2327
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f0.svg",
|
|
2328
|
+
"country": "North Macedonia",
|
|
2329
|
+
"code": "mk"
|
|
2330
|
+
}, {
|
|
2331
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f1.svg",
|
|
2332
|
+
"country": "Mali",
|
|
2333
|
+
"code": "ml"
|
|
2334
|
+
}, {
|
|
2335
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f2.svg",
|
|
2336
|
+
"country": "Myanmar (Burma)",
|
|
2337
|
+
"code": "mm"
|
|
2338
|
+
}, {
|
|
2339
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f3.svg",
|
|
2340
|
+
"country": "Mongolia",
|
|
2341
|
+
"code": "mn"
|
|
2342
|
+
}, {
|
|
2343
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f4.svg",
|
|
2344
|
+
"country": "Macao Sar China",
|
|
2345
|
+
"code": "mo"
|
|
2346
|
+
}, {
|
|
2347
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f5.svg",
|
|
2348
|
+
"country": "Northern Mariana Islands",
|
|
2349
|
+
"code": "mp"
|
|
2350
|
+
}, {
|
|
2351
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f6.svg",
|
|
2352
|
+
"country": "Martinique",
|
|
2353
|
+
"code": "mq"
|
|
2354
|
+
}, {
|
|
2355
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f7.svg",
|
|
2356
|
+
"country": "Mauritania",
|
|
2357
|
+
"code": "mr"
|
|
2358
|
+
}, {
|
|
2359
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f8.svg",
|
|
2360
|
+
"country": "Montserrat",
|
|
2361
|
+
"code": "ms"
|
|
2362
|
+
}, {
|
|
2363
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1f9.svg",
|
|
2364
|
+
"country": "Malta",
|
|
2365
|
+
"code": "mt"
|
|
2366
|
+
}, {
|
|
2367
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fa.svg",
|
|
2368
|
+
"country": "Mauritius",
|
|
2369
|
+
"code": "mu"
|
|
2370
|
+
}, {
|
|
2371
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fb.svg",
|
|
2372
|
+
"country": "Maldives",
|
|
2373
|
+
"code": "mv"
|
|
2374
|
+
}, {
|
|
2375
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fc.svg",
|
|
2376
|
+
"country": "Malawi",
|
|
2377
|
+
"code": "mw"
|
|
2378
|
+
}, {
|
|
2379
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fd.svg",
|
|
2380
|
+
"country": "Mexico",
|
|
2381
|
+
"code": "mx"
|
|
2382
|
+
}, {
|
|
2383
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1fe.svg",
|
|
2384
|
+
"country": "Malaysia",
|
|
2385
|
+
"code": "my"
|
|
2386
|
+
}, {
|
|
2387
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f2-1f1ff.svg",
|
|
2388
|
+
"country": "Mozambique",
|
|
2389
|
+
"code": "mz"
|
|
2390
|
+
}, {
|
|
2391
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1e6.svg",
|
|
2392
|
+
"country": "Namibia",
|
|
2393
|
+
"code": "na"
|
|
2394
|
+
}, {
|
|
2395
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1e8.svg",
|
|
2396
|
+
"country": "New Caledonia",
|
|
2397
|
+
"code": "nc"
|
|
2398
|
+
}, {
|
|
2399
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ea.svg",
|
|
2400
|
+
"country": "Niger",
|
|
2401
|
+
"code": "ne"
|
|
2402
|
+
}, {
|
|
2403
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1eb.svg",
|
|
2404
|
+
"country": "Norfolk Island",
|
|
2405
|
+
"code": "nf"
|
|
2406
|
+
}, {
|
|
2407
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ec.svg",
|
|
2408
|
+
"country": "Nigeria",
|
|
2409
|
+
"code": "ng"
|
|
2410
|
+
}, {
|
|
2411
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ee.svg",
|
|
2412
|
+
"country": "Nicaragua",
|
|
2413
|
+
"code": "ni"
|
|
2414
|
+
}, {
|
|
2415
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f1.svg",
|
|
2416
|
+
"country": "Netherlands",
|
|
2417
|
+
"code": "nl"
|
|
2418
|
+
}, {
|
|
2419
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f4.svg",
|
|
2420
|
+
"country": "Norway",
|
|
2421
|
+
"code": "no"
|
|
2422
|
+
}, {
|
|
2423
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f5.svg",
|
|
2424
|
+
"country": "Nepal",
|
|
2425
|
+
"code": "np"
|
|
2426
|
+
}, {
|
|
2427
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1f7.svg",
|
|
2428
|
+
"country": "Nauru",
|
|
2429
|
+
"code": "nr"
|
|
2430
|
+
}, {
|
|
2431
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1fa.svg",
|
|
2432
|
+
"country": "Niue",
|
|
2433
|
+
"code": "nu"
|
|
2434
|
+
}, {
|
|
2435
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f3-1f1ff.svg",
|
|
2436
|
+
"country": "New Zealand",
|
|
2437
|
+
"code": "nz"
|
|
2438
|
+
}, {
|
|
2439
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f4-1f1f2.svg",
|
|
2440
|
+
"country": "Oman",
|
|
2441
|
+
"code": "om"
|
|
2442
|
+
}, {
|
|
2443
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1e6.svg",
|
|
2444
|
+
"country": "Panama",
|
|
2445
|
+
"code": "pa"
|
|
2446
|
+
}, {
|
|
2447
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ea.svg",
|
|
2448
|
+
"country": "Peru",
|
|
2449
|
+
"code": "pe"
|
|
2450
|
+
}, {
|
|
2451
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1eb.svg",
|
|
2452
|
+
"country": "French Polynesia",
|
|
2453
|
+
"code": "pf"
|
|
2454
|
+
}, {
|
|
2455
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ec.svg",
|
|
2456
|
+
"country": "Papua New Guinea",
|
|
2457
|
+
"code": "pg"
|
|
2458
|
+
}, {
|
|
2459
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1ed.svg",
|
|
2460
|
+
"country": "Philippines",
|
|
2461
|
+
"code": "ph"
|
|
2462
|
+
}, {
|
|
2463
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f0.svg",
|
|
2464
|
+
"country": "Pakistan",
|
|
2465
|
+
"code": "pk"
|
|
2466
|
+
}, {
|
|
2467
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f1.svg",
|
|
2468
|
+
"country": "Poland",
|
|
2469
|
+
"code": "pl"
|
|
2470
|
+
}, {
|
|
2471
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f2.svg",
|
|
2472
|
+
"country": "St. Pierre & Miquelon",
|
|
2473
|
+
"code": "pm"
|
|
2474
|
+
}, {
|
|
2475
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f3.svg",
|
|
2476
|
+
"country": "Pitcairn Islands",
|
|
2477
|
+
"code": "pn"
|
|
2478
|
+
}, {
|
|
2479
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f7.svg",
|
|
2480
|
+
"country": "Puerto Rico",
|
|
2481
|
+
"code": "pr"
|
|
2482
|
+
}, {
|
|
2483
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f8.svg",
|
|
2484
|
+
"country": "Palestinian Territories",
|
|
2485
|
+
"code": "ps"
|
|
2486
|
+
}, {
|
|
2487
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1f9.svg",
|
|
2488
|
+
"country": "Portugal",
|
|
2489
|
+
"code": "pt"
|
|
2490
|
+
}, {
|
|
2491
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1fc.svg",
|
|
2492
|
+
"country": "Palau",
|
|
2493
|
+
"code": "pw"
|
|
2494
|
+
}, {
|
|
2495
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f5-1f1fe.svg",
|
|
2496
|
+
"country": "Paraguay",
|
|
2497
|
+
"code": "py"
|
|
2498
|
+
}, {
|
|
2499
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f6-1f1e6.svg",
|
|
2500
|
+
"country": "Qatar",
|
|
2501
|
+
"code": "qa"
|
|
2502
|
+
}, {
|
|
2503
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1ea.svg",
|
|
2504
|
+
"country": "Réunion",
|
|
2505
|
+
"code": "re"
|
|
2506
|
+
}, {
|
|
2507
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1f4.svg",
|
|
2508
|
+
"country": "Romania",
|
|
2509
|
+
"code": "ro"
|
|
2510
|
+
}, {
|
|
2511
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1f8.svg",
|
|
2512
|
+
"country": "Serbia",
|
|
2513
|
+
"code": "yu"
|
|
2514
|
+
}, {
|
|
2515
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1fa.svg",
|
|
2516
|
+
"country": "Russia",
|
|
2517
|
+
"code": "ru"
|
|
2518
|
+
}, {
|
|
2519
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f7-1f1fc.svg",
|
|
2520
|
+
"country": "Rwanda",
|
|
2521
|
+
"code": "rw"
|
|
2522
|
+
}, {
|
|
2523
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e6.svg",
|
|
2524
|
+
"country": "Saudi Arabia",
|
|
2525
|
+
"code": "sa"
|
|
2526
|
+
}, {
|
|
2527
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e7.svg",
|
|
2528
|
+
"country": "Solomon Islands",
|
|
2529
|
+
"code": "sb"
|
|
2530
|
+
}, {
|
|
2531
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e8.svg",
|
|
2532
|
+
"country": "Seychelles",
|
|
2533
|
+
"code": "sc"
|
|
2534
|
+
}, {
|
|
2535
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1e9.svg",
|
|
2536
|
+
"country": "Sudan",
|
|
2537
|
+
"code": "sd"
|
|
2538
|
+
}, {
|
|
2539
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ea.svg",
|
|
2540
|
+
"country": "Sweden",
|
|
2541
|
+
"code": "se"
|
|
2542
|
+
}, {
|
|
2543
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ec.svg",
|
|
2544
|
+
"country": "Singapore",
|
|
2545
|
+
"code": "sg"
|
|
2546
|
+
}, {
|
|
2547
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ed.svg",
|
|
2548
|
+
"country": "St. Helena",
|
|
2549
|
+
"code": "sh"
|
|
2550
|
+
}, {
|
|
2551
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ee.svg",
|
|
2552
|
+
"country": "Slovenia",
|
|
2553
|
+
"code": "si"
|
|
2554
|
+
}, {
|
|
2555
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ef.svg",
|
|
2556
|
+
"country": "Svalbard & Jan Mayen",
|
|
2557
|
+
"code": "sj"
|
|
2558
|
+
}, {
|
|
2559
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f0.svg",
|
|
2560
|
+
"country": "Slovakia",
|
|
2561
|
+
"code": "sk"
|
|
2562
|
+
}, {
|
|
2563
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f1.svg",
|
|
2564
|
+
"country": "Sierra Leone",
|
|
2565
|
+
"code": "sl"
|
|
2566
|
+
}, {
|
|
2567
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f2.svg",
|
|
2568
|
+
"country": "San Marino",
|
|
2569
|
+
"code": "sm"
|
|
2570
|
+
}, {
|
|
2571
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f3.svg",
|
|
2572
|
+
"country": "Senegal",
|
|
2573
|
+
"code": "sn"
|
|
2574
|
+
}, {
|
|
2575
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f4.svg",
|
|
2576
|
+
"country": "Somalia",
|
|
2577
|
+
"code": "so"
|
|
2578
|
+
}, {
|
|
2579
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f7.svg",
|
|
2580
|
+
"country": "Suriname",
|
|
2581
|
+
"code": "sr"
|
|
2582
|
+
}, {
|
|
2583
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f8.svg",
|
|
2584
|
+
"country": "South Sudan",
|
|
2585
|
+
"code": "ss"
|
|
2586
|
+
}, {
|
|
2587
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1f9.svg",
|
|
2588
|
+
"country": "São Tomé & Príncipe",
|
|
2589
|
+
"code": "st"
|
|
2590
|
+
}, {
|
|
2591
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fb.svg",
|
|
2592
|
+
"country": "El Salvador",
|
|
2593
|
+
"code": "sv"
|
|
2594
|
+
}, {
|
|
2595
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fd.svg",
|
|
2596
|
+
"country": "Sint Maarten",
|
|
2597
|
+
"code": "sx"
|
|
2598
|
+
}, {
|
|
2599
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1fe.svg",
|
|
2600
|
+
"country": "Syria",
|
|
2601
|
+
"code": "sy"
|
|
2602
|
+
}, {
|
|
2603
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f8-1f1ff.svg",
|
|
2604
|
+
"country": "Eswatini",
|
|
2605
|
+
"code": "sz"
|
|
2606
|
+
}, {
|
|
2607
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e6.svg",
|
|
2608
|
+
"country": "Tristan Da Cunha",
|
|
2609
|
+
"code": "sh"
|
|
2610
|
+
}, {
|
|
2611
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e8.svg",
|
|
2612
|
+
"country": "Turks & Caicos Islands",
|
|
2613
|
+
"code": "tc"
|
|
2614
|
+
}, {
|
|
2615
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1e9.svg",
|
|
2616
|
+
"country": "Chad",
|
|
2617
|
+
"code": "td"
|
|
2618
|
+
}, {
|
|
2619
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1eb.svg",
|
|
2620
|
+
"country": "French Southern Territories",
|
|
2621
|
+
"code": "tf"
|
|
2622
|
+
}, {
|
|
2623
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ec.svg",
|
|
2624
|
+
"country": "Togo",
|
|
2625
|
+
"code": "tg"
|
|
2626
|
+
}, {
|
|
2627
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ed.svg",
|
|
2628
|
+
"country": "Thailand",
|
|
2629
|
+
"code": "th"
|
|
2630
|
+
}, {
|
|
2631
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ef.svg",
|
|
2632
|
+
"country": "Tajikistan",
|
|
2633
|
+
"code": "tj"
|
|
2634
|
+
}, {
|
|
2635
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f0.svg",
|
|
2636
|
+
"country": "Tokelau",
|
|
2637
|
+
"code": "tk"
|
|
2638
|
+
}, {
|
|
2639
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f1.svg",
|
|
2640
|
+
"country": "Timor-Leste",
|
|
2641
|
+
"code": "tl"
|
|
2642
|
+
}, {
|
|
2643
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f2.svg",
|
|
2644
|
+
"country": "Turkmenistan",
|
|
2645
|
+
"code": "tm"
|
|
2646
|
+
}, {
|
|
2647
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f3.svg",
|
|
2648
|
+
"country": "Tunisia",
|
|
2649
|
+
"code": "tn"
|
|
2650
|
+
}, {
|
|
2651
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f4.svg",
|
|
2652
|
+
"country": "Tonga",
|
|
2653
|
+
"code": "to"
|
|
2654
|
+
}, {
|
|
2655
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f7.svg",
|
|
2656
|
+
"country": "Turkey",
|
|
2657
|
+
"code": "tr"
|
|
2658
|
+
}, {
|
|
2659
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1f9.svg",
|
|
2660
|
+
"country": "Trinidad & Tobago",
|
|
2661
|
+
"code": "tt"
|
|
2662
|
+
}, {
|
|
2663
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1fb.svg",
|
|
2664
|
+
"country": "Tuvalu",
|
|
2665
|
+
"code": "tv"
|
|
2666
|
+
}, {
|
|
2667
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1fc.svg",
|
|
2668
|
+
"country": "Taiwan",
|
|
2669
|
+
"code": "tw"
|
|
2670
|
+
}, {
|
|
2671
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1f9-1f1ff.svg",
|
|
2672
|
+
"country": "Tanzania",
|
|
2673
|
+
"code": "tz"
|
|
2674
|
+
}, {
|
|
2675
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1e6.svg",
|
|
2676
|
+
"country": "Ukraine",
|
|
2677
|
+
"code": "ua"
|
|
2678
|
+
}, {
|
|
2679
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1ec.svg",
|
|
2680
|
+
"country": "Uganda",
|
|
2681
|
+
"code": "ug"
|
|
2682
|
+
}, {
|
|
2683
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f2.svg",
|
|
2684
|
+
"country": "U.S. Outlying Islands",
|
|
2685
|
+
"code": "um"
|
|
2686
|
+
}, {
|
|
2687
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f3.svg",
|
|
2688
|
+
"country": "United Nations",
|
|
2689
|
+
"code": "un"
|
|
2690
|
+
}, {
|
|
2691
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1f8.svg",
|
|
2692
|
+
"country": "United States",
|
|
2693
|
+
"code": "us"
|
|
2694
|
+
}, {
|
|
2695
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1fe.svg",
|
|
2696
|
+
"country": "Uruguay",
|
|
2697
|
+
"code": "uy"
|
|
2698
|
+
}, {
|
|
2699
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fa-1f1ff.svg",
|
|
2700
|
+
"country": "Uzbekistan",
|
|
2701
|
+
"code": "uz"
|
|
2702
|
+
}, {
|
|
2703
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1e6.svg",
|
|
2704
|
+
"country": "Vatican City",
|
|
2705
|
+
"code": "va"
|
|
2706
|
+
}, {
|
|
2707
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1e8.svg",
|
|
2708
|
+
"country": "St. Vincent & Grenadines",
|
|
2709
|
+
"code": "vc"
|
|
2710
|
+
}, {
|
|
2711
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ea.svg",
|
|
2712
|
+
"country": "Venezuela",
|
|
2713
|
+
"code": "ve"
|
|
2714
|
+
}, {
|
|
2715
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ec.svg",
|
|
2716
|
+
"country": "British Virgin Islands",
|
|
2717
|
+
"code": "vg"
|
|
2718
|
+
}, {
|
|
2719
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1ee.svg",
|
|
2720
|
+
"country": "U.S. Virgin Islands",
|
|
2721
|
+
"code": "vi"
|
|
2722
|
+
}, {
|
|
2723
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1f3.svg",
|
|
2724
|
+
"country": "Vietnam",
|
|
2725
|
+
"code": "vn"
|
|
2726
|
+
}, {
|
|
2727
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fb-1f1fa.svg",
|
|
2728
|
+
"country": "Vanuatu",
|
|
2729
|
+
"code": "vu"
|
|
2730
|
+
}, {
|
|
2731
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fc-1f1eb.svg",
|
|
2732
|
+
"country": "Wallis & Futuna",
|
|
2733
|
+
"code": "wf"
|
|
2734
|
+
}, {
|
|
2735
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fc-1f1f8.svg",
|
|
2736
|
+
"country": "Samoa",
|
|
2737
|
+
"code": "ws"
|
|
2738
|
+
}, {
|
|
2739
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fd-1f1f0.svg",
|
|
2740
|
+
"country": "Kosovo",
|
|
2741
|
+
"code": "xk"
|
|
2742
|
+
}, {
|
|
2743
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fe-1f1ea.svg",
|
|
2744
|
+
"country": "Yemen",
|
|
2745
|
+
"code": "ye"
|
|
2746
|
+
}, {
|
|
2747
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1fe-1f1f9.svg",
|
|
2748
|
+
"country": "Mayotte",
|
|
2749
|
+
"code": "yt"
|
|
2750
|
+
}, {
|
|
2751
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1e6.svg",
|
|
2752
|
+
"country": "South Africa",
|
|
2753
|
+
"code": "za"
|
|
2754
|
+
}, {
|
|
2755
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1f2.svg",
|
|
2756
|
+
"country": "Zambia",
|
|
2757
|
+
"code": "zm"
|
|
2758
|
+
}, {
|
|
2759
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f1ff-1f1fc.svg",
|
|
2760
|
+
"country": "Zimbabwe",
|
|
2761
|
+
"code": "zw"
|
|
2762
|
+
}, {
|
|
2763
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.svg",
|
|
2764
|
+
"country": "England",
|
|
2765
|
+
"code": "uk"
|
|
2766
|
+
}, {
|
|
2767
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.svg",
|
|
2768
|
+
"country": "Scotland",
|
|
2769
|
+
"code": "uk"
|
|
2770
|
+
}, {
|
|
2771
|
+
"flag": "https://twemoji.maxcdn.com/2/svg/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.svg",
|
|
2772
|
+
"country": "Wales",
|
|
2773
|
+
"code": "uk"
|
|
2774
|
+
}];
|
|
2775
|
+
|
|
2776
|
+
const useClickOutside = (ref, callback) => {
|
|
2777
|
+
React.useEffect(() => {
|
|
2778
|
+
const element = ref === null || ref === void 0 ? void 0 : ref.current;
|
|
2779
|
+
const listener = evt => {
|
|
2780
|
+
if (!element || element.contains(evt.target)) return;
|
|
2781
|
+
callback(evt);
|
|
2782
|
+
};
|
|
2783
|
+
document.addEventListener('mousedown', listener);
|
|
2784
|
+
document.addEventListener('touchstart', listener);
|
|
2785
|
+
return () => {
|
|
2786
|
+
document.removeEventListener('mousedown', listener);
|
|
2787
|
+
document.removeEventListener('touchstart', listener);
|
|
2788
|
+
};
|
|
2789
|
+
}, [ref, callback]);
|
|
2790
|
+
};
|
|
2791
|
+
const useKeyPress = targetKey => {
|
|
2792
|
+
const [pressed, setPressed] = React.useState(false);
|
|
2793
|
+
React.useEffect(() => {
|
|
2794
|
+
const onKeydown = e => {
|
|
2795
|
+
const keyPressed = e.key;
|
|
2796
|
+
if (keyPressed === targetKey) setPressed(true);
|
|
2797
|
+
};
|
|
2798
|
+
const onKeyup = e => {
|
|
2799
|
+
const keyPressed = e.key;
|
|
2800
|
+
if (keyPressed === targetKey) setPressed(false);
|
|
2801
|
+
};
|
|
2802
|
+
window.addEventListener('keydown', onKeydown);
|
|
2803
|
+
window.addEventListener('keyup', onKeyup);
|
|
2804
|
+
return () => {
|
|
2805
|
+
window.removeEventListener('keydown', onKeydown);
|
|
2806
|
+
window.removeEventListener('keyup', onKeyup);
|
|
2807
|
+
};
|
|
2808
|
+
}, [targetKey]);
|
|
2809
|
+
return pressed;
|
|
2810
|
+
};
|
|
2811
|
+
const CountrySelectStyled = styled__default["default"].div.withConfig({
|
|
2812
|
+
displayName: "country__CountrySelectStyled",
|
|
2813
|
+
componentId: "sc-93yqgk-0"
|
|
2814
|
+
})(["", ";"], ({
|
|
2815
|
+
theme
|
|
2816
|
+
}) => {
|
|
2817
|
+
return styled.css(["div[aria-hidden=\"true\"]{display:none;}[aria-invalid='true']{background:#F9D7D7!important;border:1px solid #ca2121 !important;}[aria-invalid='false']{background:#D5FCE9 !important;border:1px solid #008A48 !important;}.country-select__label{display:block;margin:0 0 8px;}.country-select__wrapper{padding:16px 8px;margin:8px 0 0;}.country-select__btn--toggle{padding:8px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:inherit;background:#fff;border-radius:3px;border:1px solid #949494;height:40px;width:100%;max-width:100%;padding:8px;.country-select__icons{margin-left:auto;display:flex;align-items:center;}}.country-select__input{margin:0 8px 16px;font-family:inherit;background-color:#fff;border-radius:3px;border:1px solid #949494;height:40px;width:100%;max-width:calc(100% - 16px);padding:8px;}.country-select__options{overflow-y:scroll;height:247px;list-style:none;padding:0;margin:0;}.country-select__option{padding:8px;display:flex;align-items:center;cursor:pointer;background:transparent;border:none;width:100%;svg{margin-right:4px;}}img{margin-left:4px;width:16px;height:16px;}.required{color:", ";}"], theme.colors.red_darker);
|
|
2818
|
+
});
|
|
2819
|
+
const CountrySelect = ({
|
|
2820
|
+
formId,
|
|
2821
|
+
id,
|
|
2822
|
+
field,
|
|
2823
|
+
validations,
|
|
2824
|
+
defaultValue
|
|
2825
|
+
}) => {
|
|
2826
|
+
var _options$filter, _options$filter$;
|
|
2827
|
+
const [options, setOptions] = React.useState(countries);
|
|
2828
|
+
const [selected, setSelected] = React.useState(defaultValue || '');
|
|
2829
|
+
const [toggled, toggleDropdown] = React.useState(false);
|
|
2830
|
+
React.useEffect(() => {
|
|
2831
|
+
if (defaultValue) {
|
|
2832
|
+
var _countries$filter, _countries$filter$;
|
|
2833
|
+
const defaultCountry = ((_countries$filter = countries.filter(({
|
|
2834
|
+
country
|
|
2835
|
+
}) => country === defaultValue)) === null || _countries$filter === void 0 ? void 0 : (_countries$filter$ = _countries$filter[0]) === null || _countries$filter$ === void 0 ? void 0 : _countries$filter$.country) || '';
|
|
2836
|
+
if (defaultCountry) setSelected(defaultCountry);
|
|
2837
|
+
}
|
|
2838
|
+
}, [defaultValue]);
|
|
2839
|
+
const isRequired = validations && validations.required ? true : false;
|
|
2840
|
+
const onChange = value => {
|
|
2841
|
+
if (value && value.length >= 1) {
|
|
2842
|
+
const opts = countries;
|
|
2843
|
+
const optsfiltered = opts.filter(({
|
|
2844
|
+
country
|
|
2845
|
+
}) => country.toLowerCase().includes(value.toLowerCase()));
|
|
2846
|
+
setOptions(optsfiltered);
|
|
2847
|
+
} else setOptions(countries);
|
|
2848
|
+
};
|
|
2849
|
+
|
|
2850
|
+
// Validation
|
|
2851
|
+
const dispatch = reactRedux.useDispatch();
|
|
2852
|
+
const selectFormValidationSent = makeSelectFormValidationSent(formId);
|
|
2853
|
+
const formValidationSent = reactRedux.useSelector(selectFormValidationSent);
|
|
2854
|
+
const [a11yInvalid, setA11yInvalid] = React.useState('');
|
|
2855
|
+
React.useEffect(() => {
|
|
2856
|
+
if (formValidationSent) setA11yInvalid(doA11yValidation(selected, field, true));
|
|
2857
|
+
}, [formValidationSent]);
|
|
2858
|
+
const elOptionRef = React.useRef();
|
|
2859
|
+
const elContainerRef = React.useRef();
|
|
2860
|
+
const close = () => toggleDropdown(false);
|
|
2861
|
+
useClickOutside(elContainerRef, close);
|
|
2862
|
+
|
|
2863
|
+
// Keyboard Navigation
|
|
2864
|
+
const isArrowUpPressed = useKeyPress('ArrowUp');
|
|
2865
|
+
const isArrowDownPressed = useKeyPress('ArrowDown');
|
|
2866
|
+
const isEscapePressed = useKeyPress('Escape');
|
|
2867
|
+
const [initState, setInitState] = React.useState({
|
|
2868
|
+
selectedIndex: -1
|
|
2869
|
+
});
|
|
2870
|
+
const updateState = (type, i) => {
|
|
2871
|
+
const max = options.length - 1;
|
|
2872
|
+
if (type === 'ARROW_UP') {
|
|
2873
|
+
let updatedState = {
|
|
2874
|
+
...initState
|
|
2875
|
+
};
|
|
2876
|
+
const updatedIndex = updatedState.selectedIndex !== 0 ? updatedState.selectedIndex - 1 : max;
|
|
2877
|
+
updatedState.selectedIndex = updatedIndex;
|
|
2878
|
+
setInitState(updatedState);
|
|
2879
|
+
}
|
|
2880
|
+
if (type === 'ARROW_DOWN') {
|
|
2881
|
+
let updatedState = {
|
|
2882
|
+
...initState
|
|
2883
|
+
};
|
|
2884
|
+
const updatedIndex = updatedState.selectedIndex !== max ? updatedState.selectedIndex + 1 : 0;
|
|
2885
|
+
updatedState.selectedIndex = updatedIndex;
|
|
2886
|
+
setInitState(updatedState);
|
|
2887
|
+
}
|
|
2888
|
+
if (type === 'SELECT') {
|
|
2889
|
+
let updatedState = {
|
|
2890
|
+
...initState
|
|
2891
|
+
};
|
|
2892
|
+
updatedState.selectedIndex = i;
|
|
2893
|
+
setInitState(updatedState);
|
|
2894
|
+
}
|
|
2895
|
+
};
|
|
2896
|
+
React.useEffect(() => {
|
|
2897
|
+
if (toggled) {
|
|
2898
|
+
if (isArrowDownPressed) updateState('ARROW_DOWN');
|
|
2899
|
+
if (isArrowUpPressed) updateState('ARROW_UP');
|
|
2900
|
+
if (isEscapePressed) toggleDropdown(false);
|
|
2901
|
+
doFocus();
|
|
2902
|
+
}
|
|
2903
|
+
}, [toggled, isArrowDownPressed, isArrowUpPressed, isEscapePressed]);
|
|
2904
|
+
const doFocus = () => {
|
|
2905
|
+
var _element$;
|
|
2906
|
+
const attr = `[aria-pressed="true"]`;
|
|
2907
|
+
const element = document.querySelectorAll(attr);
|
|
2908
|
+
if (element && element.length >= 1) (_element$ = element[0]) === null || _element$ === void 0 ? void 0 : _element$.focus();
|
|
2909
|
+
};
|
|
2910
|
+
return /*#__PURE__*/React__default["default"].createElement(CountrySelectStyled, {
|
|
2911
|
+
ref: elContainerRef,
|
|
2912
|
+
role: "region",
|
|
2913
|
+
id: "country",
|
|
2914
|
+
"aria-live": "polite"
|
|
2915
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2916
|
+
className: "country-select__label",
|
|
2917
|
+
role: "label",
|
|
2918
|
+
"aria-label": `Select a country ${isRequired ? 'required' : 'optional'} ${selected}`,
|
|
2919
|
+
htmlFor: "country"
|
|
2920
|
+
}, "Select a country", isRequired ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2921
|
+
className: "label__required"
|
|
2922
|
+
}, "(required)") : /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2923
|
+
className: "label__optional"
|
|
2924
|
+
}, "(optional)")), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
2925
|
+
className: "country-select__btn--toggle",
|
|
2926
|
+
"aria-controls": "country",
|
|
2927
|
+
"aria-invalid": a11yInvalid,
|
|
2928
|
+
"aria-expanded": toggled,
|
|
2929
|
+
onClick: e => {
|
|
2930
|
+
e.preventDefault();
|
|
2931
|
+
toggleDropdown(!toggled);
|
|
2932
|
+
}
|
|
2933
|
+
}, selected, selected && /*#__PURE__*/React__default["default"].createElement("img", {
|
|
2934
|
+
src: (_options$filter = options.filter(opt => opt.country === selected)) === null || _options$filter === void 0 ? void 0 : (_options$filter$ = _options$filter[0]) === null || _options$filter$ === void 0 ? void 0 : _options$filter$.flag,
|
|
2935
|
+
alt: ""
|
|
2936
|
+
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
2937
|
+
className: "sr-only"
|
|
2938
|
+
}, "Open the Country select searchable dropdown"), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2939
|
+
className: "country-select__icons"
|
|
2940
|
+
}, toggled ? /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
2941
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2942
|
+
width: "24",
|
|
2943
|
+
height: "24",
|
|
2944
|
+
fill: "none",
|
|
2945
|
+
focusable: "false",
|
|
2946
|
+
"aria-hidden": "true",
|
|
2947
|
+
role: "presentation"
|
|
2948
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2949
|
+
fill: "#333",
|
|
2950
|
+
d: "m7 15 4.293-4.293L15.586 15 17 13.586l-5.707-5.707-5.707 5.707L7 15Z"
|
|
2951
|
+
})) : /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
2952
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2953
|
+
width: "24",
|
|
2954
|
+
height: "24",
|
|
2955
|
+
fill: "none",
|
|
2956
|
+
focusable: "false",
|
|
2957
|
+
"aria-hidden": "true",
|
|
2958
|
+
role: "presentation"
|
|
2959
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2960
|
+
fill: "#333",
|
|
2961
|
+
d: "m16 8-4.293 4.293L7.414 8 6 9.414l5.707 5.707 5.707-5.707L16 8Z"
|
|
2962
|
+
})), a11yInvalid == 'true' && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
2963
|
+
className: "svg",
|
|
2964
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2965
|
+
focusable: "false",
|
|
2966
|
+
"aria-hidden": "true",
|
|
2967
|
+
role: "presentation",
|
|
2968
|
+
width: "16",
|
|
2969
|
+
height: "16",
|
|
2970
|
+
fill: "none"
|
|
2971
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2972
|
+
fill: "#333",
|
|
2973
|
+
d: "M12.2 3.807a.664.664 0 0 0-.94 0L8 7.06 4.74 3.8a.665.665 0 0 0-.94.94L7.06 8 3.8 11.26a.664.664 0 1 0 .94.94L8 8.94l3.26 3.26a.665.665 0 0 0 .94-.94L8.94 8l3.26-3.26a.668.668 0 0 0 0-.933Z"
|
|
2974
|
+
})), a11yInvalid == 'false' && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
2975
|
+
className: "svg",
|
|
2976
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2977
|
+
focusable: "false",
|
|
2978
|
+
"aria-hidden": "true",
|
|
2979
|
+
role: "presentation",
|
|
2980
|
+
width: "16",
|
|
2981
|
+
height: "16",
|
|
2982
|
+
fill: "none"
|
|
2983
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
2984
|
+
fill: "#333",
|
|
2985
|
+
d: "m2 8 4.418 4.667L14 4.659l-1.246-1.326-6.336 6.692-3.18-3.332L2 8Z"
|
|
2986
|
+
})))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2987
|
+
className: "country-select__wrapper",
|
|
2988
|
+
"aria-hidden": !toggled
|
|
2989
|
+
}, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
2990
|
+
htmlFor: "search-country-name",
|
|
2991
|
+
className: "sr-only"
|
|
2992
|
+
}, "Search country name"), /*#__PURE__*/React__default["default"].createElement("input", {
|
|
2993
|
+
id: "search-country-name",
|
|
2994
|
+
className: "country-select__input",
|
|
2995
|
+
placeholder: "Search country name",
|
|
2996
|
+
onChange: e => {
|
|
2997
|
+
e.preventDefault();
|
|
2998
|
+
onChange(e.target.value);
|
|
2999
|
+
}
|
|
3000
|
+
}), /*#__PURE__*/React__default["default"].createElement("ul", {
|
|
3001
|
+
id: "contry",
|
|
3002
|
+
role: "select",
|
|
3003
|
+
name: "country",
|
|
3004
|
+
className: "country-select__options"
|
|
3005
|
+
}, options.map((option, i) => {
|
|
3006
|
+
const isSelected = selected === option.country;
|
|
3007
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
3008
|
+
key: i,
|
|
3009
|
+
"aria-hidden": isSelected,
|
|
3010
|
+
"aria-selected": isSelected,
|
|
3011
|
+
role: "option"
|
|
3012
|
+
}, /*#__PURE__*/React__default["default"].createElement(CountryOption, {
|
|
3013
|
+
onClick: e => {
|
|
3014
|
+
e.preventDefault();
|
|
3015
|
+
setSelected(option.country);
|
|
3016
|
+
dispatch(setValue(formId, id, e.target.value));
|
|
3017
|
+
setA11yInvalid(doA11yValidation(e.target.value, field, formValidationSent));
|
|
3018
|
+
},
|
|
3019
|
+
onKeyDown: e => {
|
|
3020
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
3021
|
+
setSelected(option.country);
|
|
3022
|
+
dispatch(setValue(formId, id, e.target.value));
|
|
3023
|
+
setA11yInvalid(doA11yValidation(e.target.value, field, formValidationSent));
|
|
3024
|
+
updateState('SELECT', i);
|
|
3025
|
+
e.target.blur();
|
|
3026
|
+
}
|
|
3027
|
+
},
|
|
3028
|
+
ref: elOptionRef,
|
|
3029
|
+
value: option.country,
|
|
3030
|
+
"aria-pressed": i === initState.selectedIndex,
|
|
3031
|
+
tabIndex: 0
|
|
3032
|
+
}, isSelected && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
3033
|
+
focusable: "false",
|
|
3034
|
+
"aria-hidden": "true",
|
|
3035
|
+
role: "presentation",
|
|
3036
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3037
|
+
width: "16px",
|
|
3038
|
+
height: "16px",
|
|
3039
|
+
viewBox: "0 0 24 24",
|
|
3040
|
+
fill: "none"
|
|
3041
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
3042
|
+
fill: "#333",
|
|
3043
|
+
d: "m3 12 6.627 7L21 6.988 19.131 5 9.627 15.038 4.856 10.04 3 12Z"
|
|
3044
|
+
})), option.country, /*#__PURE__*/React__default["default"].createElement("img", {
|
|
3045
|
+
src: option.flag,
|
|
3046
|
+
alt: ""
|
|
3047
|
+
})));
|
|
3048
|
+
}))));
|
|
3049
|
+
};
|
|
3050
|
+
const CountryOption = /*#__PURE__*/React.forwardRef(function SelectItem(props, ref = null) {
|
|
3051
|
+
const {
|
|
3052
|
+
className,
|
|
3053
|
+
children,
|
|
3054
|
+
...rest
|
|
3055
|
+
} = props;
|
|
3056
|
+
return /*#__PURE__*/React__default["default"].createElement("button", _extends({
|
|
3057
|
+
className: "country-select__option",
|
|
3058
|
+
role: "option",
|
|
3059
|
+
ref: ref
|
|
3060
|
+
}, rest), children);
|
|
3061
|
+
});
|
|
3062
|
+
|
|
1832
3063
|
const FormComposer = ({
|
|
1833
3064
|
fields,
|
|
1834
3065
|
formData,
|
|
@@ -1839,13 +3070,11 @@ const FormComposer = ({
|
|
|
1839
3070
|
defaultLanguage,
|
|
1840
3071
|
errors,
|
|
1841
3072
|
useDefaultTheme,
|
|
1842
|
-
entries
|
|
1843
|
-
setCheckboxValue
|
|
3073
|
+
entries
|
|
1844
3074
|
}) => {
|
|
1845
3075
|
if (!fields || fields.length < 1) return null;
|
|
1846
3076
|
return fields.map((field, idx) => {
|
|
1847
3077
|
if (!field) return null;
|
|
1848
|
-
|
|
1849
3078
|
switch (field.type) {
|
|
1850
3079
|
case 'number':
|
|
1851
3080
|
case 'textfield':
|
|
@@ -1867,7 +3096,6 @@ const FormComposer = ({
|
|
|
1867
3096
|
useDefaultTheme: useDefaultTheme
|
|
1868
3097
|
});
|
|
1869
3098
|
}
|
|
1870
|
-
|
|
1871
3099
|
case 'textarea':
|
|
1872
3100
|
{
|
|
1873
3101
|
return /*#__PURE__*/React__default["default"].createElement(Textarea, {
|
|
@@ -1887,7 +3115,6 @@ const FormComposer = ({
|
|
|
1887
3115
|
errors: errors
|
|
1888
3116
|
});
|
|
1889
3117
|
}
|
|
1890
|
-
|
|
1891
3118
|
case 'dropdown':
|
|
1892
3119
|
{
|
|
1893
3120
|
return /*#__PURE__*/React__default["default"].createElement(Dropdown, {
|
|
@@ -1902,7 +3129,6 @@ const FormComposer = ({
|
|
|
1902
3129
|
useDefaultTheme: useDefaultTheme
|
|
1903
3130
|
});
|
|
1904
3131
|
}
|
|
1905
|
-
|
|
1906
3132
|
case 'checkbox':
|
|
1907
3133
|
{
|
|
1908
3134
|
return /*#__PURE__*/React__default["default"].createElement(Checkbox, {
|
|
@@ -1916,11 +3142,9 @@ const FormComposer = ({
|
|
|
1916
3142
|
formId: formId,
|
|
1917
3143
|
defaultValue: formData && formData[field.id] || field.default,
|
|
1918
3144
|
type: field.dataType === 'boolean' ? 'single' : 'multiple',
|
|
1919
|
-
useDefaultTheme: useDefaultTheme
|
|
1920
|
-
setCheckboxValue: setCheckboxValue
|
|
3145
|
+
useDefaultTheme: useDefaultTheme
|
|
1921
3146
|
});
|
|
1922
3147
|
}
|
|
1923
|
-
|
|
1924
3148
|
case 'radio':
|
|
1925
3149
|
{
|
|
1926
3150
|
return /*#__PURE__*/React__default["default"].createElement(RadioButton, {
|
|
@@ -1935,7 +3159,6 @@ const FormComposer = ({
|
|
|
1935
3159
|
useDefaultTheme: useDefaultTheme
|
|
1936
3160
|
});
|
|
1937
3161
|
}
|
|
1938
|
-
|
|
1939
3162
|
case 'entryPicker':
|
|
1940
3163
|
{
|
|
1941
3164
|
const type = field.dataType === 'objectArray' ? 'checkbox' : 'radio';
|
|
@@ -1952,7 +3175,6 @@ const FormComposer = ({
|
|
|
1952
3175
|
formId: formId
|
|
1953
3176
|
});
|
|
1954
3177
|
}
|
|
1955
|
-
|
|
1956
3178
|
case 'date':
|
|
1957
3179
|
{
|
|
1958
3180
|
return /*#__PURE__*/React__default["default"].createElement(SingleDate, {
|
|
@@ -1966,7 +3188,6 @@ const FormComposer = ({
|
|
|
1966
3188
|
useDefaultTheme: useDefaultTheme
|
|
1967
3189
|
});
|
|
1968
3190
|
}
|
|
1969
|
-
|
|
1970
3191
|
case 'dateRange':
|
|
1971
3192
|
{
|
|
1972
3193
|
return /*#__PURE__*/React__default["default"].createElement(DateRange, {
|
|
@@ -1979,7 +3200,6 @@ const FormComposer = ({
|
|
|
1979
3200
|
useDefaultTheme: useDefaultTheme
|
|
1980
3201
|
});
|
|
1981
3202
|
}
|
|
1982
|
-
|
|
1983
3203
|
case 'hidden':
|
|
1984
3204
|
{
|
|
1985
3205
|
return /*#__PURE__*/React__default["default"].createElement(HiddenField, {
|
|
@@ -1992,10 +3212,21 @@ const FormComposer = ({
|
|
|
1992
3212
|
placeholder: field.editor
|
|
1993
3213
|
});
|
|
1994
3214
|
}
|
|
3215
|
+
case 'country':
|
|
3216
|
+
{
|
|
3217
|
+
var _field$default;
|
|
3218
|
+
return /*#__PURE__*/React__default["default"].createElement(CountrySelect, {
|
|
3219
|
+
key: `${field.id}-${idx}`,
|
|
3220
|
+
formId: formId,
|
|
3221
|
+
field: field,
|
|
3222
|
+
id: field.id,
|
|
3223
|
+
validations: field.validations,
|
|
3224
|
+
defaultValue: field === null || field === void 0 ? void 0 : (_field$default = field.default) === null || _field$default === void 0 ? void 0 : _field$default[defaultLanguage]
|
|
3225
|
+
});
|
|
3226
|
+
}
|
|
1995
3227
|
}
|
|
1996
3228
|
});
|
|
1997
3229
|
};
|
|
1998
|
-
|
|
1999
3230
|
FormComposer.propTypes = {
|
|
2000
3231
|
fields: PropTypes__default["default"].oneOfType([PropTypes__default["default"].array, PropTypes__default["default"].object]),
|
|
2001
3232
|
formData: PropTypes__default["default"].object,
|
|
@@ -2006,8 +3237,7 @@ FormComposer.propTypes = {
|
|
|
2006
3237
|
setDateRangeValues: PropTypes__default["default"].func,
|
|
2007
3238
|
defaultLanguage: PropTypes__default["default"].string,
|
|
2008
3239
|
errors: PropTypes__default["default"].array,
|
|
2009
|
-
useDefaultTheme: PropTypes__default["default"].bool
|
|
2010
|
-
setCheckboxValue: PropTypes__default["default"].func
|
|
3240
|
+
useDefaultTheme: PropTypes__default["default"].bool
|
|
2011
3241
|
};
|
|
2012
3242
|
|
|
2013
3243
|
const Loader = ({
|
|
@@ -2068,7 +3298,7 @@ const Button = ({
|
|
|
2068
3298
|
useDefaultTheme
|
|
2069
3299
|
}) => {
|
|
2070
3300
|
return /*#__PURE__*/React__default["default"].createElement(ButtonStyled, {
|
|
2071
|
-
className:
|
|
3301
|
+
className: className,
|
|
2072
3302
|
type: type,
|
|
2073
3303
|
onClick: () => action(),
|
|
2074
3304
|
disabled: loading,
|
|
@@ -2116,23 +3346,13 @@ const Form = ({
|
|
|
2116
3346
|
onCustomSubmit
|
|
2117
3347
|
}) => {
|
|
2118
3348
|
const dispatch = reactRedux.useDispatch();
|
|
2119
|
-
|
|
2120
3349
|
const _setFormId = formId => dispatch(setFormId(formId));
|
|
2121
|
-
|
|
2122
3350
|
const _setValue = (formId, id, value) => dispatch(setValue(formId, id, value));
|
|
2123
|
-
|
|
2124
|
-
const _setCheckboxValue = (formId, id, value, isChecked) => dispatch(setCheckboxValue(formId, id, value, isChecked));
|
|
2125
|
-
|
|
2126
3351
|
const _setDateRangeValues = (formId, id, dateType, value) => dispatch(setDateRangeValues(formId, id, dateType, value));
|
|
2127
|
-
|
|
2128
3352
|
const _onValidateField = (formId, id, value) => dispatch(onValidateField(formId, id, value));
|
|
2129
|
-
|
|
2130
3353
|
const _doTogglePageForward = (formId, pageIndex) => dispatch(doTogglePageForward(formId, pageIndex));
|
|
2131
|
-
|
|
2132
3354
|
const _doTogglePageBack = (formId, pageIndex) => dispatch(doTogglePageBack(formId, pageIndex));
|
|
2133
|
-
|
|
2134
3355
|
const _onSubmit = formId => dispatch(onSubmit(formId));
|
|
2135
|
-
|
|
2136
3356
|
React.useEffect(() => {
|
|
2137
3357
|
if (formId) _setFormId(formId);
|
|
2138
3358
|
}, [formId]);
|
|
@@ -2144,7 +3364,6 @@ const Form = ({
|
|
|
2144
3364
|
const selectFormFieldErrors = makeSelectFormFieldErrors(formId);
|
|
2145
3365
|
const selectFormEntries = makeSelectFormEntries(formId);
|
|
2146
3366
|
const selectFormPostData = makeSelectFormPostData(formId);
|
|
2147
|
-
const selectFormValidationSent = makeSelectFormValidationSent(formId);
|
|
2148
3367
|
const status = reactRedux.useSelector(selectFormStatus);
|
|
2149
3368
|
const fields = reactRedux.useSelector(selectFormFields);
|
|
2150
3369
|
const pagingInfo = reactRedux.useSelector(selectPagingInfo);
|
|
@@ -2153,8 +3372,6 @@ const Form = ({
|
|
|
2153
3372
|
const errors = reactRedux.useSelector(selectFormFieldErrors);
|
|
2154
3373
|
const entries = reactRedux.useSelector(selectFormEntries);
|
|
2155
3374
|
const formData = reactRedux.useSelector(selectFormPostData);
|
|
2156
|
-
const validate = reactRedux.useSelector(selectFormValidationSent);
|
|
2157
|
-
|
|
2158
3375
|
if (pagingInfo && pagingInfo.pageCount > 1) {
|
|
2159
3376
|
const isLastPage = pagingInfo.pageCount == pagingInfo.pageIndex + 1;
|
|
2160
3377
|
return /*#__PURE__*/React__default["default"].createElement(ThemeProvider, {
|
|
@@ -2163,12 +3380,7 @@ const Form = ({
|
|
|
2163
3380
|
className: className,
|
|
2164
3381
|
id: formId,
|
|
2165
3382
|
useDefaultTheme: useDefaultTheme
|
|
2166
|
-
}, !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2167
|
-
type: "button",
|
|
2168
|
-
text: "Go Back",
|
|
2169
|
-
action: () => _doTogglePageBack(formId, pagingInfo.pageIndex - 1),
|
|
2170
|
-
useDefaultTheme: useDefaultTheme
|
|
2171
|
-
}), /*#__PURE__*/React__default["default"].createElement(FormComposer, {
|
|
3383
|
+
}, !(status !== null && status !== void 0 && status.hasSuccess) && !(status !== null && status !== void 0 && status.isLoading) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FormComposer, {
|
|
2172
3384
|
fields: fields,
|
|
2173
3385
|
formData: formData,
|
|
2174
3386
|
formId: formId,
|
|
@@ -2179,20 +3391,26 @@ const Form = ({
|
|
|
2179
3391
|
pagingInfo: pagingInfo,
|
|
2180
3392
|
useDefaultTheme: useDefaultTheme,
|
|
2181
3393
|
entries: entries,
|
|
2182
|
-
setDateRangeValues: _setDateRangeValues
|
|
2183
|
-
|
|
3394
|
+
setDateRangeValues: _setDateRangeValues
|
|
3395
|
+
}), pagingInfo.pageIndex > 0 && /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
3396
|
+
className: "form__btn--prev",
|
|
3397
|
+
type: "button",
|
|
3398
|
+
text: "Go Back",
|
|
3399
|
+
action: () => _doTogglePageBack(formId, pagingInfo.pageIndex - 1),
|
|
3400
|
+
useDefaultTheme: useDefaultTheme
|
|
2184
3401
|
}), !isLastPage && /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
3402
|
+
className: "form__btn--next",
|
|
2185
3403
|
type: "button",
|
|
2186
3404
|
text: "Next",
|
|
2187
3405
|
action: () => _doTogglePageForward(formId, pagingInfo.pageIndex + 1),
|
|
2188
3406
|
useDefaultTheme: useDefaultTheme
|
|
2189
3407
|
}), isLastPage && /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
3408
|
+
className: "form__btn--submit",
|
|
2190
3409
|
text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
|
|
2191
3410
|
type: "button",
|
|
2192
|
-
loading: status === null || status === void 0 ? void 0 : status.
|
|
3411
|
+
loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
|
|
2193
3412
|
action: () => {
|
|
2194
3413
|
_onSubmit(formId);
|
|
2195
|
-
|
|
2196
3414
|
if (onCustomSubmit) onCustomSubmit();
|
|
2197
3415
|
},
|
|
2198
3416
|
useDefaultTheme: useDefaultTheme
|
|
@@ -2203,7 +3421,7 @@ const Form = ({
|
|
|
2203
3421
|
color: "#333"
|
|
2204
3422
|
}), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.messages.success) && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
2205
3423
|
className: "success-message"
|
|
2206
|
-
}, status.messages.success), (errors === null || errors === void 0 ? void 0 : errors.length) >= 1 &&
|
|
3424
|
+
}, status.messages.success), (errors === null || errors === void 0 ? void 0 : errors.length) >= 1 && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2207
3425
|
className: "form__errors",
|
|
2208
3426
|
role: "alert"
|
|
2209
3427
|
}, errors === null || errors === void 0 ? void 0 : errors.map(({
|
|
@@ -2231,15 +3449,14 @@ const Form = ({
|
|
|
2231
3449
|
defaultLanguage: defaultLanguage,
|
|
2232
3450
|
errors: errors,
|
|
2233
3451
|
useDefaultTheme: useDefaultTheme,
|
|
2234
|
-
entries: entries
|
|
2235
|
-
setCheckboxValue: _setCheckboxValue
|
|
3452
|
+
entries: entries
|
|
2236
3453
|
}), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
3454
|
+
className: "form__btn--submit",
|
|
2237
3455
|
loading: status === null || status === void 0 ? void 0 : status.isSubmitting,
|
|
2238
3456
|
text: (settings === null || settings === void 0 ? void 0 : settings.submitButtonText) || "Submit",
|
|
2239
3457
|
type: "button",
|
|
2240
3458
|
action: () => {
|
|
2241
3459
|
_onSubmit(formId);
|
|
2242
|
-
|
|
2243
3460
|
if (onCustomSubmit) onCustomSubmit();
|
|
2244
3461
|
},
|
|
2245
3462
|
useDefaultTheme: useDefaultTheme
|
|
@@ -2250,7 +3467,7 @@ const Form = ({
|
|
|
2250
3467
|
color: "#333"
|
|
2251
3468
|
}), (status === null || status === void 0 ? void 0 : status.hasSuccess) && (status === null || status === void 0 ? void 0 : status.messages.success) && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
2252
3469
|
className: "success-message"
|
|
2253
|
-
}, status.messages.success), (errors === null || errors === void 0 ? void 0 : errors.length) >= 1 &&
|
|
3470
|
+
}, status.messages.success), (errors === null || errors === void 0 ? void 0 : errors.length) >= 1 && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
2254
3471
|
className: "form__errors",
|
|
2255
3472
|
role: "alert"
|
|
2256
3473
|
}, errors === null || errors === void 0 ? void 0 : errors.map(({
|
|
@@ -2264,7 +3481,6 @@ const Form = ({
|
|
|
2264
3481
|
}))));
|
|
2265
3482
|
}
|
|
2266
3483
|
};
|
|
2267
|
-
|
|
2268
3484
|
Form.propTypes = {
|
|
2269
3485
|
className: PropTypes__default["default"].string,
|
|
2270
3486
|
formId: PropTypes__default["default"].string,
|