@persei/perseed-api 5.0.4 → 5.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/client.cjs +60 -0
  2. package/dist/client.cjs.map +1 -1
  3. package/dist/client.mjs +60 -0
  4. package/dist/client.mjs.map +1 -1
  5. package/dist/lib/src/generated/client.d.ts +190 -0
  6. package/dist/lib/src/generated/client.d.ts.map +1 -1
  7. package/dist/src/Services/ContainerWidgetService.d.ts +14 -0
  8. package/dist/src/Services/ContainerWidgetService.d.ts.map +1 -0
  9. package/dist/src/config/config.d.ts +9 -2
  10. package/dist/src/config/config.d.ts.map +1 -1
  11. package/dist/src/controllers/{DashboardWidgetController.d.ts → ContainerWidgetController.d.ts} +3 -3
  12. package/dist/src/controllers/{DashboardWidgetController.d.ts.map → ContainerWidgetController.d.ts.map} +1 -1
  13. package/dist/src/helpers/dashboards.d.ts +4 -4
  14. package/dist/src/helpers/dashboards.d.ts.map +1 -1
  15. package/dist/src/models/ecosystem/{DashboardWidget.d.ts → ContainerWidget.d.ts} +14 -14
  16. package/dist/src/models/ecosystem/ContainerWidget.d.ts.map +1 -0
  17. package/dist/src/models/ecosystem/{DashboardWidgetBlock.d.ts → ContainerWidgetBlock.d.ts} +5 -5
  18. package/dist/src/models/ecosystem/{DashboardWidgetBlock.d.ts.map → ContainerWidgetBlock.d.ts.map} +1 -1
  19. package/dist/src/models/perseed/UserSettings.d.ts.map +1 -1
  20. package/dist/src/routes/ecosystem/_ecosystemName/dashboardWidget/_id/index.d.ts.map +1 -1
  21. package/dist/src/routes/ecosystem/_ecosystemName/dashboardWidget/index.d.ts.map +1 -1
  22. package/dist/src/routes/ecosystem/_ecosystemName/project/_projectName/dashboardWidget/_id/index.d.ts.map +1 -1
  23. package/dist/src/routes/ecosystem/_ecosystemName/project/_projectName/dashboardWidget/index.d.ts.map +1 -1
  24. package/dist/src/schemas/{dashboard_widget → container_widget}/col.d.ts.map +1 -1
  25. package/dist/src/schemas/{dashboard_widget → container_widget}/create_widget_payload.schema.json +244 -46
  26. package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/Outcomes.d.ts.map +1 -1
  27. package/dist/src/schemas/container_widget/dataLoaders/index.d.ts.map +1 -0
  28. package/dist/src/schemas/{dashboard_widget → container_widget}/i18n.d.ts.map +1 -1
  29. package/dist/src/schemas/{dashboard_widget → container_widget}/index.d.ts.map +1 -1
  30. package/dist/src/schemas/container_widget/types.d.ts +184 -0
  31. package/dist/src/schemas/container_widget/types.d.ts.map +1 -0
  32. package/dist/src/schemas/{dashboard_widget → container_widget}/update_widget_payload.schema.json +156 -28
  33. package/dist/src/schemas/container_widget/widgetTypes/ContainerWidgetProps.d.ts +6 -0
  34. package/dist/src/schemas/container_widget/widgetTypes/ContainerWidgetProps.d.ts.map +1 -0
  35. package/dist/src/schemas/container_widget/widgetTypes/ModalProps.d.ts +17 -0
  36. package/dist/src/schemas/container_widget/widgetTypes/ModalProps.d.ts.map +1 -0
  37. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/PatientListProps.d.ts +17 -1
  38. package/dist/src/schemas/container_widget/widgetTypes/PatientListProps.d.ts.map +1 -0
  39. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/SectionCardProps.d.ts.map +1 -1
  40. package/dist/src/schemas/container_widget/widgetTypes/SidebarProps.d.ts +20 -0
  41. package/dist/src/schemas/container_widget/widgetTypes/SidebarProps.d.ts.map +1 -0
  42. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/ValueCardProps.d.ts +2 -2
  43. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/ValueCardProps.d.ts.map +1 -1
  44. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/index.d.ts +3 -1
  45. package/dist/src/schemas/container_widget/widgetTypes/index.d.ts.map +1 -0
  46. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/Generic.d.ts.map +1 -1
  47. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconPresentationWidget.d.ts.map +1 -1
  48. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.d.ts.map +1 -1
  49. package/dist/src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts +15 -0
  50. package/dist/src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts.map +1 -0
  51. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/ListPresentationWidget.d.ts.map +1 -1
  52. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/TextPresentationWidget.d.ts.map +1 -1
  53. package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/index.d.ts.map +1 -1
  54. package/dist/src/schemas/index.d.ts +1 -1
  55. package/dist/src/schemas/user_settings/GenericStringSetting.schema.json +9 -0
  56. package/dist/src/schemas/user_settings/types.d.ts +4 -0
  57. package/dist/src/schemas/user_settings/types.d.ts.map +1 -1
  58. package/dist/src/v2/modules/project/thryve/index.d.ts +4 -0
  59. package/dist/src/v2/modules/project/thryve/index.d.ts.map +1 -0
  60. package/dist/src/v2/modules/project/thryve/thryve.controller.d.ts +5 -0
  61. package/dist/src/v2/modules/project/thryve/thryve.controller.d.ts.map +1 -0
  62. package/dist/src/v2/modules/project/thryve/thryve.controller.e2e.d.ts +2 -0
  63. package/dist/src/v2/modules/project/thryve/thryve.controller.e2e.d.ts.map +1 -0
  64. package/dist/src/v2/modules/project/thryve/thryve.controller.test.d.ts +2 -0
  65. package/dist/src/v2/modules/project/thryve/thryve.controller.test.d.ts.map +1 -0
  66. package/dist/src/v2/modules/project/thryve/thryve.schema.d.ts +10 -0
  67. package/dist/src/v2/modules/project/thryve/thryve.schema.d.ts.map +1 -0
  68. package/dist/src/v2/modules/project/thryve/thryve.service.d.ts +30 -0
  69. package/dist/src/v2/modules/project/thryve/thryve.service.d.ts.map +1 -0
  70. package/dist/src/v2/modules/project/thryve/thryve.service.test.d.ts +2 -0
  71. package/dist/src/v2/modules/project/thryve/thryve.service.test.d.ts.map +1 -0
  72. package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/thryve/index.d.ts +3 -0
  73. package/dist/src/v2/routes/v2/ecosystem/_ecosystemName/project/_projectName/thryve/index.d.ts.map +1 -0
  74. package/dist/v1/perseed-api.cjs +67 -14
  75. package/dist/v1/perseed-api.cjs.map +1 -1
  76. package/dist/v1/perseed-api.mjs +67 -14
  77. package/dist/v1/perseed-api.mjs.map +1 -1
  78. package/package.json +1 -1
  79. package/dist/src/Services/DashboardWidgetService.d.ts +0 -14
  80. package/dist/src/Services/DashboardWidgetService.d.ts.map +0 -1
  81. package/dist/src/models/ecosystem/DashboardWidget.d.ts.map +0 -1
  82. package/dist/src/schemas/dashboard_widget/dataLoaders/index.d.ts.map +0 -1
  83. package/dist/src/schemas/dashboard_widget/types.d.ts +0 -137
  84. package/dist/src/schemas/dashboard_widget/types.d.ts.map +0 -1
  85. package/dist/src/schemas/dashboard_widget/widgetTypes/DashboardProps.d.ts +0 -6
  86. package/dist/src/schemas/dashboard_widget/widgetTypes/DashboardProps.d.ts.map +0 -1
  87. package/dist/src/schemas/dashboard_widget/widgetTypes/PatientListProps.d.ts.map +0 -1
  88. package/dist/src/schemas/dashboard_widget/widgetTypes/index.d.ts.map +0 -1
  89. package/dist/src/schemas/dashboard_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts +0 -7
  90. package/dist/src/schemas/dashboard_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.d.ts.map +0 -1
  91. /package/dist/src/schemas/{dashboard_widget → container_widget}/col.d.ts +0 -0
  92. /package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/Outcomes.d.ts +0 -0
  93. /package/dist/src/schemas/{dashboard_widget → container_widget}/dataLoaders/index.d.ts +0 -0
  94. /package/dist/src/schemas/{dashboard_widget → container_widget}/i18n.d.ts +0 -0
  95. /package/dist/src/schemas/{dashboard_widget → container_widget}/index.d.ts +0 -0
  96. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/SectionCardProps.d.ts +0 -0
  97. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/Generic.d.ts +0 -0
  98. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconPresentationWidget.d.ts +0 -0
  99. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.d.ts +0 -0
  100. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/ListPresentationWidget.d.ts +0 -0
  101. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/TextPresentationWidget.d.ts +0 -0
  102. /package/dist/src/schemas/{dashboard_widget → container_widget}/widgetTypes/presentationWidgetTypes/index.d.ts +0 -0
@@ -1213,19 +1213,28 @@ const LOCALE_LANG_CODES = [
1213
1213
  ];
1214
1214
  const FORMS_VIEW = "forms";
1215
1215
  const HISTORY_VIEW = "history";
1216
- var DashboardWidgetType = /* @__PURE__ */ ((DashboardWidgetType2) => {
1217
- DashboardWidgetType2["VALUECARD"] = "ValueCard";
1218
- DashboardWidgetType2["SECTIONCARD"] = "SectionCard";
1219
- DashboardWidgetType2["PATIENTLIST"] = "PatientList";
1220
- DashboardWidgetType2["DASHBOARD"] = "Dashboard";
1221
- DashboardWidgetType2["QUESTIONNAIRE_LOG"] = "QuestionnaireLog";
1222
- DashboardWidgetType2["PATIENTS_PROGRAMS"] = "PatientsPrograms";
1223
- DashboardWidgetType2["PATIENTS"] = "Patients";
1224
- DashboardWidgetType2["ADHERENCE_SUMMARY"] = "AdherenceSummary";
1225
- DashboardWidgetType2["FORM_LIST"] = "FormList";
1226
- DashboardWidgetType2["FORMS_LIST"] = "FormsList";
1227
- return DashboardWidgetType2;
1228
- })(DashboardWidgetType || {});
1216
+ var ContainerType = /* @__PURE__ */ ((ContainerType2) => {
1217
+ ContainerType2["DASHBOARD"] = "Dashboard";
1218
+ ContainerType2["MODAL"] = "Modal";
1219
+ ContainerType2["SIDEBAR"] = "Sidebar";
1220
+ return ContainerType2;
1221
+ })(ContainerType || {});
1222
+ var WidgetType = /* @__PURE__ */ ((WidgetType2) => {
1223
+ WidgetType2["VALUECARD"] = "ValueCard";
1224
+ WidgetType2["SECTIONCARD"] = "SectionCard";
1225
+ WidgetType2["PATIENTLIST"] = "PatientList";
1226
+ WidgetType2["QUESTIONNAIRE_LOG"] = "QuestionnaireLog";
1227
+ WidgetType2["PATIENTS_PROGRAMS"] = "PatientsPrograms";
1228
+ WidgetType2["PATIENTS"] = "Patients";
1229
+ WidgetType2["ADHERENCE_SUMMARY"] = "AdherenceSummary";
1230
+ WidgetType2["FORM_LIST"] = "FormList";
1231
+ WidgetType2["FORMS_LIST"] = "FormsList";
1232
+ return WidgetType2;
1233
+ })(WidgetType || {});
1234
+ const ContainerWidgetType = {
1235
+ ...ContainerType,
1236
+ ...WidgetType
1237
+ };
1229
1238
  var DataLoaderType = /* @__PURE__ */ ((DataLoaderType2) => {
1230
1239
  DataLoaderType2["OUTCOMES"] = "outcomes";
1231
1240
  return DataLoaderType2;
@@ -1253,6 +1262,18 @@ var PresentationWidget = /* @__PURE__ */ ((PresentationWidget2) => {
1253
1262
  PresentationWidget2["LINK"] = "link";
1254
1263
  return PresentationWidget2;
1255
1264
  })(PresentationWidget || {});
1265
+ var AggregationType = /* @__PURE__ */ ((AggregationType2) => {
1266
+ AggregationType2["FIRST"] = "first";
1267
+ AggregationType2["LAST"] = "last";
1268
+ AggregationType2["POSITION"] = "position";
1269
+ AggregationType2["AVG"] = "avg";
1270
+ AggregationType2["SUM"] = "sum";
1271
+ AggregationType2["MIN"] = "min";
1272
+ AggregationType2["MAX"] = "max";
1273
+ AggregationType2["MEDIAN"] = "median";
1274
+ AggregationType2["STDDEV"] = "stddev";
1275
+ return AggregationType2;
1276
+ })(AggregationType || {});
1256
1277
  var IconPosition = /* @__PURE__ */ ((IconPosition2) => {
1257
1278
  IconPosition2["UP"] = "up";
1258
1279
  IconPosition2["DOWN"] = "down";
@@ -1260,6 +1281,31 @@ var IconPosition = /* @__PURE__ */ ((IconPosition2) => {
1260
1281
  IconPosition2["RIGHT"] = "right";
1261
1282
  return IconPosition2;
1262
1283
  })(IconPosition || {});
1284
+ var LinkType = /* @__PURE__ */ ((LinkType2) => {
1285
+ LinkType2["EXTERNAL"] = "external";
1286
+ LinkType2["INTERNAL"] = "internal";
1287
+ return LinkType2;
1288
+ })(LinkType || {});
1289
+ var ModalSize = /* @__PURE__ */ ((ModalSize2) => {
1290
+ ModalSize2["SMALL"] = "small";
1291
+ ModalSize2["MEDIUM"] = "medium";
1292
+ ModalSize2["LARGE"] = "large";
1293
+ ModalSize2["FULLSCREEN"] = "fullscreen";
1294
+ ModalSize2["CUSTOM"] = "custom";
1295
+ return ModalSize2;
1296
+ })(ModalSize || {});
1297
+ var SidebarPlacement = /* @__PURE__ */ ((SidebarPlacement2) => {
1298
+ SidebarPlacement2["LEFT"] = "left";
1299
+ SidebarPlacement2["RIGHT"] = "right";
1300
+ return SidebarPlacement2;
1301
+ })(SidebarPlacement || {});
1302
+ var SidebarSize = /* @__PURE__ */ ((SidebarSize2) => {
1303
+ SidebarSize2["SMALL"] = "small";
1304
+ SidebarSize2["MEDIUM"] = "medium";
1305
+ SidebarSize2["LARGE"] = "large";
1306
+ SidebarSize2["CUSTOM"] = "custom";
1307
+ return SidebarSize2;
1308
+ })(SidebarSize || {});
1263
1309
  var ApiAction = /* @__PURE__ */ ((ApiAction2) => {
1264
1310
  ApiAction2["QUESTIONNAIRE_CREATE"] = "questionnaire.create";
1265
1311
  ApiAction2["CRF_CREATE"] = "crf.create";
@@ -1386,18 +1432,20 @@ var BulkUploadStatus = /* @__PURE__ */ ((BulkUploadStatus2) => {
1386
1432
  exports.AI_PROCESSING_META_NAMES = AI_PROCESSING_META_NAMES;
1387
1433
  exports.ALL_SELECT_FIELD_TYPES = ALL_SELECT_FIELD_TYPES;
1388
1434
  exports.AUDIT_FLAGS = AUDIT_FLAGS;
1435
+ exports.AggregationType = AggregationType;
1389
1436
  exports.ApiAction = ApiAction;
1390
1437
  exports.BulkUploadStatus = BulkUploadStatus;
1391
1438
  exports.CORE = CORE;
1392
1439
  exports.ColumnType = ColumnType;
1393
1440
  exports.ConditionsFormat = ConditionsFormat;
1441
+ exports.ContainerType = ContainerType;
1442
+ exports.ContainerWidgetType = ContainerWidgetType;
1394
1443
  exports.CountryPhoneCodes = CountryPhoneCodes;
1395
1444
  exports.DATETIME_SHORT_FORMAT = DATETIME_SHORT_FORMAT;
1396
1445
  exports.DATE_FORMAT = DATE_FORMAT;
1397
1446
  exports.DATE_TYPE = DATE_TYPE;
1398
1447
  exports.DEFAULT_CONFIGURATION_PATIENT_LIST = DEFAULT_CONFIGURATION_PATIENT_LIST;
1399
1448
  exports.DYNAMIC_FILE_VALID_FORMATS = DYNAMIC_FILE_VALID_FORMATS;
1400
- exports.DashboardWidgetType = DashboardWidgetType;
1401
1449
  exports.DataLoaderType = DataLoaderType;
1402
1450
  exports.EXCLUDE_FIELDS = EXCLUDE_FIELDS;
1403
1451
  exports.Exporter = Exporter;
@@ -1418,6 +1466,7 @@ exports.IconPosition = IconPosition;
1418
1466
  exports.IntrospectionSchemaFieldType = IntrospectionSchemaFieldType;
1419
1467
  exports.LANG_CODES = LANG_CODES;
1420
1468
  exports.LOCALE_LANG_CODES = LOCALE_LANG_CODES;
1469
+ exports.LinkType = LinkType;
1421
1470
  exports.META_NAMES = META_NAMES;
1422
1471
  exports.META_RESTRICTION = META_RESTRICTION;
1423
1472
  exports.META_STATUS = META_STATUS;
@@ -1426,6 +1475,7 @@ exports.MULTIPLE_SELECTION_SEPARATOR = MULTIPLE_SELECTION_SEPARATOR;
1426
1475
  exports.MULTIPLE_SELECT_FIELD_TYPES = MULTIPLE_SELECT_FIELD_TYPES;
1427
1476
  exports.MYSQL_DATETIME_FORMAT = MYSQL_DATETIME_FORMAT;
1428
1477
  exports.MYSQL_DATE_FORMAT = MYSQL_DATE_FORMAT;
1478
+ exports.ModalSize = ModalSize;
1429
1479
  exports.NOTIFIED_TYPES = NOTIFIED_TYPES;
1430
1480
  exports.NO_FILL_STATUS = NO_FILL_STATUS;
1431
1481
  exports.NUMBER_TYPE = NUMBER_TYPE;
@@ -1453,10 +1503,13 @@ exports.SLIDER_TYPE = SLIDER_TYPE;
1453
1503
  exports.STATUS = STATUS;
1454
1504
  exports.STATUS_FIELD_REGEXP = STATUS_FIELD_REGEXP;
1455
1505
  exports.STATUS_SUFFIX = STATUS_SUFFIX;
1506
+ exports.SidebarPlacement = SidebarPlacement;
1507
+ exports.SidebarSize = SidebarSize;
1456
1508
  exports.TIME_FORMAT = TIME_FORMAT;
1457
1509
  exports.TIME_SCHEMA = TIME_SCHEMA;
1458
1510
  exports.TYPE = TYPE;
1459
1511
  exports.TriggerAction = TriggerAction;
1512
+ exports.WidgetType = WidgetType;
1460
1513
  exports.allCountries = allCountries;
1461
1514
  exports.isNotStatusField = isNotStatusField;
1462
1515
  //# sourceMappingURL=perseed-api.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"perseed-api.cjs","sources":["../../../src/constants/datesFormats.ts","../../../src/constants/Exporter.ts","../../../src/constants/Forms.ts","../../../src/constants/NotifiedTypes.ts","../../../src/constants/PhoneCodes.ts","../../../src/constants/Questionnaire.ts","../../../src/constants/Role.ts","../../../src/constants/SeedPrivilege.ts","../../../src/constants/UserProfile.ts","../../../src/constants/View.ts","../../../src/schemas/dashboard_widget/types.ts","../../../src/schemas/dashboard_widget/widgetTypes/PatientListProps.ts","../../../src/schemas/dashboard_widget/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.ts","../../../src/schemas/notification_configuration/types.ts","../../../src/schemas/notification_configuration/NotifiedAboutInfo.ts","../../../src/schemas/questionnaire/types.ts","../../../src/schemas/process_log/types.ts","../../../src/schemas/bulk_upload/types.ts"],"sourcesContent":["export const DATE_FORMAT = 'YYYY-MM-DD'\nexport const TIME_FORMAT = 'HH:mm:ss'\nexport const SHORT_TIME_FORMAT = 'HH:mm'\nexport const DATETIME_SHORT_FORMAT = 'YYYY-MM-DD HH:mm'\nexport const MYSQL_DATE_FORMAT = DATE_FORMAT\nexport const MYSQL_DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'\n","export const Exporter = {\n PENDING: 'IN_PROGRESS',\n ERROR: 'ERROR',\n SUCCESS: 'COMPLETED',\n AVAILABLE_FORMATS: {\n xls: 0,\n csv: 2,\n spss: 1,\n },\n}\n\nexport default Exporter\n","/**\n * Form constants\n */\nimport { DATE_FORMAT } from './datesFormats'\n\nexport const FIELDS = {\n DECIMAL: 1,\n INTEGER: 2,\n MULTIPLE_SELECTION: 3,\n SELECTION: 4,\n DYNAMIC_SELECTION: 5,\n DATE: 6,\n HEADER: 7,\n SUBHEADER: 8,\n WARNING: 9,\n SUBFORM: 10,\n MEMO: 11,\n TEXT: 12,\n TEXT_AREA: 13,\n YES_NO: 14,\n TIME: 15,\n LINK_HREF: 16,\n COUNTRY: 17,\n HOSPITAL: 18,\n USERS: 19,\n DYNAMIC_FILE: 20,\n DYNAMIC_LINK_HREF: 21,\n SCAN_CODE: 22,\n PARAGRAPH: 23,\n FILE: 24,\n}\n\nexport const FIELD_NAMES = {\n DECIMAL_NAME: 'decimal',\n INTEGER_NAME: 'integer',\n MULTIPLE_SELECTION_NAME: 'multiple_selection',\n SELECTION_NAME: 'selection',\n DYNAMIC_SELECTION_NAME: 'dynamic_selection',\n DATE_NAME: 'date',\n HEADER_NAME: 'header',\n SUBHEADER_NAME: 'subheader',\n WARNING_NAME: 'warning',\n SUBFORM_NAME: 'subform',\n MEMO_NAME: 'memo',\n TEXT_NAME: 'text',\n TEXT_AREA_NAME: 'text_area',\n YES_NO_NAME: 'yes_no',\n TIME_NAME: 'time',\n LINK_HREF_NAME: 'link_href',\n COUNTRY_NAME: 'country',\n HOSPITAL_NAME: 'hospital',\n USERS_NAME: 'users',\n DYNAMIC_FILE_NAME: 'dynamic_file',\n DYNAMIC_LINK_HREF_NAME: 'dynamic_link_href',\n SCAN_CODE_NAME: 'scan_code',\n PARAGRAPH_NAME: 'paragraph',\n FILE_NAME: 'file',\n}\n\nexport enum FORM_TYPES {\n STATIC = 0, // Used in perseed-js for static defined forms\n STANDARD = 1,\n FOLLOW_UP = 2,\n ADVERSE_EVENT = 3,\n QUESTIONNAIRE = 5,\n STUDY = 6,\n}\n\nexport const FIELD_NAMES_MAP = () => {\n let fieldTypeNames = {}\n\n // Mapping fields to { field_value : field_name }\n Object.keys(FIELDS).forEach((key) => {\n fieldTypeNames = {\n ...fieldTypeNames,\n [FIELDS[key]]: FIELD_NAMES[`${key}_NAME`],\n }\n })\n return fieldTypeNames\n}\n\nexport const NUMBER_TYPE = ['number', FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\n\nexport const DATE_TYPE = ['date']\n\nexport const OBJECT_TYPE = ['object', FIELD_NAMES.SCAN_CODE_NAME]\n\nexport const CORE = {\n CREATION_TIME: 'creation_time',\n CREATION_USER: 'creation_user',\n CRF_NAME: 'crf_name',\n CRF_STATUS: 'crf_status',\n HOSPITAL: 'hospital',\n HOSPITAL_STATUS: 'hospital_status',\n ID: 'id',\n LOCK_STATE: 'lock_state',\n LOCK_USER: 'lock_user',\n LOCK_DATE: 'lock_date',\n MODIFICATION_TIME: 'mod_time',\n MODIFICATION_USER: 'mod_user',\n PATIENT_ID: 'patient_id',\n PATIENT_NUMBER: 'patient_number',\n PATIENT_NUMBER_STATUS: 'patient_number_status',\n RECORD_ID: 'record_id',\n SIGNATURE_DATE: 'signature_date',\n SIGNATURE_STATE: 'signature_state',\n SIGNATURE_USER: 'signature_user',\n STATUS: 'status',\n USER_IP: 'user_ip',\n DATE_OF_QUESTIONNAIRE: 'date_of_questionnaire',\n TIME_OF_QUESTIONNAIRE: 'time_of_questionnaire',\n VERSION: 'version',\n REFERENCE: 'reference',\n SUBFORM_ID: 'subform_id',\n}\n\nexport const EXCLUDE_FIELDS = Object.values(CORE)\n\nexport const AUDIT_FLAGS = {\n added: 'A',\n edited: 'E',\n deleted: 'D',\n}\nexport const FORM_NAMES = {\n PATIENT: 'patient',\n SEPARATOR: '_',\n}\nexport const FORM_SUFFIX = {\n AUDIT: 'audit',\n}\n\nexport const MULTIPLE_SELECTION_SEPARATOR = '~'\n/**\n * @deprecated Use STATUS_SUFFIX instead\n * @type {string}\n */\nexport const FIELD_SUFFIX = '_status'\nexport const STATUS_SUFFIX = '_status'\nexport const FIELD_STATUS = {\n filled: 'filled',\n unk: 'UNK',\n na: 'NA',\n nd: 'ND',\n}\n\n// fieldName.endsWidth(STATUS_SUFFIX) is not valid as status field tester because fields like crf_status\nexport const STATUS_FIELD_REGEXP = /^[0-9a-f]{33}_status$/\nexport const isNotStatusField = function (fieldName) {\n return !STATUS_FIELD_REGEXP.test(fieldName)\n}\n\nexport const NO_FILL_STATUS = ['UNK', 'NA', 'ND']\n\nexport const TIME_SCHEMA = '^[0-1][0-9]:[0-5][0-9]$|^[0-2][0-3]:[0-5][0-9]$' // HH:mm\n\nexport const META_NAMES = {\n DEPENDENT_SOURCE: 'dependent_source',\n ENCRYPTED: 'encrypted',\n ENCRYPTED_LEVEL: 'encrypted_level',\n EXTERNAL_SHARING: 'external_sharing',\n SHOW_EMBEDDED_PDF: 'show_embedded_pdf',\n HIDDEN: 'hidden',\n IS_CRF_MAIN_FIELD: 'is_crf_main_field',\n MIN_VALUE: 'min-value',\n MIN_VALUE_VALIDATION: 'validation_of_less_than',\n MAX_VALUE: 'max-value',\n MAX_VALUE_VALIDATION: 'validation_of_higher_than',\n NEXT_FORM: 'next_form',\n MULTIPLE: 'is_multiple',\n ORDER: 'order',\n READ_ONLY: 'readonly',\n REQUIRED: 'is_required',\n REQUIRED_TYPE: 'type_of_required',\n SELECTION_VALUE: 'value_of_selection',\n SELECTION_VALUE_SLIDER: 'value_of_selection_slider',\n SOURCE_FIELD: 'source_field',\n TYPE: 'type',\n TYPE_QUESTIONARY: 'questionary',\n QUESTION_DAYS: 'question_days',\n QUESTION_TIME: 'question_time',\n QUESTION_HOURS: 'question_hours',\n QUESTION_MINUTES: 'question_minutes',\n REMINDER_DAYS: 'reminder_days',\n REMINDER_HOURS: 'reminder_hours',\n REMINDER_MINUTES: 'reminder_minutes',\n REMINDER_SUBJECT: 'reminder_subject',\n REMINDER_MESSAGE: 'reminder_message',\n MAX_NUMBER_REMINDER: 'max_number_reminder',\n NUMBER_QUESTION_PAGE: 'number_question_page',\n UNTIL: 'until',\n NUMBER_OF_QUESTIONAIRES: 'number_of_questionaires',\n QUESTION_COMMENTS: 'question_comments',\n TYPE_OF_QUESTIONNAIRE: 'type_of_questionnaire',\n HISTORY_OF_QUESTIONNAIRE: 'history_of_questionnaire',\n HISTORY: 'history',\n CRF_HISTORY: 'crf_history',\n PROCEDURE_CONDITION: 'procedure_condition',\n HREF_VALUE: 'href_value',\n HREF_TYPE: 'href_type',\n SIZE: 'size',\n FILE_TYPE: 'file_type',\n INPUT_TYPE: 'input_type',\n PARAGRAPH_CONTENT: 'paragraph_content',\n FILE_VALUE: 'file_value',\n WINDOW_REFERENCE: 'window_reference',\n START_DATE_DAYS: 'start_date_days',\n HAS_DEFAULT_VALUE: 'has_default_value',\n SPECIFIC_VALUE: 'specific_value',\n DEFAULT_VALUE: 'default_value',\n UNIQUE: 'unique',\n HELP: 'help',\n SELECTOR_TYPE: 'selector_type',\n SLIDER_SELECTOR: 'slider_selector',\n SLIDER_SCALE_ORIENTATION: 'slider_scale_orientation',\n UNTIL_DATE: 'until',\n PAGE_BREAK: 'page_break',\n WINDOW_BEFORE: 'window_before',\n WINDOW_AFTER: 'window_after',\n WINDOW_PERIOD: 'window_period',\n AI_PROCESSING_CONTEXT: 'ai_processing_context',\n AI_EXTRACTION_RELATED_FIELD: 'ai_extraction_related_field',\n AI_EXTRACTION_CONTEXT: 'ai_extraction_context',\n AI_ANONYMIZATION_NEEDED: 'ai_anonymization_needed',\n PROCESSING_FILE: 'processing_file',\n PROCESSING_FILE_ORIGINAL: 'processing_file_original',\n PROCESSING_FILE_DELETE_ORIGINAL_ON_FINISH: 'processing_file_delete_original_on_finish',\n PROC_ANONYMIZE: 'proc_anonymize',\n PROC_EXTRACTION: 'proc_extraction',\n}\n\nconst FIELD_METAS_TO_INCLUDE_IN_RESPONSE = [META_NAMES.PROCESSING_FILE]\n\nexport const AI_PROCESSING_META_NAMES = [META_NAMES.PROC_ANONYMIZE, META_NAMES.PROC_EXTRACTION]\n\nexport const META_RESTRICTION = {\n STRICT: 'strict',\n FLEXIBLE: 'flexible',\n}\nexport const META_STATUS = {\n ACTIVE: '1',\n}\n\nexport const SELECTOR_TYPE = {\n SLIDER: 'slider',\n DROPDOWN: 'dropdown',\n RADIO_BUTTON: 'radio_button',\n CHECK_BOX: 'check_box',\n}\n\nexport const SLIDER_TYPE = {\n STARS: '0',\n SCALE_RATING: '1',\n IMAGES: '2',\n}\n\nexport const SLIDER_SELECTOR_TYPE = {\n [SLIDER_TYPE.STARS]: 'stars',\n [SLIDER_TYPE.SCALE_RATING]: 'scale',\n [SLIDER_TYPE.IMAGES]: 'images',\n}\n\nexport const SLIDER_SCALE_TYPE = {\n HORIZONTAL: '0',\n VERTICAL: '1',\n}\n\nexport const SLIDER_SCALE_ORIENTATION_TYPE = {\n [SLIDER_SCALE_TYPE.HORIZONTAL]: 'horizontal',\n [SLIDER_SCALE_TYPE.VERTICAL]: 'vertical',\n}\n\nexport const HREF_TYPE = {\n NEW_WINDOW: 'newwindow',\n EMBEDDED_HTML: 'embeddedhtml',\n}\n\nexport const DYNAMIC_FILE_VALID_FORMATS = {\n 1: ['image/jpg', 'image/jpeg', 'image/bmp', 'image/gif', 'image/png'], // Images\n 2: [\n 'application/pdf',\n 'application/x-pdf',\n 'text/csv',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.oasis.opendocument.text',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ], // Documents\n 3: ['application/pdf', 'application/x-pdf'], // PDF\n 4: [\n 'application/dicom',\n 'application/gzip',\n 'application/x-gzip',\n 'application/tar',\n 'application/tar+gzip',\n 'application/zip',\n 'application/x-rar-compressed',\n 'application/x-zip-compressed',\n 'application/x-7z-compressed',\n 'application/octet-stream',\n ], // DICOM\n 5: [\n 'video/x-msvideo',\n 'video/x-mkv',\n 'video/x-matroska',\n 'video/mpeg',\n 'video/mpeg4',\n 'video/mpg',\n 'video/ogg',\n 'video/webm',\n 'video/3gpp',\n 'video/3gpp2',\n 'video/mp4',\n 'video/divx',\n 'video/avi',\n 'video/quicktime',\n 'video/x-ms-wmv',\n 'video/x-flv',\n ], // Video\n}\n\nexport const DEFAULT_CONFIGURATION_PATIENT_LIST = [\n {\n id: '1',\n name: 'patient_number',\n type: 'Zend\\\\Form\\\\Element\\\\Text',\n label: 'Patient Id',\n required: '1',\n crf_name: 'patient',\n status: '1',\n },\n {\n type: '4',\n name: 'hospital',\n label: 'Hospital',\n required: '0',\n id: '2',\n crf_name: 'patient',\n status: '1',\n },\n {\n id: '1000000001',\n name: 'procedure',\n type: 'customzation',\n label: 'Procedures',\n required: '1',\n crf_name: '',\n status: '1',\n },\n]\n\nexport const SELECT_FIELD_TYPES = [\n FIELD_NAMES.SELECTION_NAME,\n FIELD_NAMES.DYNAMIC_SELECTION_NAME,\n ...Object.values(SELECTOR_TYPE),\n]\nexport const MULTIPLE_SELECT_FIELD_TYPES = [FIELD_NAMES.MULTIPLE_SELECTION_NAME]\nexport const NUMERIC_FIELD_TYPES = [FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\nexport const ALL_SELECT_FIELD_TYPES = [...SELECT_FIELD_TYPES, ...MULTIPLE_SELECT_FIELD_TYPES]\n\nconst Forms = {\n FIELDS,\n FIELD_NAMES,\n FORM_TYPES,\n FIELD_NAMES_MAP,\n NUMBER_TYPE,\n DATE_TYPE,\n OBJECT_TYPE,\n CORE,\n EXCLUDE_FIELDS,\n AUDIT_FLAGS,\n FORM_NAMES,\n FORM_SUFFIX,\n MULTIPLE_SELECTION_SEPARATOR,\n FIELD_SUFFIX,\n STATUS_SUFFIX,\n FIELD_STATUS,\n STATUS_FIELD_REGEXP,\n isNotStatusField,\n NO_FILL_STATUS,\n DATE_FORMAT,\n TIME_SCHEMA,\n META_NAMES,\n META_RESTRICTION,\n META_STATUS,\n SELECTOR_TYPE,\n SLIDER_TYPE,\n SLIDER_SELECTOR_TYPE,\n SLIDER_SCALE_TYPE,\n SLIDER_SCALE_ORIENTATION_TYPE,\n HREF_TYPE,\n DYNAMIC_FILE_VALID_FORMATS,\n DEFAULT_CONFIGURATION_PATIENT_LIST,\n FIELD_METAS_TO_INCLUDE_IN_RESPONSE,\n}\n\nexport default Forms\n","export const NOTIFIED_TYPES = {\n EMAIL: 1,\n MOBILE: 2,\n PLATFORM: 3,\n SMS: 4,\n HL7: 5,\n ALL: ['1', '2', '3', '4', '5'],\n}\n","// copied from https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/src/js/data.js\n\n// Array of country objects for the flag dropdown.\n\n// Here is the criteria for the plugin to support a given country/territory\n// - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n// - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n// - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n// - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n\n// Each country array has the following information:\n// [\n// Country name,\n// iso2 code,\n// International dial code,\n// Order (if >1 country with same dial code),\n// Area codes\n// ]\nexport const allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']],\n]\n\n// loop over all of the countries above, restructuring the data to be objects with named keys\n/* for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n} */\n\nexport const CountryPhoneCodes = allCountries.reduce((acc, c) => {\n const key = c[1] as string\n acc[key] = c[2]\n return acc\n}, {})\n\nexport default CountryPhoneCodes\n","export enum STATUS {\n CLOSED = 'Closed',\n OPEN = 'Open',\n COMING_SOON = 'Coming soon',\n}\n\nexport const HISTORY = {\n PERMANENT: 'Permanent',\n TEMPORARY: 'Temporary',\n}\n\nexport const TYPE = {\n QOL: 'QoL',\n TASK: 'Task',\n}\n\nexport type QuestionnaireTypeValue = 'QoL' | 'Task'\n\nexport const QUESTIONNAIRE_TYPE_OPTIONS = {\n '0': TYPE.QOL,\n '1': TYPE.TASK,\n}\n\nexport const HISTORY_TYPE_OPTIONS = {\n '0': HISTORY.PERMANENT,\n '1': HISTORY.TEMPORARY,\n}\nexport const QUESTIONNAIRE_DATE = {\n DATE: 'date_of_questionnaire',\n TIME: 'time_of_questionnaire',\n}\n\nexport const QUESTIONNAIRE_TYPE = {\n TYPE: 'type_of_questionnaire',\n}\n\nconst Questionnaire = {\n STATUS,\n HISTORY,\n TYPE,\n QUESTIONNAIRE_TYPE_OPTIONS,\n HISTORY_TYPE_OPTIONS,\n QUESTIONNAIRE_DATE,\n QUESTIONNAIRE_TYPE,\n}\n\nexport default Questionnaire\n","export const ROLES = {\n PERSEED_ADMIN: 'PerseedAdmin',\n ECOSYSTEM_ADMIN: 'EcosystemAdmin',\n USER: 'Users',\n SALE: 'Sales',\n}\n","/**\n * Seed Privilege constants\n */\n\nexport const SEED_PRIVILEGE = {\n ADD_PATIENT: 'add_patient',\n ADD_REPEATABLE_CRF: 'add_repeat_crf',\n ADVANCED_FILTER: 'advanced_filter',\n ALL_PATIENT_LIST: 'all_patient_list',\n ALLOW_TO_CONTROL_THESE_PROFILES: 'core_control_profile',\n CONNECTOR_ADD_CP: 'connector_add_cp',\n CONNECTOR_ADD_CRF: 'connector_add_crf',\n CONNECTOR_ADD_FIELD: 'connector_add_field',\n CORE_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'core_not_allow_access_sensitive_info',\n CORE_NOTIFICATION_LOG: 'core_notification_log',\n CORE_NOTIFICATION_MY_LOG: 'core_notification_my_log',\n DELETE_PATIENT: 'delete_patient',\n FULL_DELETE_PATIENT: 'full_delete_patient',\n DELETE_REPEATABLE_CRF: 'delete_crf',\n EXPORT_ANONYMIZED: 'export_anonymized',\n ENABLE_CP: 'enable_cp',\n EXPORT_MY_HOSPITALS: 'export_my_hospitals',\n EXPORT_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'export_not_allow_access_sensitive_info',\n EXPORT_USER_TIMESTAMP: 'export_user_timestamp',\n EXPORT_RAW: 'export_raw',\n FILTER_ALL: 'filter_all',\n FILTER_MY_HOSPITALS: 'filter_my_hospitals',\n MANAGE_USERS: 'core_manage_user',\n CORE_PRO_USER_SENSITIVE_INFO: 'core_pro_user_sensitive_info',\n NOTIFICATIONS: 'core_notification_seed',\n ONLY_MY_PATIENTS: 'only_my_patients',\n ONLY_UPDATE_PATIENTS_API: 'only_update_patients',\n PRO_USER: 'core_pro_user',\n USERS_MANAGEMENT_FOR_MY_ORGANIZATIONS: 'core_manage_user_hospital',\n UPLOAD_DOCUMENTS: 'add',\n DELETE_DOCUMENTS: 'delete',\n READ_DOCUMENTS: 'read',\n DISPLAY_PATIENT_LIST: 'advanced_patient_list',\n EXPORT_CONFIGURATION_EXPLICIT_ACCESS: 'export_configurations_explicit_access_only',\n TRIGGERS_MANAGEMENT: 'triggers_management',\n DASHBOARD_SETTINGS_MANAGEMENT: 'dashboard_settings_manage_all',\n DASHBOARD_SETTINGS_OWN_MANAGEMENT: 'dashboard_settings_manage_own',\n DASHBOARD_SETTINGS_READ_ONLY: 'dashboard_settings_read_only',\n DASHBOARD_FOLLOWUP_ALL: 'dashboard_followup_access_all',\n DASHBOARD_FOLLOWUP_OWN: 'dashboard_followup_access_own',\n DASHBOARD_FOLLOWUP_ASSIGNED: 'dashboard_followup_access_assigned',\n CORE_MANAGE_ORGANIZATION: 'core_manage_organization',\n} as const\n\ntype SEED_PRIVILEGE_Keys = keyof typeof SEED_PRIVILEGE\n\nexport type SEED_PRIVILEGES = typeof SEED_PRIVILEGE[SEED_PRIVILEGE_Keys]\n","export const MINIMIAL_TIMEZONE_LIST = [\n 'Etc/GMT+12',\n 'Pacific/Midway',\n 'Pacific/Honolulu',\n 'America/Juneau',\n 'America/Dawson',\n 'America/Boise',\n 'America/Chihuahua',\n 'America/Phoenix',\n 'America/Chicago',\n 'America/Regina',\n 'America/Mexico_City',\n 'America/Belize',\n 'America/Detroit',\n 'America/Indiana/Indianapolis',\n 'America/Bogota',\n 'America/Glace_Bay',\n 'America/Caracas',\n 'America/Santiago',\n 'America/St_Johns',\n 'America/Sao_Paulo',\n 'America/Argentina/Buenos_Aires',\n 'America/Godthab',\n 'Etc/GMT+2',\n 'Atlantic/Azores',\n 'Atlantic/Cape_Verde',\n 'GMT',\n 'Africa/Casablanca',\n 'Atlantic/Canary',\n 'Europe/Belgrade',\n 'Europe/Sarajevo',\n 'Europe/Brussels',\n 'Europe/Amsterdam',\n 'Africa/Algiers',\n 'Europe/Bucharest',\n 'Africa/Cairo',\n 'Europe/Helsinki',\n 'Europe/Athens',\n 'Asia/Jerusalem',\n 'Africa/Harare',\n 'Europe/Moscow',\n 'Asia/Kuwait',\n 'Africa/Nairobi',\n 'Asia/Baghdad',\n 'Asia/Tehran',\n 'Asia/Dubai',\n 'Asia/Baku',\n 'Asia/Kabul',\n 'Asia/Yekaterinburg',\n 'Asia/Karachi',\n 'Asia/Kolkata',\n 'Asia/Kathmandu',\n 'Asia/Dhaka',\n 'Asia/Colombo',\n 'Asia/Almaty',\n 'Asia/Rangoon',\n 'Asia/Bangkok',\n 'Asia/Krasnoyarsk',\n 'Asia/Shanghai',\n 'Asia/Kuala_Lumpur',\n 'Asia/Taipei',\n 'Australia/Perth',\n 'Asia/Irkutsk',\n 'Asia/Seoul',\n 'Asia/Tokyo',\n 'Asia/Yakutsk',\n 'Australia/Darwin',\n 'Australia/Adelaide',\n 'Australia/Sydney',\n 'Australia/Brisbane',\n 'Australia/Hobart',\n 'Asia/Vladivostok',\n 'Pacific/Guam',\n 'Asia/Magadan',\n 'Pacific/Fiji',\n 'Pacific/Auckland',\n 'Pacific/Tongatapu',\n]\nexport const LANG_CODES = [\n 'ab',\n 'aa',\n 'af',\n 'ak',\n 'sq',\n 'am',\n 'ar',\n 'an',\n 'hy',\n 'as',\n 'av',\n 'ae',\n 'ay',\n 'az',\n 'bm',\n 'ba',\n 'eu',\n 'be',\n 'bn',\n 'bh',\n 'bi',\n 'bs',\n 'br',\n 'bg',\n 'my',\n 'ca',\n 'ch',\n 'ce',\n 'ny',\n 'zh',\n 'cv',\n 'kw',\n 'co',\n 'cr',\n 'hr',\n 'cs',\n 'da',\n 'dv',\n 'nl',\n 'dz',\n 'en',\n 'eo',\n 'et',\n 'ee',\n 'fo',\n 'fj',\n 'fi',\n 'fr',\n 'ff',\n 'gl',\n 'gd',\n 'gv',\n 'ka',\n 'de',\n 'el',\n 'kl',\n 'gn',\n 'gu',\n 'ht',\n 'ha',\n 'he',\n 'hz',\n 'hi',\n 'ho',\n 'hu',\n 'is',\n 'io',\n 'ig',\n 'id',\n 'ia',\n 'ie',\n 'iu',\n 'ik',\n 'ga',\n 'it',\n 'ja',\n 'jv',\n 'kl',\n 'kn',\n 'kr',\n 'ks',\n 'kk',\n 'km',\n 'ki',\n 'rw',\n 'rn',\n 'ky',\n 'kv',\n 'kg',\n 'ko',\n 'ku',\n 'kj',\n 'lo',\n 'la',\n 'lv',\n 'li',\n 'ln',\n 'lt',\n 'lu',\n 'lg',\n 'lb',\n 'gv',\n 'mk',\n 'mg',\n 'ms',\n 'ml',\n 'mt',\n 'mi',\n 'mr',\n 'mh',\n 'mo',\n 'mn',\n 'na',\n 'nv',\n 'ng',\n 'nd',\n 'ne',\n 'no',\n 'nb',\n 'nn',\n 'ii',\n 'oc',\n 'oj',\n 'cu',\n 'or',\n 'om',\n 'os',\n 'pi',\n 'ps',\n 'fa',\n 'pl',\n 'pt',\n 'pa',\n 'qu',\n 'rm',\n 'ro',\n 'ru',\n 'se',\n 'sm',\n 'sg',\n 'sa',\n 'sr',\n 'sh',\n 'st',\n 'tn',\n 'sn',\n 'ii',\n 'sd',\n 'si',\n 'ss',\n 'sk',\n 'sl',\n 'so',\n 'nr',\n 'es',\n 'su',\n 'sw',\n 'ss',\n 'sv',\n 'tl',\n 'ty',\n 'tg',\n 'ta',\n 'tt',\n 'te',\n 'th',\n 'bo',\n 'ti',\n 'to',\n 'ts',\n 'tr',\n 'tk',\n 'tw',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'cy',\n 'wo',\n 'fy',\n 'xh',\n 'ji',\n 'yo',\n 'za',\n 'zu',\n]\nexport const LOCALE_LANG_CODES = [\n 'af_ZA',\n 'am_ET',\n 'ar_AE',\n 'ar_BH',\n 'ar_DZ',\n 'ar_EG',\n 'ar_IQ',\n 'ar_JO',\n 'ar_KW',\n 'ar_LB',\n 'ar_LY',\n 'ar_MA',\n 'arn_CL',\n 'ar_OM',\n 'ar_QA',\n 'ar_SA',\n 'ar_SY',\n 'ar_TN',\n 'ar_YE',\n 'as_IN',\n 'az_Cyrl_AZ',\n 'az_Latn_AZ',\n 'ba_RU',\n 'be_BY',\n 'bg_BG',\n 'bn_BD',\n 'bn_IN',\n 'bo_CN',\n 'br_FR',\n 'bs_Cyrl_BA',\n 'bs_Latn_BA',\n 'ca_ES',\n 'co_FR',\n 'cs_CZ',\n 'cy_GB',\n 'da_DK',\n 'de_AT',\n 'de_CH',\n 'de_DE',\n 'de_LI',\n 'de_LU',\n 'dsb_DE',\n 'dv_MV',\n 'el_GR',\n 'en_029',\n 'en_AU',\n 'en_BZ',\n 'en_CA',\n 'en_GB',\n 'en_IE',\n 'en_IN',\n 'en_JM',\n 'en_MY',\n 'en_NZ',\n 'en_PH',\n 'en_SG',\n 'en_TT',\n 'en_US',\n 'en_ZA',\n 'en_ZW',\n 'es_AR',\n 'es_BO',\n 'es_CL',\n 'es_CO',\n 'es_CR',\n 'es_DO',\n 'es_EC',\n 'es_ES',\n 'es_GT',\n 'es_HN',\n 'es_MX',\n 'es_NI',\n 'es_PA',\n 'es_PE',\n 'es_PR',\n 'es_PY',\n 'es_SV',\n 'es_US',\n 'es_UY',\n 'es_VE',\n 'et_EE',\n 'eu_ES',\n 'fa_IR',\n 'fi_FI',\n 'fil_PH',\n 'fo_FO',\n 'fr_BE',\n 'fr_CA',\n 'fr_CH',\n 'fr_FR',\n 'fr_LU',\n 'fr_MC',\n 'fy_NL',\n 'ga_IE',\n 'gd_GB',\n 'gl_ES',\n 'gsw_FR',\n 'gu_IN',\n 'ha_Latn_NG',\n 'he_IL',\n 'hi_IN',\n 'hr_BA',\n 'hr_HR',\n 'hsb_DE',\n 'hu_HU',\n 'hy_AM',\n 'id_ID',\n 'ig_NG',\n 'ii_CN',\n 'is_IS',\n 'it_CH',\n 'it_IT',\n 'iu_Cans_CA',\n 'iu_Latn_CA',\n 'ja_JP',\n 'ka_GE',\n 'kk_KZ',\n 'kl_GL',\n 'km_KH',\n 'kn_IN',\n 'kok_IN',\n 'ko_KR',\n 'ky_KG',\n 'lb_LU',\n 'lo_LA',\n 'lt_LT',\n 'lv_LV',\n 'mi_NZ',\n 'mk_MK',\n 'ml_IN',\n 'mn_MN',\n 'mn_Mong_CN',\n 'moh_CA',\n 'mr_IN',\n 'ms_BN',\n 'ms_MY',\n 'mt_MT',\n 'nb_NO',\n 'ne_NP',\n 'nl_BE',\n 'nl_NL',\n 'nn_NO',\n 'nso_ZA',\n 'oc_FR',\n 'or_IN',\n 'pa_IN',\n 'pl_PL',\n 'prs_AF',\n 'ps_AF',\n 'pt_BR',\n 'pt_PT',\n 'qut_GT',\n 'quz_BO',\n 'quz_EC',\n 'quz_PE',\n 'rm_CH',\n 'ro_RO',\n 'ru_RU',\n 'rw_RW',\n 'sah_RU',\n 'sa_IN',\n 'se_FI',\n 'se_NO',\n 'se_SE',\n 'si_LK',\n 'sk_SK',\n 'sl_SI',\n 'sma_NO',\n 'sma_SE',\n 'smj_NO',\n 'smj_SE',\n 'smn_FI',\n 'sms_FI',\n 'sq_AL',\n 'sr_Cyrl_BA',\n 'sr_Cyrl_CS',\n 'sr_Cyrl_ME',\n 'sr_Cyrl_RS',\n 'sr_Latn_BA',\n 'sr_Latn_CS',\n 'sr_Latn_ME',\n 'sr_Latn_RS',\n 'sv_FI',\n 'sv_SE',\n 'sw_KE',\n 'syr_SY',\n 'ta_IN',\n 'te_IN',\n 'tg_Cyrl_TJ',\n 'th_TH',\n 'tk_TM',\n 'tn_ZA',\n 'tr_TR',\n 'tt_RU',\n 'tzm_Latn_DZ',\n 'ug_CN',\n 'uk_UA',\n 'ur_PK',\n 'uz_Cyrl_UZ',\n 'uz_Latn_UZ',\n 'vi_VN',\n 'wo_SN',\n 'xh_ZA',\n 'yo_NG',\n 'zh_CN',\n 'zh_HK',\n 'zh_MO',\n 'zh_SG',\n 'zh_TW',\n 'zu_ZA',\n 'fi_FI',\n]\n","// This refers to the views on Mobile app\nexport const FORMS_VIEW = 'forms'\nexport const HISTORY_VIEW = 'history'\n\nconst View = {\n FORMS_VIEW,\n HISTORY_VIEW,\n}\n\nexport default View\n","import { ColProps } from './col'\nimport {\n DashboardProps,\n FormListProps,\n FormsListProps,\n PatientListProps,\n SectionCardProps,\n ValueCardProps,\n} from './widgetTypes'\n\nexport enum DashboardWidgetType {\n VALUECARD = 'ValueCard',\n SECTIONCARD = 'SectionCard',\n PATIENTLIST = 'PatientList',\n DASHBOARD = 'Dashboard',\n QUESTIONNAIRE_LOG = 'QuestionnaireLog',\n PATIENTS_PROGRAMS = 'PatientsPrograms',\n PATIENTS = 'Patients',\n ADHERENCE_SUMMARY = 'AdherenceSummary',\n FORM_LIST = 'FormList',\n FORMS_LIST = 'FormsList', // FORM_LIST V2\n}\n\nexport type WidgetBlockConfig = {\n size?: number | ColProps\n}\n\nexport type DashboardWidgetBlockCreatePayload = {\n parent_id: number | string\n child_id: number\n position: number\n config?: WidgetBlockConfig | null\n}\n\nexport type DashboardBaseWidgetPayload = {\n title: string\n description?: string | null\n weight?: number\n size?: number | ColProps\n library?: boolean\n widgetsBlocks?: DashboardWidgetBlockCreatePayload[]\n}\n\nexport type EmptyProps = Record<string, never>\n\nexport type WidgetTypeProps =\n | { type: DashboardWidgetType.SECTIONCARD; params: SectionCardProps }\n | { type: DashboardWidgetType.VALUECARD; params: ValueCardProps }\n | { type: DashboardWidgetType.PATIENTLIST; params: PatientListProps }\n | { type: DashboardWidgetType.DASHBOARD; params: DashboardProps }\n | { type: DashboardWidgetType.QUESTIONNAIRE_LOG; params: EmptyProps }\n | { type: DashboardWidgetType.PATIENTS_PROGRAMS; params: EmptyProps }\n | { type: DashboardWidgetType.PATIENTS; params: EmptyProps }\n | { type: DashboardWidgetType.ADHERENCE_SUMMARY; params: EmptyProps }\n | { type: DashboardWidgetType.FORM_LIST; params: FormListProps }\n | { type: DashboardWidgetType.FORMS_LIST; params: FormsListProps } // FORM_LIST V2\n\nexport type CreateDashboardWidgetPayload = DashboardBaseWidgetPayload & WidgetTypeProps\n\nexport type UpdateDashboardWidgetPayload = Partial<CreateDashboardWidgetPayload>\n\nexport enum DataLoaderType {\n OUTCOMES = 'outcomes',\n}\n\nexport interface GenericDashboardWidgetDataLoader {\n type: DataLoaderType\n params: Record<string, any>\n}\n\nexport type DashboardWidgetDataLoader<T> = T extends { type: infer Type; params: infer Params }\n ? { type: Type; params: Params }\n : never\n\n// TEMPLATE VERSIONS TO USE IN PERSEED-WEB\n\nexport type BaseDashboardWidgetPayload<T extends DashboardWidgetType | undefined = undefined> = {\n id?: number\n title: string\n description?: string\n type: T | DashboardWidgetType\n library: boolean\n config?: WidgetBlockConfig\n position?: number\n created_user: number\n}\n\nexport type BaseDashboardWidget = BaseDashboardWidgetPayload & WidgetTypeProps\n\nexport type GenericParams = SectionCardProps | ValueCardProps | PatientListProps | DashboardProps\n\nexport type DashboardChildrenWidget<T extends DashboardWidgetType | undefined = undefined> =\n DashboardBaseWidgetPayload &\n BaseDashboardWidgetPayload<T> & {\n id: number\n type: DashboardWidgetType\n params: GenericParams\n }\n\nexport type DashboardWidget<T extends DashboardWidgetType | undefined = undefined> = T extends DashboardWidgetType\n ? {\n id: number\n widgets?: DashboardChildrenWidget[]\n } & DashboardWidgetTypeToParams[T] &\n BaseDashboardWidgetPayload<T>\n : {\n id: number\n params: any\n widgets?: DashboardChildrenWidget[]\n } & BaseDashboardWidgetPayload<T>\n\nexport type DashboardWidgetTypeToParams = {\n [DashboardWidgetType.SECTIONCARD]: {\n params: SectionCardProps\n }\n [DashboardWidgetType.VALUECARD]: {\n params: ValueCardProps\n }\n [DashboardWidgetType.PATIENTLIST]: {\n params: PatientListProps\n }\n [DashboardWidgetType.DASHBOARD]: {\n params: DashboardProps\n }\n [DashboardWidgetType.QUESTIONNAIRE_LOG]: { params: EmptyProps }\n [DashboardWidgetType.PATIENTS_PROGRAMS]: { params: EmptyProps }\n [DashboardWidgetType.PATIENTS]: { params: EmptyProps }\n [DashboardWidgetType.ADHERENCE_SUMMARY]: { params: EmptyProps }\n [DashboardWidgetType.FORM_LIST]: {\n params: FormListProps\n }\n [DashboardWidgetType.FORMS_LIST]: {\n params: FormsListProps\n }\n}\n","import { ConditionsRules } from '../../notification_configuration/types'\nimport {\n IconPresentationWidgetProps,\n IconTextPresentationWidgetProps,\n LinkPresentationWidgetFields,\n TextPresentationWidgetProps,\n} from './presentationWidgetTypes'\nimport { ListPresentationWidgetProps } from './presentationWidgetTypes/ListPresentationWidget'\n\nexport interface PatientListProps {\n loadUserProfiles?: boolean\n loadAdherence?: boolean\n extraFields?: string[]\n loadPushTokens?: boolean\n loadUserAccessData?: boolean\n programId?: number | null\n prevAdherenceDays?: number | null\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n}\n\nexport interface FormListProps {\n fields?: string[]\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n mainForm: string\n}\n\nexport interface SortBy {\n field: string\n orderType: OrderType\n}\n\nexport interface FormListDataConfig {\n fields: string[]\n conditions?: Record<string, unknown>\n limit?: number\n sortBy?: SortBy[]\n mainForm?: boolean\n}\n\nexport interface FormListColumnLayoutConfig {\n widgetType?: PresentationWidget\n title?: string\n source?: string\n widgetSettings?: PresentationWidgetSettingsV2\n hidden?: boolean\n}\n\nexport interface FormListBodyConditionalProps {\n conditions?: string\n continueEvaluate?: boolean\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n}\n\nexport interface FormListAppearanceConfig {\n body?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n conditionalProps?: FormListBodyConditionalProps[]\n }\n header?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n }\n}\n\nexport interface FormListLayoutConfig {\n columns?: FormListColumnLayoutConfig[]\n}\n\n// FORM_LIST V2\nexport interface FormsListProps {\n data: {\n [key: string]: FormListDataConfig\n }\n layout?: FormListLayoutConfig\n appearance?: FormListAppearanceConfig\n}\n\nexport type PresentationWidgetSettingsV2 =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | LinkPresentationWidgetFields\n\nexport type PresentationWidgetSettings =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | ListPresentationWidgetProps\n\nexport interface PatientListColumn {\n hidden?: boolean\n position?: number\n label?: string\n key: string\n notVisible?: boolean\n presentationWidget?: PresentationWidget\n presentationWidgetSettings?: PresentationWidgetSettings\n}\n\nexport interface RelatedConditions {\n conditions?: Record<string, unknown>\n limit?: number | null\n order?: Order[]\n}\n\nexport interface FilterParams {\n conditions?: Record<string, unknown>\n relations?: {\n [key: string]: RelatedConditions\n }\n}\n\nexport interface RelatedDataParams {\n join?: string[]\n}\n\nexport interface CalculatedColumn {\n key: string\n label?: string\n template: string\n notVisible?: boolean\n type: ColumnType\n}\n\nexport interface PatientListAppearance {\n backgroundColor?: PatientListBackgroundColor[]\n order?: Order[]\n}\n\nexport interface PatientListBackgroundColor {\n conditions?: ConditionsRules\n backgroundColor: string\n continueEvaluate?: boolean\n}\n\nexport enum ColumnType {\n TEXT = 'text',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n TIME = 'time',\n DATETIME = 'datetime',\n}\n\nexport interface Order {\n order: OrderType\n orderBy: string\n}\n\nexport enum OrderType {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum PresentationWidget {\n TEXT = 'text',\n ICON = 'icon',\n ICON_TEXT = 'icon_text',\n LIST = 'list',\n REPEATABLE_FIELD = 'repeatable_field',\n LINK = 'link',\n}\n","import { PresentationWidgetWithConditionalProps } from './Generic'\n\nexport type IconTextPresentationWidgetProps = PresentationWidgetWithConditionalProps<IconTextPresentationWidgetFields>\n\nexport interface IconTextPresentationWidgetFields {\n template?: string\n textColor?: string\n icon: string\n iconColor?: string\n iconPosition: IconPosition\n bgColor?: string\n}\n\nexport enum IconPosition {\n UP = 'up',\n DOWN = 'down',\n LEFT = 'left',\n RIGHT = 'right',\n}\n","export type ModelName = string\n\nexport enum ApiAction {\n QUESTIONNAIRE_CREATE = 'questionnaire.create',\n CRF_CREATE = 'crf.create',\n CRF_UPDATE = 'crf.update',\n CRF_DELETE = 'crf.delete',\n EXTERNAL_API_CALL = 'external_api_call',\n LOG_CREATE = 'log.create',\n BULK_UPLOAD_UPDATE = 'bulk_upload.update',\n INVOKE_LAMBDA = 'invoke_lambda',\n}\n\nexport type NotifiedAboutType =\n | `model_${ModelName}`\n | `model_displayer_${ModelName}`\n | `model_${ModelName}_${TriggerAction}`\n | `model_displayer_${ModelName}_${TriggerAction}`\n\nexport interface CreateTriggerPayload {\n notified_about: NotifiedAboutType\n text_content?: string\n configuration?: NotificationConfigurationConf\n}\n\nexport type UpdateTriggerPayload = Partial<CreateTriggerPayload>\n\nexport interface ConditionExpression {\n [field: string]: ConditionValue\n}\n\nexport interface ConditionOperator {\n AND?: Conditions[]\n OR?: Conditions[]\n NOT?: Conditions[]\n JQ?: string\n}\n\nexport type Conditions = ConditionExpression | ConditionOperator\n\nexport interface ConditionValue {\n equal?: string | number | boolean\n not_equal?: string | number | boolean\n contains?: string\n not_contains?: string\n greater_than?: string | number\n less_than?: string | number\n empty?: string | number | boolean\n not_empty?: string | number | boolean\n parseValue?: boolean\n operator?: 'AND' | 'OR'\n}\n\nexport interface LoadPatientDataType {\n join?: string[]\n where: Record<string, string> | 'auto' // { fieldName: JQ query }\n}\n\nexport enum ConditionsFormat {\n JSON_LOGIC = 'jsonLogic',\n CUSTOM = 'custom',\n}\n\n/**\n * Importing the types from json-logic-js makes the process of generating schema.json fails so we use any instead\n */\nexport type ConditionsRules = Conditions | any /* RulesLogic<AdditionalOperation> */\n\nexport interface NotificationConfigurationConf {\n conditions?: ConditionsRules\n join?: string[]\n load_patient?: LoadPatientDataType\n action?: ApiAction\n conditionsFormat?: ConditionsFormat\n}\n\nexport enum TriggerAction {\n CREATION = 'creation',\n UPDATE = 'update',\n}\n\nexport enum IntrospectionSchemaFieldType {\n TEXT = 'text',\n DATE = 'date',\n TIME = 'time',\n BOOLEAN = 'boolean',\n NUMBER = 'number',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n HIDDEN = 'hidden',\n}\n\nexport interface IntrospectionField {\n name: string\n type: IntrospectionSchemaFieldType\n options?: { value: string | number; title: string }[]\n label: string\n}\n\nexport interface IntrospectionOption {\n value: string\n label: string\n}\n\nexport interface IntrospectionSchemaModel {\n label: string\n fields: IntrospectionField[]\n relations?: IntrospectionOption[]\n canJoinPatient?: boolean\n}\n\nexport interface IntrospectionSchema {\n models: Record<string, IntrospectionSchemaModel>\n externalApis?: { value: string; label: string; methods?: string | string[] }[]\n lambdas?: { value: string; label: string }[]\n}\n","import { TriggerAction } from '../index'\n\nexport class NotifiedAboutInfo {\n notified_about: string\n\n constructor(notifiedAbout: string) {\n this.notified_about = notifiedAbout\n }\n\n crfName(): string | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.startsWith('crf_')) {\n return this.notified_about.split('_')[1]\n } else if (this.notified_about.startsWith('Patient')) {\n return 'patient'\n } else {\n return null\n }\n }\n\n actionTrigger(): TriggerAction | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.toLowerCase().endsWith(TriggerAction.UPDATE)) {\n return TriggerAction.UPDATE\n } else if (this.notified_about.toLowerCase().endsWith(TriggerAction.CREATION)) {\n return TriggerAction.CREATION\n }\n return null\n }\n\n isCrfTrigger(): boolean {\n return this.notified_about === PATIENT_CREATION_ABOUT || this.notified_about.startsWith('crf_')\n }\n\n isModelTrigger(): boolean {\n return this.notified_about.startsWith('model_')\n }\n\n isDisplayerTrigger(): boolean {\n return this.notified_about.startsWith('model_displayer_')\n }\n\n isFieldTrigger(): boolean {\n return !isNaN(parseInt(this.notified_about))\n }\n\n getModelName(): string | undefined {\n if (this.isModelTrigger() && !this.isDisplayerTrigger()) {\n // get modelName from 'model_{modelName}_{action}'\n const prefix = 'model_'\n const actionSuffixes = Object.values(TriggerAction)\n\n let modelName = this.notified_about.slice(prefix.length)\n\n for (const suffix of actionSuffixes) {\n if (modelName.endsWith(`_${suffix}`)) {\n modelName = modelName.slice(0, -`_${suffix}`.length)\n break\n }\n }\n\n return modelName\n } else if (this.isDisplayerTrigger()) {\n // Delete all non displayerName parts because can be a subform so it has internal _ in the name\n // Get displayerName from 'model_displayer_{displayerName}_{action}'\n const parts = this.notified_about.split('_')\n\n // If it has action name, delete it\n const lastPart = parts[parts.length - 1]\n if (Object.values(TriggerAction).includes(lastPart as TriggerAction)) {\n parts.pop()\n }\n\n // Ignore the model_displayer_ part and return the rest\n return parts.slice(2).join('_')\n }\n\n return undefined\n }\n\n getModelTriggerAction(): string | null {\n const modelName = this.getModelName()\n if (modelName && this.isDisplayerTrigger()) {\n return this.notified_about\n .replace(`model_displayer_${modelName}_`, '')\n .replace(`model_displayer_${modelName}`, '')\n } else if (modelName && this.isModelTrigger()) {\n return this.notified_about.replace(`model_${modelName}_`, '').replace(`model_${modelName}`, '')\n }\n return null\n }\n}\n\nexport const PATIENT_CREATION_ABOUT = 'Patient Creation'\n","import type { Dayjs } from 'dayjs'\n\nexport interface CreateQuestionnairePayload {\n patientId?: number\n type: 'unique' | 'periodic'\n date: string\n untilDate?: string\n formName: string\n}\n\nexport enum QuestionnaireInfoUpdateMode {\n START_OVER = 0,\n RESUME = 1,\n}\n\nexport interface QuestionnaireInfoUpdateOptions {\n defaultMode: QuestionnaireInfoUpdateMode\n referenceFieldIdModes?: {\n [key: string]: QuestionnaireInfoUpdateMode\n }\n}\n\nexport interface QuestionnaireInfoPatchData {\n crf_name?: string\n patient_id: number\n number_of_questionaries?: number | null\n last_update?: string | null\n last_update_form_id?: number | null\n procedure_date: string // reference date is a date time but should be considered as a date\n activation_date?: Dayjs | string | null // window start\n end_date?: string | null // window end\n next_date?: string | null // next window start\n finish_date?: string | null // global finish date\n questionaries_not_filled?: number | null\n flexible_entry?: number\n field_reference_id?: number | null\n total_tasks: number\n activation_time_tz?: string | null\n}\n\nexport interface QuestionnaireInfoData extends QuestionnaireInfoPatchData {\n id: number\n}\n","export enum ProcessLogType {\n LOG = 0,\n RESULT = 1,\n WARNING = -1,\n ERROR = -2,\n}\n\nexport interface CreateProcessLogPayload {\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n longLog?: string\n extraData?: Record<string, any>\n type: ProcessLogType\n requiresAttention?: boolean\n reviewed?: boolean\n}\n\nexport interface UpdateProcessLogPayload {\n reviewed?: boolean\n}\n\nexport interface ProcessLog {\n id: number\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n type: ProcessLogType\n reviewed?: boolean\n created_user?: number\n related_model?: string\n related_id?: string\n long_log?: string\n extra_data?: Record<string, any>\n requires_attention?: boolean\n reviewed_date?: string\n project_id?: number\n}\n\nexport enum ProcessLogCode {\n BULK_UPLOAD_BATCH = 'bulk_upload_batch',\n BULK_UPLOAD_SUCCESS = 'bulk_upload_success',\n BULK_UPLOAD_ERROR = 'bulk_upload_error',\n}\n\n// TODO Document and type the process log creation and fields!!\n","export interface UpdateBulkUploadPayload {\n id: number\n patientId?: number\n formId?: number\n hospitalId?: number\n}\n\nexport enum BulkUploadStatus {\n error = -1,\n uploaded = 0,\n success = 1,\n}\n"],"names":["FORM_TYPES","STATUS","DashboardWidgetType","DataLoaderType","ColumnType","OrderType","PresentationWidget","IconPosition","ApiAction","ConditionsFormat","TriggerAction","IntrospectionSchemaFieldType","QuestionnaireInfoUpdateMode","ProcessLogType","ProcessLogCode","BulkUploadStatus"],"mappings":";;AAAO,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAC9B,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;ACL9B,MAAM,WAAW;AAAA,EACtB,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,mBAAmB;AAAA,IACjB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,EAAA;AAEV;ACJO,MAAM,SAAS;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,OAAO;AAAA,EACP,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,MAAM;AACR;AAEO,MAAM,cAAc;AAAA,EACzB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,WAAW;AAAA,EACX,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,WAAW;AACb;AAEO,IAAK,+BAAAA,gBAAL;AACLA,cAAAA,YAAA,YAAS,CAAA,IAAT;AACAA,cAAAA,YAAA,cAAW,CAAA,IAAX;AACAA,cAAAA,YAAA,eAAY,CAAA,IAAZ;AACAA,cAAAA,YAAA,mBAAgB,CAAA,IAAhB;AACAA,cAAAA,YAAA,mBAAgB,CAAA,IAAhB;AACAA,cAAAA,YAAA,WAAQ,CAAA,IAAR;AANU,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;AASL,MAAM,kBAAkB,MAAM;AACnC,MAAI,iBAAiB,CAAA;AAGrB,SAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,QAAQ;AACnC,qBAAiB;AAAA,MACf,GAAG;AAAA,MACH,CAAC,OAAO,GAAG,CAAC,GAAG,YAAY,GAAG,GAAG,OAAO;AAAA,IAAA;AAAA,EAE5C,CAAC;AACD,SAAO;AACT;AAEO,MAAM,cAAc,CAAC,UAAU,YAAY,cAAc,YAAY,YAAY;AAEjF,MAAM,YAAY,CAAC,MAAM;AAEzB,MAAM,cAAc,CAAC,UAAU,YAAY,cAAc;AAEzD,MAAM,OAAO;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,IAAI;AAAA,EACJ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd;AAEO,MAAM,iBAAiB,OAAO,OAAO,IAAI;AAEzC,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AACX;AACO,MAAM,aAAa;AAAA,EACxB,SAAS;AAAA,EACT,WAAW;AACb;AACO,MAAM,cAAc;AAAA,EACzB,OAAO;AACT;AAEO,MAAM,+BAA+B;AAKrC,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,MAAM,sBAAsB;AAC5B,MAAM,mBAAmB,SAAU,WAAW;AACnD,SAAO,CAAC,oBAAoB,KAAK,SAAS;AAC5C;AAEO,MAAM,iBAAiB,CAAC,OAAO,MAAM,IAAI;AAEzC,MAAM,cAAc;AAEpB,MAAM,aAAa;AAAA,EACxB,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,OAAO;AAAA,EACP,WAAW;AAAA,EACX,UAAU;AAAA,EACV,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,MAAM;AAAA,EACN,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,0BAA0B;AAAA,EAC1B,SAAS;AAAA,EACT,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAC1B,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAC1B,2CAA2C;AAAA,EAC3C,gBAAgB;AAAA,EAChB,iBAAiB;AACnB;AAIO,MAAM,2BAA2B,CAAC,WAAW,gBAAgB,WAAW,eAAe;AAEvF,MAAM,mBAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,UAAU;AACZ;AACO,MAAM,cAAc;AAAA,EACzB,QAAQ;AACV;AAEO,MAAM,gBAAgB;AAAA,EAC3B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,cAAc;AAAA,EACd,WAAW;AACb;AAEO,MAAM,cAAc;AAAA,EACzB,OAAO;AAAA,EACP,cAAc;AAAA,EACd,QAAQ;AACV;AAEO,MAAM,uBAAuB;AAAA,EAClC,CAAC,YAAY,KAAK,GAAG;AAAA,EACrB,CAAC,YAAY,YAAY,GAAG;AAAA,EAC5B,CAAC,YAAY,MAAM,GAAG;AACxB;AAEO,MAAM,oBAAoB;AAAA,EAC/B,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,MAAM,gCAAgC;AAAA,EAC3C,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,kBAAkB,QAAQ,GAAG;AAChC;AAEO,MAAM,YAAY;AAAA,EACvB,YAAY;AAAA,EACZ,eAAe;AACjB;AAEO,MAAM,6BAA6B;AAAA,EACxC,GAAG,CAAC,aAAa,cAAc,aAAa,aAAa,WAAW;AAAA;AAAA,EACpE,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA;AAAA,EAEF,GAAG,CAAC,mBAAmB,mBAAmB;AAAA;AAAA,EAC1C,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA;AAAA,EAEF,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA;AAEJ;AAEO,MAAM,qCAAqC;AAAA,EAChD;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAAA,EAEV;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAAA,EAEV;AAAA,IACE,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAEZ;AAEO,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,GAAG,OAAO,OAAO,aAAa;AAChC;AACO,MAAM,8BAA8B,CAAC,YAAY,uBAAuB;AACxE,MAAM,sBAAsB,CAAC,YAAY,cAAc,YAAY,YAAY;AAC/E,MAAM,yBAAyB,CAAC,GAAG,oBAAoB,GAAG,2BAA2B;ACtWrF,MAAM,iBAAiB;AAAA,EAC5B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAC/B;ACWO,MAAM,eAAe;AAAA,EAC1B,CAAC,8BAA8B,MAAM,IAAI;AAAA,EACzC,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,kBAAkB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EACxC,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,YAAY,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EAClC,CAAC,uBAAuB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EAC7C,CAAC,aAAa,MAAM,IAAI;AAAA,EACxB,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,aAAa,MAAM,MAAM,CAAC;AAAA,EAC3B,CAAC,wBAAwB,MAAM,IAAI;AAAA,EACnC,CAAC,2BAA2B,MAAM,KAAK;AAAA,EACvC,CAAC,WAAW,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EACjC,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,yBAAyB,MAAM,KAAK;AAAA,EACrC,CAAC,YAAY,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC;AAAA,EAClC,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,oBAAoB,MAAM,IAAI;AAAA,EAC/B,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,WAAW,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAClC,CAAC,kBAAkB,MAAM,KAAK;AAAA,EAC9B,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,gDAAgD,MAAM,KAAK;AAAA,EAC5D,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,mBAAmB,MAAM,IAAI;AAAA,EAC9B,CAAC,kCAAkC,MAAM,KAAK;AAAA,EAC9C,CAAC,0BAA0B,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACjD,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,uBAAuB,MAAM,KAAK;AAAA,EACnC,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,uBAAuB,MAAM,KAAK;AAAA,EACnC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,CAAC,2BAA2B,MAAM,KAAK;AAAA,EACvC,CAAC,yBAAyB,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,EACzD,CAAC,kBAAkB,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACzC,CAAC,wDAAwD,MAAM,KAAK;AAAA,EACpE,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,SAAS,MAAM,IAAI;AAAA,EACpB,CAAC,cAAc,MAAM,IAAI;AAAA,EACzB,CAAC,oBAAoB,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC;AAAA,EAC7C,CAAC,2BAA2B,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC;AAAA,EACpD,CAAC,YAAY,MAAM,IAAI;AAAA,EACvB,CAAC,0BAA0B,MAAM,KAAK;AAAA,EACtC,CAAC,kDAAkD,MAAM,KAAK;AAAA,EAC9D,CAAC,wCAAwC,MAAM,KAAK;AAAA,EACpD,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,QAAQ,MAAM,IAAI;AAAA,EACnB,CAAC,WAAW,MAAM,OAAO,CAAC;AAAA,EAC1B,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,oCAAoC,MAAM,KAAK;AAAA,EAChD,CAAC,qBAAqB,MAAM,IAAI;AAAA,EAChC,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,YAAY,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACnC,CAAC,6CAA6C,MAAM,KAAK,GAAG,CAAC,OAAO,OAAO,KAAK,CAAC;AAAA,EACjF,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,kBAAkB,MAAM,IAAI;AAAA,EAC7B,CAAC,eAAe,MAAM,KAAK;AAAA,EAC3B,CAAC,yCAAyC,MAAM,KAAK;AAAA,EACrD,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,qCAAqC,MAAM,KAAK;AAAA,EACjD,CAAC,2BAA2B,MAAM,KAAK;AAAA,EACvC,CAAC,QAAQ,MAAM,KAAK;AAAA,EACpB,CAAC,mBAAmB,MAAM,OAAO,CAAC;AAAA,EAClC,CAAC,UAAU,MAAM,IAAI;AAAA,EACrB,CAAC,oCAAoC,MAAM,KAAK;AAAA,EAChD,CAAC,0CAA0C,MAAM,KAAK;AAAA,EACtD,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,yBAAyB,MAAM,IAAI;AAAA,EACpC,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,aAAa,MAAM,KAAK;AAAA,EACzB,CAAC,mBAAmB,MAAM,IAAI;AAAA,EAC9B,CAAC,gCAAgC,MAAM,KAAK;AAAA,EAC5C,CAAC,WAAW,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAClC,CAAC,cAAc,MAAM,OAAO,CAAC;AAAA,EAC7B,CAAC,QAAQ,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAC/B,CAAC,aAAa,MAAM,KAAK;AAAA,EACzB,CAAC,YAAY,MAAM,MAAM,GAAG,CAAC,QAAQ,QAAQ,QAAQ,MAAM,CAAC;AAAA,EAC5D,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,gCAAgC,MAAM,KAAK;AAAA,EAC5C,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,kBAAkB,MAAM,KAAK;AAAA,EAC9B,CAAC,0BAA0B,MAAM,IAAI;AAAA,EACrC,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,gBAAgB,MAAM,IAAI;AAAA,EAC3B,CAAC,aAAa,MAAM,IAAI;AAAA,EACxB,CAAC,mBAAmB,MAAM,IAAI;AAAA,EAC9B,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,eAAe,MAAM,MAAM,GAAG,CAAC,QAAQ,SAAS,QAAQ,QAAQ,MAAM,CAAC;AAAA,EACxE,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,kBAAkB,MAAM,MAAM,CAAC;AAAA,EAChC,CAAC,WAAW,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC;AAAA,EACxC,CAAC,cAAc,MAAM,IAAI;AAAA,EACzB,CAAC,UAAU,MAAM,MAAM,GAAG,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM,CAAC;AAAA,EAC1E,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,0BAA0B,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC;AAAA,EACpD,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,2BAA2B,MAAM,KAAK;AAAA,EACvC,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,uBAAuB,MAAM,KAAK;AAAA,EACnC,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,gCAAgC,MAAM,KAAK;AAAA,EAC5C,CAAC,6BAA6B,MAAM,KAAK;AAAA,EACzC,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,YAAY,MAAM,IAAI;AAAA,EACvB,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,QAAQ,MAAM,KAAK;AAAA,EACpB,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,6BAA6B,MAAM,KAAK;AAAA,EACzC,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,WAAW,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,CAAC;AAAA,EAC1C,CAAC,mBAAmB,MAAM,IAAI;AAAA,EAC9B,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,+BAA+B,MAAM,KAAK;AAAA,EAC3C,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,0BAA0B,MAAM,KAAK;AAAA,EACtC,CAAC,cAAc,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACrC,CAAC,uBAAuB,MAAM,OAAO,CAAC;AAAA,EACtC,CAAC,2BAA2B,MAAM,KAAK;AAAA,EACvC,CAAC,4BAA4B,MAAM,IAAI;AAAA,EACvC,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,2BAA2B,MAAM,IAAI;AAAA,EACtC,CAAC,sCAAsC,MAAM,KAAK;AAAA,EAClD,CAAC,eAAe,MAAM,IAAI;AAAA,EAC1B,CAAC,aAAa,MAAM,KAAK;AAAA,EACzB,CAAC,iBAAiB,MAAM,KAAK;AAAA,EAC7B,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,QAAQ,MAAM,KAAK;AAAA,EACpB,CAAC,kBAAkB,MAAM,KAAK;AAAA,EAC9B,CAAC,gCAAgC,MAAM,KAAK;AAAA,EAC5C,CAAC,4BAA4B,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACnD,CAAC,kBAAkB,MAAM,MAAM,CAAC;AAAA,EAChC,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,yBAAyB,MAAM,IAAI;AAAA,EACpC,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,yBAAyB,MAAM,KAAK;AAAA,EACrC,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,eAAe,MAAM,IAAI;AAAA,EAC1B,CAAC,eAAe,MAAM,IAAI;AAAA,EAC1B,CAAC,mBAAmB,MAAM,IAAI;AAAA,EAC9B,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,eAAe,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC;AAAA,EAC5C,CAAC,kBAAkB,MAAM,KAAK;AAAA,EAC9B,CAAC,wBAAwB,MAAM,OAAO,CAAC;AAAA,EACvC,CAAC,qBAAqB,MAAM,IAAI;AAAA,EAChC,CAAC,mBAAmB,MAAM,KAAK,CAAC;AAAA,EAChC,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,oBAAoB,MAAM,OAAO,CAAC;AAAA,EACnC,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,yBAAyB,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAChD,CAAC,eAAe,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACtC,CAAC,kDAAkD,MAAM,OAAO,CAAC;AAAA,EACjE,CAAC,wDAAwD,MAAM,KAAK;AAAA,EACpE,CAAC,oCAAoC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAC3D,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,+CAA+C,MAAM,KAAK;AAAA,EAC3D,CAAC,8CAA8C,MAAM,KAAK;AAAA,EAC1D,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,aAAa,MAAM,IAAI;AAAA,EACxB,CAAC,gBAAgB,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACvC,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,mBAAmB,MAAM,KAAK;AAAA,EAC/B,CAAC,wBAAwB,MAAM,KAAK;AAAA,EACpC,CAAC,gBAAgB,MAAM,IAAI;AAAA,EAC3B,CAAC,sBAAsB,MAAM,IAAI;AAAA,EACjC,CAAC,iCAAiC,MAAM,KAAK;AAAA,EAC7C,CAAC,kBAAkB,MAAM,IAAI;AAAA,EAC7B,CAAC,2BAA2B,MAAM,IAAI;AAAA,EACtC,CAAC,sBAAsB,MAAM,KAAK;AAAA,EAClC,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,0BAA0B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC;AAAA,EAChD,CAAC,oBAAoB,MAAM,IAAI;AAAA,EAC/B,CAAC,yBAAyB,MAAM,IAAI;AAAA,EACpC,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,eAAe,MAAM,KAAK;AAAA,EAC3B,CAAC,cAAc,MAAM,KAAK;AAAA,EAC1B,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,kBAAkB,MAAM,IAAI;AAAA,EAC7B,CAAC,eAAe,MAAM,KAAK;AAAA,EAC3B,CAAC,QAAQ,MAAM,KAAK;AAAA,EACpB,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,SAAS,MAAM,KAAK;AAAA,EACrB,CAAC,uBAAuB,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAC9C,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,oBAAoB,MAAM,IAAI;AAAA,EAC/B,CAAC,gBAAgB,MAAM,KAAK;AAAA,EAC5B,CAAC,4BAA4B,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EACnD,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,uBAAuB,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;AAAA,EAC9C,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,qBAAqB,MAAM,KAAK;AAAA,EACjC,CAAC,sDAAsD,MAAM,KAAK;AAAA,EAClE,CAAC,kBAAkB,MAAM,MAAM,CAAC;AAAA,EAChC,CAAC,iBAAiB,MAAM,KAAK,CAAC;AAAA,EAC9B,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,4BAA4B,MAAM,KAAK;AAAA,EACxC,CAAC,WAAW,MAAM,KAAK;AAAA,EACvB,CAAC,qCAAqC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC;AAAA,EAC9D,CAAC,aAAa,MAAM,IAAI;AAAA,EACxB,CAAC,sBAAsB,MAAM,IAAI;AAAA,EACjC,CAAC,wCAAwC,MAAM,KAAK;AAAA,EACpD,CAAC,uCAAuC,MAAM,OAAO,GAAG,CAAC,QAAQ,MAAM,CAAC;AAAA,EACxE,CAAC,oBAAoB,MAAM,KAAK;AAAA,EAChC,CAAC,UAAU,MAAM,KAAK;AAAA,EACtB,CAAC,YAAY,MAAM,KAAK;AAAA,EACxB,CAAC,iBAAiB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;AAC1C;AAcO,MAAM,oBAAoB,aAAa,OAAO,CAAC,KAAK,MAAM;AAC/D,QAAM,MAAM,EAAE,CAAC;AACf,MAAI,GAAG,IAAI,EAAE,CAAC;AACd,SAAO;AACT,GAAG,CAAA,CAAE;AC1UE,IAAK,2BAAAC,YAAL;AACLA,UAAA,QAAA,IAAS;AACTA,UAAA,MAAA,IAAO;AACPA,UAAA,aAAA,IAAc;AAHJ,SAAAA;AAAA,GAAA,UAAA,CAAA,CAAA;AAML,MAAM,UAAU;AAAA,EACrB,WAAW;AAAA,EACX,WAAW;AACb;AAEO,MAAM,OAAO;AAAA,EAClB,KAAK;AAAA,EACL,MAAM;AACR;AAIO,MAAM,6BAA6B;AAAA,EACxC,KAAK,KAAK;AAAA,EACV,KAAK,KAAK;AACZ;AAEO,MAAM,uBAAuB;AAAA,EAClC,KAAK,QAAQ;AAAA,EACb,KAAK,QAAQ;AACf;AACO,MAAM,qBAAqB;AAAA,EAChC,MAAM;AAAA,EACN,MAAM;AACR;AAEO,MAAM,qBAAqB;AAAA,EAChC,MAAM;AACR;AClCO,MAAM,QAAQ;AAAA,EACnB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,MAAM;AAAA,EACN,MAAM;AACR;ACDO,MAAM,iBAAiB;AAAA,EAC5B,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,iCAAiC;AAAA,EACjC,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,sCAAsC;AAAA,EACtC,uBAAuB;AAAA,EACvB,0BAA0B;AAAA,EAC1B,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,qBAAqB;AAAA,EACrB,wCAAwC;AAAA,EACxC,uBAAuB;AAAA,EACvB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,8BAA8B;AAAA,EAC9B,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,UAAU;AAAA,EACV,uCAAuC;AAAA,EACvC,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,sCAAsC;AAAA,EACtC,qBAAqB;AAAA,EACrB,+BAA+B;AAAA,EAC/B,mCAAmC;AAAA,EACnC,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,6BAA6B;AAAA,EAC7B,0BAA0B;AAC5B;AC/CO,MAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA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"}
1
+ {"version":3,"file":"perseed-api.cjs","sources":["../../../src/constants/datesFormats.ts","../../../src/constants/Exporter.ts","../../../src/constants/Forms.ts","../../../src/constants/NotifiedTypes.ts","../../../src/constants/PhoneCodes.ts","../../../src/constants/Questionnaire.ts","../../../src/constants/Role.ts","../../../src/constants/SeedPrivilege.ts","../../../src/constants/UserProfile.ts","../../../src/constants/View.ts","../../../src/schemas/container_widget/types.ts","../../../src/schemas/container_widget/widgetTypes/PatientListProps.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/IconTextPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/presentationWidgetTypes/LinkPresentationWidget.ts","../../../src/schemas/container_widget/widgetTypes/ModalProps.ts","../../../src/schemas/container_widget/widgetTypes/SidebarProps.ts","../../../src/schemas/notification_configuration/types.ts","../../../src/schemas/notification_configuration/NotifiedAboutInfo.ts","../../../src/schemas/questionnaire/types.ts","../../../src/schemas/process_log/types.ts","../../../src/schemas/bulk_upload/types.ts"],"sourcesContent":["export const DATE_FORMAT = 'YYYY-MM-DD'\nexport const TIME_FORMAT = 'HH:mm:ss'\nexport const SHORT_TIME_FORMAT = 'HH:mm'\nexport const DATETIME_SHORT_FORMAT = 'YYYY-MM-DD HH:mm'\nexport const MYSQL_DATE_FORMAT = DATE_FORMAT\nexport const MYSQL_DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss'\n","export const Exporter = {\n PENDING: 'IN_PROGRESS',\n ERROR: 'ERROR',\n SUCCESS: 'COMPLETED',\n AVAILABLE_FORMATS: {\n xls: 0,\n csv: 2,\n spss: 1,\n },\n}\n\nexport default Exporter\n","/**\n * Form constants\n */\nimport { DATE_FORMAT } from './datesFormats'\n\nexport const FIELDS = {\n DECIMAL: 1,\n INTEGER: 2,\n MULTIPLE_SELECTION: 3,\n SELECTION: 4,\n DYNAMIC_SELECTION: 5,\n DATE: 6,\n HEADER: 7,\n SUBHEADER: 8,\n WARNING: 9,\n SUBFORM: 10,\n MEMO: 11,\n TEXT: 12,\n TEXT_AREA: 13,\n YES_NO: 14,\n TIME: 15,\n LINK_HREF: 16,\n COUNTRY: 17,\n HOSPITAL: 18,\n USERS: 19,\n DYNAMIC_FILE: 20,\n DYNAMIC_LINK_HREF: 21,\n SCAN_CODE: 22,\n PARAGRAPH: 23,\n FILE: 24,\n}\n\nexport const FIELD_NAMES = {\n DECIMAL_NAME: 'decimal',\n INTEGER_NAME: 'integer',\n MULTIPLE_SELECTION_NAME: 'multiple_selection',\n SELECTION_NAME: 'selection',\n DYNAMIC_SELECTION_NAME: 'dynamic_selection',\n DATE_NAME: 'date',\n HEADER_NAME: 'header',\n SUBHEADER_NAME: 'subheader',\n WARNING_NAME: 'warning',\n SUBFORM_NAME: 'subform',\n MEMO_NAME: 'memo',\n TEXT_NAME: 'text',\n TEXT_AREA_NAME: 'text_area',\n YES_NO_NAME: 'yes_no',\n TIME_NAME: 'time',\n LINK_HREF_NAME: 'link_href',\n COUNTRY_NAME: 'country',\n HOSPITAL_NAME: 'hospital',\n USERS_NAME: 'users',\n DYNAMIC_FILE_NAME: 'dynamic_file',\n DYNAMIC_LINK_HREF_NAME: 'dynamic_link_href',\n SCAN_CODE_NAME: 'scan_code',\n PARAGRAPH_NAME: 'paragraph',\n FILE_NAME: 'file',\n}\n\nexport enum FORM_TYPES {\n STATIC = 0, // Used in perseed-js for static defined forms\n STANDARD = 1,\n FOLLOW_UP = 2,\n ADVERSE_EVENT = 3,\n QUESTIONNAIRE = 5,\n STUDY = 6,\n}\n\nexport const FIELD_NAMES_MAP = () => {\n let fieldTypeNames = {}\n\n // Mapping fields to { field_value : field_name }\n Object.keys(FIELDS).forEach((key) => {\n fieldTypeNames = {\n ...fieldTypeNames,\n [FIELDS[key]]: FIELD_NAMES[`${key}_NAME`],\n }\n })\n return fieldTypeNames\n}\n\nexport const NUMBER_TYPE = ['number', FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\n\nexport const DATE_TYPE = ['date']\n\nexport const OBJECT_TYPE = ['object', FIELD_NAMES.SCAN_CODE_NAME]\n\nexport const CORE = {\n CREATION_TIME: 'creation_time',\n CREATION_USER: 'creation_user',\n CRF_NAME: 'crf_name',\n CRF_STATUS: 'crf_status',\n HOSPITAL: 'hospital',\n HOSPITAL_STATUS: 'hospital_status',\n ID: 'id',\n LOCK_STATE: 'lock_state',\n LOCK_USER: 'lock_user',\n LOCK_DATE: 'lock_date',\n MODIFICATION_TIME: 'mod_time',\n MODIFICATION_USER: 'mod_user',\n PATIENT_ID: 'patient_id',\n PATIENT_NUMBER: 'patient_number',\n PATIENT_NUMBER_STATUS: 'patient_number_status',\n RECORD_ID: 'record_id',\n SIGNATURE_DATE: 'signature_date',\n SIGNATURE_STATE: 'signature_state',\n SIGNATURE_USER: 'signature_user',\n STATUS: 'status',\n USER_IP: 'user_ip',\n DATE_OF_QUESTIONNAIRE: 'date_of_questionnaire',\n TIME_OF_QUESTIONNAIRE: 'time_of_questionnaire',\n VERSION: 'version',\n REFERENCE: 'reference',\n SUBFORM_ID: 'subform_id',\n}\n\nexport const EXCLUDE_FIELDS = Object.values(CORE)\n\nexport const AUDIT_FLAGS = {\n added: 'A',\n edited: 'E',\n deleted: 'D',\n}\nexport const FORM_NAMES = {\n PATIENT: 'patient',\n SEPARATOR: '_',\n}\nexport const FORM_SUFFIX = {\n AUDIT: 'audit',\n}\n\nexport const MULTIPLE_SELECTION_SEPARATOR = '~'\n/**\n * @deprecated Use STATUS_SUFFIX instead\n * @type {string}\n */\nexport const FIELD_SUFFIX = '_status'\nexport const STATUS_SUFFIX = '_status'\nexport const FIELD_STATUS = {\n filled: 'filled',\n unk: 'UNK',\n na: 'NA',\n nd: 'ND',\n}\n\n// fieldName.endsWidth(STATUS_SUFFIX) is not valid as status field tester because fields like crf_status\nexport const STATUS_FIELD_REGEXP = /^[0-9a-f]{33}_status$/\nexport const isNotStatusField = function (fieldName) {\n return !STATUS_FIELD_REGEXP.test(fieldName)\n}\n\nexport const NO_FILL_STATUS = ['UNK', 'NA', 'ND']\n\nexport const TIME_SCHEMA = '^[0-1][0-9]:[0-5][0-9]$|^[0-2][0-3]:[0-5][0-9]$' // HH:mm\n\nexport const META_NAMES = {\n DEPENDENT_SOURCE: 'dependent_source',\n ENCRYPTED: 'encrypted',\n ENCRYPTED_LEVEL: 'encrypted_level',\n EXTERNAL_SHARING: 'external_sharing',\n SHOW_EMBEDDED_PDF: 'show_embedded_pdf',\n HIDDEN: 'hidden',\n IS_CRF_MAIN_FIELD: 'is_crf_main_field',\n MIN_VALUE: 'min-value',\n MIN_VALUE_VALIDATION: 'validation_of_less_than',\n MAX_VALUE: 'max-value',\n MAX_VALUE_VALIDATION: 'validation_of_higher_than',\n NEXT_FORM: 'next_form',\n MULTIPLE: 'is_multiple',\n ORDER: 'order',\n READ_ONLY: 'readonly',\n REQUIRED: 'is_required',\n REQUIRED_TYPE: 'type_of_required',\n SELECTION_VALUE: 'value_of_selection',\n SELECTION_VALUE_SLIDER: 'value_of_selection_slider',\n SOURCE_FIELD: 'source_field',\n TYPE: 'type',\n TYPE_QUESTIONARY: 'questionary',\n QUESTION_DAYS: 'question_days',\n QUESTION_TIME: 'question_time',\n QUESTION_HOURS: 'question_hours',\n QUESTION_MINUTES: 'question_minutes',\n REMINDER_DAYS: 'reminder_days',\n REMINDER_HOURS: 'reminder_hours',\n REMINDER_MINUTES: 'reminder_minutes',\n REMINDER_SUBJECT: 'reminder_subject',\n REMINDER_MESSAGE: 'reminder_message',\n MAX_NUMBER_REMINDER: 'max_number_reminder',\n NUMBER_QUESTION_PAGE: 'number_question_page',\n UNTIL: 'until',\n NUMBER_OF_QUESTIONAIRES: 'number_of_questionaires',\n QUESTION_COMMENTS: 'question_comments',\n TYPE_OF_QUESTIONNAIRE: 'type_of_questionnaire',\n HISTORY_OF_QUESTIONNAIRE: 'history_of_questionnaire',\n HISTORY: 'history',\n CRF_HISTORY: 'crf_history',\n PROCEDURE_CONDITION: 'procedure_condition',\n HREF_VALUE: 'href_value',\n HREF_TYPE: 'href_type',\n SIZE: 'size',\n FILE_TYPE: 'file_type',\n INPUT_TYPE: 'input_type',\n PARAGRAPH_CONTENT: 'paragraph_content',\n FILE_VALUE: 'file_value',\n WINDOW_REFERENCE: 'window_reference',\n START_DATE_DAYS: 'start_date_days',\n HAS_DEFAULT_VALUE: 'has_default_value',\n SPECIFIC_VALUE: 'specific_value',\n DEFAULT_VALUE: 'default_value',\n UNIQUE: 'unique',\n HELP: 'help',\n SELECTOR_TYPE: 'selector_type',\n SLIDER_SELECTOR: 'slider_selector',\n SLIDER_SCALE_ORIENTATION: 'slider_scale_orientation',\n UNTIL_DATE: 'until',\n PAGE_BREAK: 'page_break',\n WINDOW_BEFORE: 'window_before',\n WINDOW_AFTER: 'window_after',\n WINDOW_PERIOD: 'window_period',\n AI_PROCESSING_CONTEXT: 'ai_processing_context',\n AI_EXTRACTION_RELATED_FIELD: 'ai_extraction_related_field',\n AI_EXTRACTION_CONTEXT: 'ai_extraction_context',\n AI_ANONYMIZATION_NEEDED: 'ai_anonymization_needed',\n PROCESSING_FILE: 'processing_file',\n PROCESSING_FILE_ORIGINAL: 'processing_file_original',\n PROCESSING_FILE_DELETE_ORIGINAL_ON_FINISH: 'processing_file_delete_original_on_finish',\n PROC_ANONYMIZE: 'proc_anonymize',\n PROC_EXTRACTION: 'proc_extraction',\n}\n\nconst FIELD_METAS_TO_INCLUDE_IN_RESPONSE = [META_NAMES.PROCESSING_FILE]\n\nexport const AI_PROCESSING_META_NAMES = [META_NAMES.PROC_ANONYMIZE, META_NAMES.PROC_EXTRACTION]\n\nexport const META_RESTRICTION = {\n STRICT: 'strict',\n FLEXIBLE: 'flexible',\n}\nexport const META_STATUS = {\n ACTIVE: '1',\n}\n\nexport const SELECTOR_TYPE = {\n SLIDER: 'slider',\n DROPDOWN: 'dropdown',\n RADIO_BUTTON: 'radio_button',\n CHECK_BOX: 'check_box',\n}\n\nexport const SLIDER_TYPE = {\n STARS: '0',\n SCALE_RATING: '1',\n IMAGES: '2',\n}\n\nexport const SLIDER_SELECTOR_TYPE = {\n [SLIDER_TYPE.STARS]: 'stars',\n [SLIDER_TYPE.SCALE_RATING]: 'scale',\n [SLIDER_TYPE.IMAGES]: 'images',\n}\n\nexport const SLIDER_SCALE_TYPE = {\n HORIZONTAL: '0',\n VERTICAL: '1',\n}\n\nexport const SLIDER_SCALE_ORIENTATION_TYPE = {\n [SLIDER_SCALE_TYPE.HORIZONTAL]: 'horizontal',\n [SLIDER_SCALE_TYPE.VERTICAL]: 'vertical',\n}\n\nexport const HREF_TYPE = {\n NEW_WINDOW: 'newwindow',\n EMBEDDED_HTML: 'embeddedhtml',\n}\n\nexport const DYNAMIC_FILE_VALID_FORMATS = {\n 1: ['image/jpg', 'image/jpeg', 'image/bmp', 'image/gif', 'image/png'], // Images\n 2: [\n 'application/pdf',\n 'application/x-pdf',\n 'text/csv',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.oasis.opendocument.text',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n ], // Documents\n 3: ['application/pdf', 'application/x-pdf'], // PDF\n 4: [\n 'application/dicom',\n 'application/gzip',\n 'application/x-gzip',\n 'application/tar',\n 'application/tar+gzip',\n 'application/zip',\n 'application/x-rar-compressed',\n 'application/x-zip-compressed',\n 'application/x-7z-compressed',\n 'application/octet-stream',\n ], // DICOM\n 5: [\n 'video/x-msvideo',\n 'video/x-mkv',\n 'video/x-matroska',\n 'video/mpeg',\n 'video/mpeg4',\n 'video/mpg',\n 'video/ogg',\n 'video/webm',\n 'video/3gpp',\n 'video/3gpp2',\n 'video/mp4',\n 'video/divx',\n 'video/avi',\n 'video/quicktime',\n 'video/x-ms-wmv',\n 'video/x-flv',\n ], // Video\n}\n\nexport const DEFAULT_CONFIGURATION_PATIENT_LIST = [\n {\n id: '1',\n name: 'patient_number',\n type: 'Zend\\\\Form\\\\Element\\\\Text',\n label: 'Patient Id',\n required: '1',\n crf_name: 'patient',\n status: '1',\n },\n {\n type: '4',\n name: 'hospital',\n label: 'Hospital',\n required: '0',\n id: '2',\n crf_name: 'patient',\n status: '1',\n },\n {\n id: '1000000001',\n name: 'procedure',\n type: 'customzation',\n label: 'Procedures',\n required: '1',\n crf_name: '',\n status: '1',\n },\n]\n\nexport const SELECT_FIELD_TYPES = [\n FIELD_NAMES.SELECTION_NAME,\n FIELD_NAMES.DYNAMIC_SELECTION_NAME,\n ...Object.values(SELECTOR_TYPE),\n]\nexport const MULTIPLE_SELECT_FIELD_TYPES = [FIELD_NAMES.MULTIPLE_SELECTION_NAME]\nexport const NUMERIC_FIELD_TYPES = [FIELD_NAMES.DECIMAL_NAME, FIELD_NAMES.INTEGER_NAME]\nexport const ALL_SELECT_FIELD_TYPES = [...SELECT_FIELD_TYPES, ...MULTIPLE_SELECT_FIELD_TYPES]\n\nconst Forms = {\n FIELDS,\n FIELD_NAMES,\n FORM_TYPES,\n FIELD_NAMES_MAP,\n NUMBER_TYPE,\n DATE_TYPE,\n OBJECT_TYPE,\n CORE,\n EXCLUDE_FIELDS,\n AUDIT_FLAGS,\n FORM_NAMES,\n FORM_SUFFIX,\n MULTIPLE_SELECTION_SEPARATOR,\n FIELD_SUFFIX,\n STATUS_SUFFIX,\n FIELD_STATUS,\n STATUS_FIELD_REGEXP,\n isNotStatusField,\n NO_FILL_STATUS,\n DATE_FORMAT,\n TIME_SCHEMA,\n META_NAMES,\n META_RESTRICTION,\n META_STATUS,\n SELECTOR_TYPE,\n SLIDER_TYPE,\n SLIDER_SELECTOR_TYPE,\n SLIDER_SCALE_TYPE,\n SLIDER_SCALE_ORIENTATION_TYPE,\n HREF_TYPE,\n DYNAMIC_FILE_VALID_FORMATS,\n DEFAULT_CONFIGURATION_PATIENT_LIST,\n FIELD_METAS_TO_INCLUDE_IN_RESPONSE,\n}\n\nexport default Forms\n","export const NOTIFIED_TYPES = {\n EMAIL: 1,\n MOBILE: 2,\n PLATFORM: 3,\n SMS: 4,\n HL7: 5,\n ALL: ['1', '2', '3', '4', '5'],\n}\n","// copied from https://raw.githubusercontent.com/jackocnr/intl-tel-input/master/src/js/data.js\n\n// Array of country objects for the flag dropdown.\n\n// Here is the criteria for the plugin to support a given country/territory\n// - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n// - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n// - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n// - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n\n// Each country array has the following information:\n// [\n// Country name,\n// iso2 code,\n// International dial code,\n// Order (if >1 country with same dial code),\n// Area codes\n// ]\nexport const allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']],\n]\n\n// loop over all of the countries above, restructuring the data to be objects with named keys\n/* for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n} */\n\nexport const CountryPhoneCodes = allCountries.reduce((acc, c) => {\n const key = c[1] as string\n acc[key] = c[2]\n return acc\n}, {})\n\nexport default CountryPhoneCodes\n","export enum STATUS {\n CLOSED = 'Closed',\n OPEN = 'Open',\n COMING_SOON = 'Coming soon',\n}\n\nexport const HISTORY = {\n PERMANENT: 'Permanent',\n TEMPORARY: 'Temporary',\n}\n\nexport const TYPE = {\n QOL: 'QoL',\n TASK: 'Task',\n}\n\nexport type QuestionnaireTypeValue = 'QoL' | 'Task'\n\nexport const QUESTIONNAIRE_TYPE_OPTIONS = {\n '0': TYPE.QOL,\n '1': TYPE.TASK,\n}\n\nexport const HISTORY_TYPE_OPTIONS = {\n '0': HISTORY.PERMANENT,\n '1': HISTORY.TEMPORARY,\n}\nexport const QUESTIONNAIRE_DATE = {\n DATE: 'date_of_questionnaire',\n TIME: 'time_of_questionnaire',\n}\n\nexport const QUESTIONNAIRE_TYPE = {\n TYPE: 'type_of_questionnaire',\n}\n\nconst Questionnaire = {\n STATUS,\n HISTORY,\n TYPE,\n QUESTIONNAIRE_TYPE_OPTIONS,\n HISTORY_TYPE_OPTIONS,\n QUESTIONNAIRE_DATE,\n QUESTIONNAIRE_TYPE,\n}\n\nexport default Questionnaire\n","export const ROLES = {\n PERSEED_ADMIN: 'PerseedAdmin',\n ECOSYSTEM_ADMIN: 'EcosystemAdmin',\n USER: 'Users',\n SALE: 'Sales',\n}\n","/**\n * Seed Privilege constants\n */\n\nexport const SEED_PRIVILEGE = {\n ADD_PATIENT: 'add_patient',\n ADD_REPEATABLE_CRF: 'add_repeat_crf',\n ADVANCED_FILTER: 'advanced_filter',\n ALL_PATIENT_LIST: 'all_patient_list',\n ALLOW_TO_CONTROL_THESE_PROFILES: 'core_control_profile',\n CONNECTOR_ADD_CP: 'connector_add_cp',\n CONNECTOR_ADD_CRF: 'connector_add_crf',\n CONNECTOR_ADD_FIELD: 'connector_add_field',\n CORE_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'core_not_allow_access_sensitive_info',\n CORE_NOTIFICATION_LOG: 'core_notification_log',\n CORE_NOTIFICATION_MY_LOG: 'core_notification_my_log',\n DELETE_PATIENT: 'delete_patient',\n FULL_DELETE_PATIENT: 'full_delete_patient',\n DELETE_REPEATABLE_CRF: 'delete_crf',\n EXPORT_ANONYMIZED: 'export_anonymized',\n ENABLE_CP: 'enable_cp',\n EXPORT_MY_HOSPITALS: 'export_my_hospitals',\n EXPORT_NOT_ALLOW_ACCESS_SENSITIVE_INFO: 'export_not_allow_access_sensitive_info',\n EXPORT_USER_TIMESTAMP: 'export_user_timestamp',\n EXPORT_RAW: 'export_raw',\n FILTER_ALL: 'filter_all',\n FILTER_MY_HOSPITALS: 'filter_my_hospitals',\n MANAGE_USERS: 'core_manage_user',\n CORE_PRO_USER_SENSITIVE_INFO: 'core_pro_user_sensitive_info',\n NOTIFICATIONS: 'core_notification_seed',\n ONLY_MY_PATIENTS: 'only_my_patients',\n ONLY_UPDATE_PATIENTS_API: 'only_update_patients',\n PRO_USER: 'core_pro_user',\n USERS_MANAGEMENT_FOR_MY_ORGANIZATIONS: 'core_manage_user_hospital',\n UPLOAD_DOCUMENTS: 'add',\n DELETE_DOCUMENTS: 'delete',\n READ_DOCUMENTS: 'read',\n DISPLAY_PATIENT_LIST: 'advanced_patient_list',\n EXPORT_CONFIGURATION_EXPLICIT_ACCESS: 'export_configurations_explicit_access_only',\n TRIGGERS_MANAGEMENT: 'triggers_management',\n DASHBOARD_SETTINGS_MANAGEMENT: 'dashboard_settings_manage_all',\n DASHBOARD_SETTINGS_OWN_MANAGEMENT: 'dashboard_settings_manage_own',\n DASHBOARD_SETTINGS_READ_ONLY: 'dashboard_settings_read_only',\n DASHBOARD_FOLLOWUP_ALL: 'dashboard_followup_access_all',\n DASHBOARD_FOLLOWUP_OWN: 'dashboard_followup_access_own',\n DASHBOARD_FOLLOWUP_ASSIGNED: 'dashboard_followup_access_assigned',\n CORE_MANAGE_ORGANIZATION: 'core_manage_organization',\n} as const\n\ntype SEED_PRIVILEGE_Keys = keyof typeof SEED_PRIVILEGE\n\nexport type SEED_PRIVILEGES = typeof SEED_PRIVILEGE[SEED_PRIVILEGE_Keys]\n","export const MINIMIAL_TIMEZONE_LIST = [\n 'Etc/GMT+12',\n 'Pacific/Midway',\n 'Pacific/Honolulu',\n 'America/Juneau',\n 'America/Dawson',\n 'America/Boise',\n 'America/Chihuahua',\n 'America/Phoenix',\n 'America/Chicago',\n 'America/Regina',\n 'America/Mexico_City',\n 'America/Belize',\n 'America/Detroit',\n 'America/Indiana/Indianapolis',\n 'America/Bogota',\n 'America/Glace_Bay',\n 'America/Caracas',\n 'America/Santiago',\n 'America/St_Johns',\n 'America/Sao_Paulo',\n 'America/Argentina/Buenos_Aires',\n 'America/Godthab',\n 'Etc/GMT+2',\n 'Atlantic/Azores',\n 'Atlantic/Cape_Verde',\n 'GMT',\n 'Africa/Casablanca',\n 'Atlantic/Canary',\n 'Europe/Belgrade',\n 'Europe/Sarajevo',\n 'Europe/Brussels',\n 'Europe/Amsterdam',\n 'Africa/Algiers',\n 'Europe/Bucharest',\n 'Africa/Cairo',\n 'Europe/Helsinki',\n 'Europe/Athens',\n 'Asia/Jerusalem',\n 'Africa/Harare',\n 'Europe/Moscow',\n 'Asia/Kuwait',\n 'Africa/Nairobi',\n 'Asia/Baghdad',\n 'Asia/Tehran',\n 'Asia/Dubai',\n 'Asia/Baku',\n 'Asia/Kabul',\n 'Asia/Yekaterinburg',\n 'Asia/Karachi',\n 'Asia/Kolkata',\n 'Asia/Kathmandu',\n 'Asia/Dhaka',\n 'Asia/Colombo',\n 'Asia/Almaty',\n 'Asia/Rangoon',\n 'Asia/Bangkok',\n 'Asia/Krasnoyarsk',\n 'Asia/Shanghai',\n 'Asia/Kuala_Lumpur',\n 'Asia/Taipei',\n 'Australia/Perth',\n 'Asia/Irkutsk',\n 'Asia/Seoul',\n 'Asia/Tokyo',\n 'Asia/Yakutsk',\n 'Australia/Darwin',\n 'Australia/Adelaide',\n 'Australia/Sydney',\n 'Australia/Brisbane',\n 'Australia/Hobart',\n 'Asia/Vladivostok',\n 'Pacific/Guam',\n 'Asia/Magadan',\n 'Pacific/Fiji',\n 'Pacific/Auckland',\n 'Pacific/Tongatapu',\n]\nexport const LANG_CODES = [\n 'ab',\n 'aa',\n 'af',\n 'ak',\n 'sq',\n 'am',\n 'ar',\n 'an',\n 'hy',\n 'as',\n 'av',\n 'ae',\n 'ay',\n 'az',\n 'bm',\n 'ba',\n 'eu',\n 'be',\n 'bn',\n 'bh',\n 'bi',\n 'bs',\n 'br',\n 'bg',\n 'my',\n 'ca',\n 'ch',\n 'ce',\n 'ny',\n 'zh',\n 'cv',\n 'kw',\n 'co',\n 'cr',\n 'hr',\n 'cs',\n 'da',\n 'dv',\n 'nl',\n 'dz',\n 'en',\n 'eo',\n 'et',\n 'ee',\n 'fo',\n 'fj',\n 'fi',\n 'fr',\n 'ff',\n 'gl',\n 'gd',\n 'gv',\n 'ka',\n 'de',\n 'el',\n 'kl',\n 'gn',\n 'gu',\n 'ht',\n 'ha',\n 'he',\n 'hz',\n 'hi',\n 'ho',\n 'hu',\n 'is',\n 'io',\n 'ig',\n 'id',\n 'ia',\n 'ie',\n 'iu',\n 'ik',\n 'ga',\n 'it',\n 'ja',\n 'jv',\n 'kl',\n 'kn',\n 'kr',\n 'ks',\n 'kk',\n 'km',\n 'ki',\n 'rw',\n 'rn',\n 'ky',\n 'kv',\n 'kg',\n 'ko',\n 'ku',\n 'kj',\n 'lo',\n 'la',\n 'lv',\n 'li',\n 'ln',\n 'lt',\n 'lu',\n 'lg',\n 'lb',\n 'gv',\n 'mk',\n 'mg',\n 'ms',\n 'ml',\n 'mt',\n 'mi',\n 'mr',\n 'mh',\n 'mo',\n 'mn',\n 'na',\n 'nv',\n 'ng',\n 'nd',\n 'ne',\n 'no',\n 'nb',\n 'nn',\n 'ii',\n 'oc',\n 'oj',\n 'cu',\n 'or',\n 'om',\n 'os',\n 'pi',\n 'ps',\n 'fa',\n 'pl',\n 'pt',\n 'pa',\n 'qu',\n 'rm',\n 'ro',\n 'ru',\n 'se',\n 'sm',\n 'sg',\n 'sa',\n 'sr',\n 'sh',\n 'st',\n 'tn',\n 'sn',\n 'ii',\n 'sd',\n 'si',\n 'ss',\n 'sk',\n 'sl',\n 'so',\n 'nr',\n 'es',\n 'su',\n 'sw',\n 'ss',\n 'sv',\n 'tl',\n 'ty',\n 'tg',\n 'ta',\n 'tt',\n 'te',\n 'th',\n 'bo',\n 'ti',\n 'to',\n 'ts',\n 'tr',\n 'tk',\n 'tw',\n 'ug',\n 'uk',\n 'ur',\n 'uz',\n 've',\n 'vi',\n 'vo',\n 'wa',\n 'cy',\n 'wo',\n 'fy',\n 'xh',\n 'ji',\n 'yo',\n 'za',\n 'zu',\n]\nexport const LOCALE_LANG_CODES = [\n 'af_ZA',\n 'am_ET',\n 'ar_AE',\n 'ar_BH',\n 'ar_DZ',\n 'ar_EG',\n 'ar_IQ',\n 'ar_JO',\n 'ar_KW',\n 'ar_LB',\n 'ar_LY',\n 'ar_MA',\n 'arn_CL',\n 'ar_OM',\n 'ar_QA',\n 'ar_SA',\n 'ar_SY',\n 'ar_TN',\n 'ar_YE',\n 'as_IN',\n 'az_Cyrl_AZ',\n 'az_Latn_AZ',\n 'ba_RU',\n 'be_BY',\n 'bg_BG',\n 'bn_BD',\n 'bn_IN',\n 'bo_CN',\n 'br_FR',\n 'bs_Cyrl_BA',\n 'bs_Latn_BA',\n 'ca_ES',\n 'co_FR',\n 'cs_CZ',\n 'cy_GB',\n 'da_DK',\n 'de_AT',\n 'de_CH',\n 'de_DE',\n 'de_LI',\n 'de_LU',\n 'dsb_DE',\n 'dv_MV',\n 'el_GR',\n 'en_029',\n 'en_AU',\n 'en_BZ',\n 'en_CA',\n 'en_GB',\n 'en_IE',\n 'en_IN',\n 'en_JM',\n 'en_MY',\n 'en_NZ',\n 'en_PH',\n 'en_SG',\n 'en_TT',\n 'en_US',\n 'en_ZA',\n 'en_ZW',\n 'es_AR',\n 'es_BO',\n 'es_CL',\n 'es_CO',\n 'es_CR',\n 'es_DO',\n 'es_EC',\n 'es_ES',\n 'es_GT',\n 'es_HN',\n 'es_MX',\n 'es_NI',\n 'es_PA',\n 'es_PE',\n 'es_PR',\n 'es_PY',\n 'es_SV',\n 'es_US',\n 'es_UY',\n 'es_VE',\n 'et_EE',\n 'eu_ES',\n 'fa_IR',\n 'fi_FI',\n 'fil_PH',\n 'fo_FO',\n 'fr_BE',\n 'fr_CA',\n 'fr_CH',\n 'fr_FR',\n 'fr_LU',\n 'fr_MC',\n 'fy_NL',\n 'ga_IE',\n 'gd_GB',\n 'gl_ES',\n 'gsw_FR',\n 'gu_IN',\n 'ha_Latn_NG',\n 'he_IL',\n 'hi_IN',\n 'hr_BA',\n 'hr_HR',\n 'hsb_DE',\n 'hu_HU',\n 'hy_AM',\n 'id_ID',\n 'ig_NG',\n 'ii_CN',\n 'is_IS',\n 'it_CH',\n 'it_IT',\n 'iu_Cans_CA',\n 'iu_Latn_CA',\n 'ja_JP',\n 'ka_GE',\n 'kk_KZ',\n 'kl_GL',\n 'km_KH',\n 'kn_IN',\n 'kok_IN',\n 'ko_KR',\n 'ky_KG',\n 'lb_LU',\n 'lo_LA',\n 'lt_LT',\n 'lv_LV',\n 'mi_NZ',\n 'mk_MK',\n 'ml_IN',\n 'mn_MN',\n 'mn_Mong_CN',\n 'moh_CA',\n 'mr_IN',\n 'ms_BN',\n 'ms_MY',\n 'mt_MT',\n 'nb_NO',\n 'ne_NP',\n 'nl_BE',\n 'nl_NL',\n 'nn_NO',\n 'nso_ZA',\n 'oc_FR',\n 'or_IN',\n 'pa_IN',\n 'pl_PL',\n 'prs_AF',\n 'ps_AF',\n 'pt_BR',\n 'pt_PT',\n 'qut_GT',\n 'quz_BO',\n 'quz_EC',\n 'quz_PE',\n 'rm_CH',\n 'ro_RO',\n 'ru_RU',\n 'rw_RW',\n 'sah_RU',\n 'sa_IN',\n 'se_FI',\n 'se_NO',\n 'se_SE',\n 'si_LK',\n 'sk_SK',\n 'sl_SI',\n 'sma_NO',\n 'sma_SE',\n 'smj_NO',\n 'smj_SE',\n 'smn_FI',\n 'sms_FI',\n 'sq_AL',\n 'sr_Cyrl_BA',\n 'sr_Cyrl_CS',\n 'sr_Cyrl_ME',\n 'sr_Cyrl_RS',\n 'sr_Latn_BA',\n 'sr_Latn_CS',\n 'sr_Latn_ME',\n 'sr_Latn_RS',\n 'sv_FI',\n 'sv_SE',\n 'sw_KE',\n 'syr_SY',\n 'ta_IN',\n 'te_IN',\n 'tg_Cyrl_TJ',\n 'th_TH',\n 'tk_TM',\n 'tn_ZA',\n 'tr_TR',\n 'tt_RU',\n 'tzm_Latn_DZ',\n 'ug_CN',\n 'uk_UA',\n 'ur_PK',\n 'uz_Cyrl_UZ',\n 'uz_Latn_UZ',\n 'vi_VN',\n 'wo_SN',\n 'xh_ZA',\n 'yo_NG',\n 'zh_CN',\n 'zh_HK',\n 'zh_MO',\n 'zh_SG',\n 'zh_TW',\n 'zu_ZA',\n 'fi_FI',\n]\n","// This refers to the views on Mobile app\nexport const FORMS_VIEW = 'forms'\nexport const HISTORY_VIEW = 'history'\n\nconst View = {\n FORMS_VIEW,\n HISTORY_VIEW,\n}\n\nexport default View\n","import { ColProps } from './col'\nimport {\n ContainerWidgetProps,\n FormListProps,\n FormsListProps,\n ModalProps,\n PatientListProps,\n SectionCardProps,\n SidebarProps,\n ValueCardProps,\n} from './widgetTypes'\n\n/**\n * True containers: host other widgets inside them.\n */\nexport enum ContainerType {\n DASHBOARD = 'Dashboard',\n MODAL = 'Modal',\n SIDEBAR = 'Sidebar',\n}\n\n/**\n * Leaf widgets: rendered inside a container, do not hold other widgets.\n */\nexport enum WidgetType {\n VALUECARD = 'ValueCard',\n SECTIONCARD = 'SectionCard',\n PATIENTLIST = 'PatientList',\n QUESTIONNAIRE_LOG = 'QuestionnaireLog',\n PATIENTS_PROGRAMS = 'PatientsPrograms',\n PATIENTS = 'Patients',\n ADHERENCE_SUMMARY = 'AdherenceSummary',\n FORM_LIST = 'FormList',\n FORMS_LIST = 'FormsList', // FORM_LIST V2\n}\n\n/**\n * Union of both enums. Exposed as the previous enum name so existing consumers\n * keep compiling. New code should prefer the narrower `ContainerType` or\n * `WidgetType` when the distinction is relevant.\n */\n// TODO: remove this union type after moving all widgets to v2\nexport const ContainerWidgetType = {\n ...ContainerType,\n ...WidgetType,\n} as const\nexport type ContainerWidgetType = ContainerType | WidgetType\n\nexport type WidgetBlockConfig = {\n size?: number | ColProps\n}\n\nexport type ContainerWidgetBlockCreatePayload = {\n parent_id: number | string\n child_id: number\n position: number\n config?: WidgetBlockConfig | null\n}\n\nexport type ContainerBaseWidgetPayload = {\n title: string\n description?: string | null\n weight?: number\n size?: number | ColProps\n library?: boolean\n widgetsBlocks?: ContainerWidgetBlockCreatePayload[]\n}\n\nexport type EmptyProps = Record<string, never>\n\nexport type ContainerProps =\n | { type: ContainerType.DASHBOARD; params: ContainerWidgetProps }\n | { type: ContainerType.MODAL; params: ModalProps }\n | { type: ContainerType.SIDEBAR; params: SidebarProps }\n\nexport type WidgetProps =\n | { type: WidgetType.SECTIONCARD; params: SectionCardProps }\n | { type: WidgetType.VALUECARD; params: ValueCardProps }\n | { type: WidgetType.PATIENTLIST; params: PatientListProps }\n | { type: WidgetType.QUESTIONNAIRE_LOG; params: EmptyProps }\n | { type: WidgetType.PATIENTS_PROGRAMS; params: EmptyProps }\n | { type: WidgetType.PATIENTS; params: EmptyProps }\n | { type: WidgetType.ADHERENCE_SUMMARY; params: EmptyProps }\n | { type: WidgetType.FORM_LIST; params: FormListProps }\n | { type: WidgetType.FORMS_LIST; params: FormsListProps } // FORM_LIST V2\n\nexport type WidgetTypeProps = ContainerProps | WidgetProps\n\nexport type CreateContainerWidgetPayload = ContainerBaseWidgetPayload & WidgetTypeProps\n\nexport type UpdateContainerWidgetPayload = Partial<CreateContainerWidgetPayload>\n\nexport enum DataLoaderType {\n OUTCOMES = 'outcomes',\n}\n\nexport interface GenericContainerWidgetDataLoader {\n type: DataLoaderType\n params: Record<string, any>\n}\n\nexport type ContainerWidgetDataLoader<T> = T extends { type: infer Type; params: infer Params }\n ? { type: Type; params: Params }\n : never\n\n// TEMPLATE VERSIONS TO USE IN PERSEED-WEB\n\nexport type BaseContainerWidgetPayload<T extends ContainerWidgetType | undefined = undefined> = {\n id?: number\n title: string\n description?: string\n type: T | ContainerWidgetType\n library: boolean\n config?: WidgetBlockConfig\n position?: number\n created_user: number\n}\n\nexport type BaseContainerWidget = BaseContainerWidgetPayload & WidgetTypeProps\n\nexport type GenericParams =\n | SectionCardProps\n | ValueCardProps\n | PatientListProps\n | ContainerWidgetProps\n | ModalProps\n | SidebarProps\n\nexport type ContainerChildrenWidget<T extends ContainerWidgetType | undefined = undefined> =\n ContainerBaseWidgetPayload &\n BaseContainerWidgetPayload<T> & {\n id: number\n type: ContainerWidgetType\n params: GenericParams\n }\n\nexport type ContainerWidget<T extends ContainerWidgetType | undefined = undefined> = T extends ContainerWidgetType\n ? {\n id: number\n widgets?: ContainerChildrenWidget[]\n } & ContainerWidgetTypeToParams[T] &\n BaseContainerWidgetPayload<T>\n : {\n id: number\n params: any\n widgets?: ContainerChildrenWidget[]\n } & BaseContainerWidgetPayload<T>\n\nexport type ContainerTypeToParams = {\n [ContainerType.DASHBOARD]: {\n params: ContainerWidgetProps\n }\n [ContainerType.MODAL]: {\n params: ModalProps\n }\n [ContainerType.SIDEBAR]: {\n params: SidebarProps\n }\n}\n\nexport type WidgetTypeToParams = {\n [WidgetType.SECTIONCARD]: {\n params: SectionCardProps\n }\n [WidgetType.VALUECARD]: {\n params: ValueCardProps\n }\n [WidgetType.PATIENTLIST]: {\n params: PatientListProps\n }\n [WidgetType.QUESTIONNAIRE_LOG]: { params: EmptyProps }\n [WidgetType.PATIENTS_PROGRAMS]: { params: EmptyProps }\n [WidgetType.PATIENTS]: { params: EmptyProps }\n [WidgetType.ADHERENCE_SUMMARY]: { params: EmptyProps }\n [WidgetType.FORM_LIST]: {\n params: FormListProps\n }\n [WidgetType.FORMS_LIST]: {\n params: FormsListProps\n }\n}\n\nexport type ContainerWidgetTypeToParams = ContainerTypeToParams & WidgetTypeToParams\n","import { ConditionsRules } from '../../notification_configuration/types'\nimport {\n IconPresentationWidgetProps,\n IconTextPresentationWidgetProps,\n LinkPresentationWidgetFields,\n TextPresentationWidgetProps,\n} from './presentationWidgetTypes'\nimport { ListPresentationWidgetProps } from './presentationWidgetTypes/ListPresentationWidget'\n\nexport interface PatientListProps {\n loadUserProfiles?: boolean\n loadAdherence?: boolean\n extraFields?: string[]\n loadPushTokens?: boolean\n loadUserAccessData?: boolean\n programId?: number | null\n prevAdherenceDays?: number | null\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n}\n\nexport interface FormListProps {\n fields?: string[]\n filter?: FilterParams\n relatedData?: RelatedDataParams\n calculatedColumns?: CalculatedColumn[]\n columns?: PatientListColumn[]\n appearance?: PatientListAppearance\n mainForm: string\n}\n\nexport interface SortBy {\n field: string\n orderType: OrderType\n}\n\nexport interface FormListDataConfig {\n fields: string[]\n conditions?: Record<string, unknown>\n limit?: number | null\n sortBy?: SortBy[]\n mainForm?: boolean\n}\n\nexport interface FormListColumnLayoutConfig {\n widgetType?: PresentationWidget\n title?: string\n source?: string\n widgetSettings?: PresentationWidgetSettingsV2\n hidden?: boolean\n aggregation?: ColumnAggregation\n}\n\nexport interface FormListBodyConditionalProps {\n conditions?: string\n continueEvaluate?: boolean\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n}\n\nexport interface FormListAppearanceConfig {\n body?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n conditionalProps?: FormListBodyConditionalProps[]\n }\n header?: {\n textColor?: string\n bgColor?: string\n fontSize?: number | null\n fontWeight?: number | null\n }\n}\n\nexport interface FormListLayoutConfig {\n columns?: FormListColumnLayoutConfig[]\n}\n\n// FORM_LIST V2\nexport interface FormsListProps {\n data: {\n [key: string]: FormListDataConfig\n }\n layout?: FormListLayoutConfig\n appearance?: FormListAppearanceConfig\n}\n\nexport type PresentationWidgetSettingsV2 =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | LinkPresentationWidgetFields\n\nexport type PresentationWidgetSettings =\n | TextPresentationWidgetProps\n | IconPresentationWidgetProps\n | IconTextPresentationWidgetProps\n | ListPresentationWidgetProps\n\nexport interface PatientListColumn {\n hidden?: boolean\n position?: number\n label?: string\n key: string\n notVisible?: boolean\n presentationWidget?: PresentationWidget\n presentationWidgetSettings?: PresentationWidgetSettings\n}\n\nexport interface RelatedConditions {\n conditions?: Record<string, unknown>\n limit?: number | null\n order?: Order[]\n}\n\nexport interface FilterParams {\n conditions?: Record<string, unknown>\n relations?: {\n [key: string]: RelatedConditions\n }\n}\n\nexport interface RelatedDataParams {\n join?: string[]\n}\n\nexport interface CalculatedColumn {\n key: string\n label?: string\n template: string\n notVisible?: boolean\n type: ColumnType\n}\n\nexport interface PatientListAppearance {\n backgroundColor?: PatientListBackgroundColor[]\n order?: Order[]\n}\n\nexport interface PatientListBackgroundColor {\n conditions?: ConditionsRules\n backgroundColor: string\n continueEvaluate?: boolean\n}\n\nexport enum ColumnType {\n TEXT = 'text',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n DATE = 'date',\n TIME = 'time',\n DATETIME = 'datetime',\n}\n\nexport interface Order {\n order: OrderType\n orderBy: string\n}\n\nexport enum OrderType {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum PresentationWidget {\n TEXT = 'text',\n ICON = 'icon',\n ICON_TEXT = 'icon_text',\n LIST = 'list',\n REPEATABLE_FIELD = 'repeatable_field',\n LINK = 'link',\n}\n\nexport enum AggregationType {\n FIRST = 'first',\n LAST = 'last',\n POSITION = 'position',\n AVG = 'avg',\n SUM = 'sum',\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n STDDEV = 'stddev',\n}\n\nexport interface ColumnAggregation {\n type: AggregationType\n position?: number\n}\n","import { PresentationWidgetWithConditionalProps } from './Generic'\n\nexport type IconTextPresentationWidgetProps = PresentationWidgetWithConditionalProps<IconTextPresentationWidgetFields>\n\nexport interface IconTextPresentationWidgetFields {\n template?: string\n textColor?: string\n icon: string\n iconColor?: string\n iconPosition: IconPosition\n bgColor?: string\n}\n\nexport enum IconPosition {\n UP = 'up',\n DOWN = 'down',\n LEFT = 'left',\n RIGHT = 'right',\n}\n","export enum LinkType {\n EXTERNAL = 'external',\n INTERNAL = 'internal',\n}\n\nexport interface LinkPresentationWidgetFields {\n url?: string\n displayText?: string\n bgColor?: string\n textColor?: string\n underline?: boolean\n linkType?: LinkType\n openInNewTab?: boolean\n targetWidgetId?: number\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\n\nexport enum ModalSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n FULLSCREEN = 'fullscreen',\n CUSTOM = 'custom',\n}\n\nexport interface ModalConfig {\n size: ModalSize\n width?: string\n height?: string\n}\n\nexport interface ModalProps extends Omit<ContainerWidgetProps, 'config'> {\n config: ModalConfig\n}\n","import { ContainerWidgetProps } from './ContainerWidgetProps'\n\nexport enum SidebarPlacement {\n LEFT = 'left',\n RIGHT = 'right',\n}\n\nexport enum SidebarSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n CUSTOM = 'custom',\n}\n\nexport interface SidebarConfig {\n placement: SidebarPlacement\n size: SidebarSize\n width?: string\n}\n\nexport interface SidebarProps extends Omit<ContainerWidgetProps, 'config'> {\n config: SidebarConfig\n}\n","export type ModelName = string\n\nexport enum ApiAction {\n QUESTIONNAIRE_CREATE = 'questionnaire.create',\n CRF_CREATE = 'crf.create',\n CRF_UPDATE = 'crf.update',\n CRF_DELETE = 'crf.delete',\n EXTERNAL_API_CALL = 'external_api_call',\n LOG_CREATE = 'log.create',\n BULK_UPLOAD_UPDATE = 'bulk_upload.update',\n INVOKE_LAMBDA = 'invoke_lambda',\n}\n\nexport type NotifiedAboutType =\n | `model_${ModelName}`\n | `model_displayer_${ModelName}`\n | `model_${ModelName}_${TriggerAction}`\n | `model_displayer_${ModelName}_${TriggerAction}`\n\nexport interface CreateTriggerPayload {\n notified_about: NotifiedAboutType\n text_content?: string\n configuration?: NotificationConfigurationConf\n}\n\nexport type UpdateTriggerPayload = Partial<CreateTriggerPayload>\n\nexport interface ConditionExpression {\n [field: string]: ConditionValue\n}\n\nexport interface ConditionOperator {\n AND?: Conditions[]\n OR?: Conditions[]\n NOT?: Conditions[]\n JQ?: string\n}\n\nexport type Conditions = ConditionExpression | ConditionOperator\n\nexport interface ConditionValue {\n equal?: string | number | boolean\n not_equal?: string | number | boolean\n contains?: string\n not_contains?: string\n greater_than?: string | number\n less_than?: string | number\n empty?: string | number | boolean\n not_empty?: string | number | boolean\n parseValue?: boolean\n operator?: 'AND' | 'OR'\n}\n\nexport interface LoadPatientDataType {\n join?: string[]\n where: Record<string, string> | 'auto' // { fieldName: JQ query }\n}\n\nexport enum ConditionsFormat {\n JSON_LOGIC = 'jsonLogic',\n CUSTOM = 'custom',\n}\n\n/**\n * Importing the types from json-logic-js makes the process of generating schema.json fails so we use any instead\n */\nexport type ConditionsRules = Conditions | any /* RulesLogic<AdditionalOperation> */\n\nexport interface NotificationConfigurationConf {\n conditions?: ConditionsRules\n join?: string[]\n load_patient?: LoadPatientDataType\n action?: ApiAction\n conditionsFormat?: ConditionsFormat\n}\n\nexport enum TriggerAction {\n CREATION = 'creation',\n UPDATE = 'update',\n}\n\nexport enum IntrospectionSchemaFieldType {\n TEXT = 'text',\n DATE = 'date',\n TIME = 'time',\n BOOLEAN = 'boolean',\n NUMBER = 'number',\n SELECT = 'select',\n MULTISELECT = 'multiselect',\n HIDDEN = 'hidden',\n}\n\nexport interface IntrospectionField {\n name: string\n type: IntrospectionSchemaFieldType\n options?: { value: string | number; title: string }[]\n label: string\n}\n\nexport interface IntrospectionOption {\n value: string\n label: string\n}\n\nexport interface IntrospectionSchemaModel {\n label: string\n fields: IntrospectionField[]\n relations?: IntrospectionOption[]\n canJoinPatient?: boolean\n}\n\nexport interface IntrospectionSchema {\n models: Record<string, IntrospectionSchemaModel>\n externalApis?: { value: string; label: string; methods?: string | string[] }[]\n lambdas?: { value: string; label: string }[]\n}\n","import { TriggerAction } from '../index'\n\nexport class NotifiedAboutInfo {\n notified_about: string\n\n constructor(notifiedAbout: string) {\n this.notified_about = notifiedAbout\n }\n\n crfName(): string | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.startsWith('crf_')) {\n return this.notified_about.split('_')[1]\n } else if (this.notified_about.startsWith('Patient')) {\n return 'patient'\n } else {\n return null\n }\n }\n\n actionTrigger(): TriggerAction | null {\n // This only supports triggers based on crf (Patient Creation, crf_{crfName}_{crfAction}). Not field triggers\n if (this.notified_about.toLowerCase().endsWith(TriggerAction.UPDATE)) {\n return TriggerAction.UPDATE\n } else if (this.notified_about.toLowerCase().endsWith(TriggerAction.CREATION)) {\n return TriggerAction.CREATION\n }\n return null\n }\n\n isCrfTrigger(): boolean {\n return this.notified_about === PATIENT_CREATION_ABOUT || this.notified_about.startsWith('crf_')\n }\n\n isModelTrigger(): boolean {\n return this.notified_about.startsWith('model_')\n }\n\n isDisplayerTrigger(): boolean {\n return this.notified_about.startsWith('model_displayer_')\n }\n\n isFieldTrigger(): boolean {\n return !isNaN(parseInt(this.notified_about))\n }\n\n getModelName(): string | undefined {\n if (this.isModelTrigger() && !this.isDisplayerTrigger()) {\n // get modelName from 'model_{modelName}_{action}'\n const prefix = 'model_'\n const actionSuffixes = Object.values(TriggerAction)\n\n let modelName = this.notified_about.slice(prefix.length)\n\n for (const suffix of actionSuffixes) {\n if (modelName.endsWith(`_${suffix}`)) {\n modelName = modelName.slice(0, -`_${suffix}`.length)\n break\n }\n }\n\n return modelName\n } else if (this.isDisplayerTrigger()) {\n // Delete all non displayerName parts because can be a subform so it has internal _ in the name\n // Get displayerName from 'model_displayer_{displayerName}_{action}'\n const parts = this.notified_about.split('_')\n\n // If it has action name, delete it\n const lastPart = parts[parts.length - 1]\n if (Object.values(TriggerAction).includes(lastPart as TriggerAction)) {\n parts.pop()\n }\n\n // Ignore the model_displayer_ part and return the rest\n return parts.slice(2).join('_')\n }\n\n return undefined\n }\n\n getModelTriggerAction(): string | null {\n const modelName = this.getModelName()\n if (modelName && this.isDisplayerTrigger()) {\n return this.notified_about\n .replace(`model_displayer_${modelName}_`, '')\n .replace(`model_displayer_${modelName}`, '')\n } else if (modelName && this.isModelTrigger()) {\n return this.notified_about.replace(`model_${modelName}_`, '').replace(`model_${modelName}`, '')\n }\n return null\n }\n}\n\nexport const PATIENT_CREATION_ABOUT = 'Patient Creation'\n","import type { Dayjs } from 'dayjs'\n\nexport interface CreateQuestionnairePayload {\n patientId?: number\n type: 'unique' | 'periodic'\n date: string\n untilDate?: string\n formName: string\n}\n\nexport enum QuestionnaireInfoUpdateMode {\n START_OVER = 0,\n RESUME = 1,\n}\n\nexport interface QuestionnaireInfoUpdateOptions {\n defaultMode: QuestionnaireInfoUpdateMode\n referenceFieldIdModes?: {\n [key: string]: QuestionnaireInfoUpdateMode\n }\n}\n\nexport interface QuestionnaireInfoPatchData {\n crf_name?: string\n patient_id: number\n number_of_questionaries?: number | null\n last_update?: string | null\n last_update_form_id?: number | null\n procedure_date: string // reference date is a date time but should be considered as a date\n activation_date?: Dayjs | string | null // window start\n end_date?: string | null // window end\n next_date?: string | null // next window start\n finish_date?: string | null // global finish date\n questionaries_not_filled?: number | null\n flexible_entry?: number\n field_reference_id?: number | null\n total_tasks: number\n activation_time_tz?: string | null\n}\n\nexport interface QuestionnaireInfoData extends QuestionnaireInfoPatchData {\n id: number\n}\n","export enum ProcessLogType {\n LOG = 0,\n RESULT = 1,\n WARNING = -1,\n ERROR = -2,\n}\n\nexport interface CreateProcessLogPayload {\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n longLog?: string\n extraData?: Record<string, any>\n type: ProcessLogType\n requiresAttention?: boolean\n reviewed?: boolean\n}\n\nexport interface UpdateProcessLogPayload {\n reviewed?: boolean\n}\n\nexport interface ProcessLog {\n id: number\n relatedModel?: string\n relatedId?: string\n code?: ProcessLogCode\n log: string\n type: ProcessLogType\n reviewed?: boolean\n created_user?: number\n related_model?: string\n related_id?: string\n long_log?: string\n extra_data?: Record<string, any>\n requires_attention?: boolean\n reviewed_date?: string\n project_id?: number\n}\n\nexport enum ProcessLogCode {\n BULK_UPLOAD_BATCH = 'bulk_upload_batch',\n BULK_UPLOAD_SUCCESS = 'bulk_upload_success',\n BULK_UPLOAD_ERROR = 'bulk_upload_error',\n}\n\n// TODO Document and type the process log creation and fields!!\n","export interface UpdateBulkUploadPayload {\n id: number\n patientId?: number\n formId?: number\n hospitalId?: number\n}\n\nexport enum BulkUploadStatus {\n error = -1,\n uploaded = 0,\n success = 1,\n}\n"],"names":["FORM_TYPES","STATUS","ContainerType","WidgetType","DataLoaderType","ColumnType","OrderType","PresentationWidget","AggregationType","IconPosition","LinkType","ModalSize","SidebarPlacement","SidebarSize","ApiAction","ConditionsFormat","TriggerAction","IntrospectionSchemaFieldType","QuestionnaireInfoUpdateMode","ProcessLogType","ProcessLogCode","BulkUploadStatus"],"mappings":"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A,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;ACheO,MAAM,aAAa;AACnB,MAAM,eAAe;ACarB,IAAK,kCAAAC,mBAAL;AACLA,iBAAA,WAAA,IAAY;AACZA,iBAAA,OAAA,IAAQ;AACRA,iBAAA,SAAA,IAAU;AAHA,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AASL,IAAK,+BAAAC,gBAAL;AACLA,cAAA,WAAA,IAAY;AACZA,cAAA,aAAA,IAAc;AACdA,cAAA,aAAA,IAAc;AACdA,cAAA,mBAAA,IAAoB;AACpBA,cAAA,mBAAA,IAAoB;AACpBA,cAAA,UAAA,IAAW;AACXA,cAAA,mBAAA,IAAoB;AACpBA,cAAA,WAAA,IAAY;AACZA,cAAA,YAAA,IAAa;AATH,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;AAkBL,MAAM,sBAAsB;AAAA,EACjC,GAAG;AAAA,EACH,GAAG;AACL;AA+CO,IAAK,mCAAAC,oBAAL;AACLA,kBAAA,UAAA,IAAW;AADD,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AC4DL,IAAK,+BAAAC,gBAAL;AACLA,cAAA,MAAA,IAAO;AACPA,cAAA,QAAA,IAAS;AACTA,cAAA,SAAA,IAAU;AACVA,cAAA,MAAA,IAAO;AACPA,cAAA,MAAA,IAAO;AACPA,cAAA,UAAA,IAAW;AAND,SAAAA;AAAA,GAAA,cAAA,CAAA,CAAA;AAcL,IAAK,8BAAAC,eAAL;AACLA,aAAA,KAAA,IAAM;AACNA,aAAA,MAAA,IAAO;AAFG,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAKL,IAAK,uCAAAC,wBAAL;AACLA,sBAAA,MAAA,IAAO;AACPA,sBAAA,MAAA,IAAO;AACPA,sBAAA,WAAA,IAAY;AACZA,sBAAA,MAAA,IAAO;AACPA,sBAAA,kBAAA,IAAmB;AACnBA,sBAAA,MAAA,IAAO;AANG,SAAAA;AAAA,GAAA,sBAAA,CAAA,CAAA;AASL,IAAK,oCAAAC,qBAAL;AACLA,mBAAA,OAAA,IAAQ;AACRA,mBAAA,MAAA,IAAO;AACPA,mBAAA,UAAA,IAAW;AACXA,mBAAA,KAAA,IAAM;AACNA,mBAAA,KAAA,IAAM;AACNA,mBAAA,KAAA,IAAM;AACNA,mBAAA,KAAA,IAAM;AACNA,mBAAA,QAAA,IAAS;AACTA,mBAAA,QAAA,IAAS;AATC,SAAAA;AAAA,GAAA,mBAAA,CAAA,CAAA;ACvKL,IAAK,iCAAAC,kBAAL;AACLA,gBAAA,IAAA,IAAK;AACLA,gBAAA,MAAA,IAAO;AACPA,gBAAA,MAAA,IAAO;AACPA,gBAAA,OAAA,IAAQ;AAJE,SAAAA;AAAA,GAAA,gBAAA,CAAA,CAAA;ACbL,IAAK,6BAAAC,cAAL;AACLA,YAAA,UAAA,IAAW;AACXA,YAAA,UAAA,IAAW;AAFD,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;ACEL,IAAK,8BAAAC,eAAL;AACLA,aAAA,OAAA,IAAQ;AACRA,aAAA,QAAA,IAAS;AACTA,aAAA,OAAA,IAAQ;AACRA,aAAA,YAAA,IAAa;AACbA,aAAA,QAAA,IAAS;AALC,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;ACAL,IAAK,qCAAAC,sBAAL;AACLA,oBAAA,MAAA,IAAO;AACPA,oBAAA,OAAA,IAAQ;AAFE,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAKL,IAAK,gCAAAC,iBAAL;AACLA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AACTA,eAAA,OAAA,IAAQ;AACRA,eAAA,QAAA,IAAS;AAJC,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;ACLL,IAAK,8BAAAC,eAAL;AACLA,aAAA,sBAAA,IAAuB;AACvBA,aAAA,YAAA,IAAa;AACbA,aAAA,YAAA,IAAa;AACbA,aAAA,YAAA,IAAa;AACbA,aAAA,mBAAA,IAAoB;AACpBA,aAAA,YAAA,IAAa;AACbA,aAAA,oBAAA,IAAqB;AACrBA,aAAA,eAAA,IAAgB;AARN,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAwDL,IAAK,qCAAAC,sBAAL;AACLA,oBAAA,YAAA,IAAa;AACbA,oBAAA,QAAA,IAAS;AAFC,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;AAkBL,IAAK,kCAAAC,mBAAL;AACLA,iBAAA,UAAA,IAAW;AACXA,iBAAA,QAAA,IAAS;AAFC,SAAAA;AAAA,GAAA,iBAAA,CAAA,CAAA;AAKL,IAAK,iDAAAC,kCAAL;AACLA,gCAAA,MAAA,IAAO;AACPA,gCAAA,MAAA,IAAO;AACPA,gCAAA,MAAA,IAAO;AACPA,gCAAA,SAAA,IAAU;AACVA,gCAAA,QAAA,IAAS;AACTA,gCAAA,QAAA,IAAS;AACTA,gCAAA,aAAA,IAAc;AACdA,gCAAA,QAAA,IAAS;AARC,SAAAA;AAAA,GAAA,gCAAA,CAAA,CAAA;AC/EL,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EAEA,YAAY,eAAuB;AACjC,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,UAAyB;AAEvB,QAAI,KAAK,eAAe,WAAW,MAAM,GAAG;AAC1C,aAAO,KAAK,eAAe,MAAM,GAAG,EAAE,CAAC;AAAA,IACzC,WAAW,KAAK,eAAe,WAAW,SAAS,GAAG;AACpD,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,gBAAsC;AAEpC,QAAI,KAAK,eAAe,YAAA,EAAc,SAAS,cAAc,MAAM,GAAG;AACpE,aAAO,cAAc;AAAA,IACvB,WAAW,KAAK,eAAe,YAAA,EAAc,SAAS,cAAc,QAAQ,GAAG;AAC7E,aAAO,cAAc;AAAA,IACvB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,eAAwB;AACtB,WAAO,KAAK,mBAAmB,0BAA0B,KAAK,eAAe,WAAW,MAAM;AAAA,EAChG;AAAA,EAEA,iBAA0B;AACxB,WAAO,KAAK,eAAe,WAAW,QAAQ;AAAA,EAChD;AAAA,EAEA,qBAA8B;AAC5B,WAAO,KAAK,eAAe,WAAW,kBAAkB;AAAA,EAC1D;AAAA,EAEA,iBAA0B;AACxB,WAAO,CAAC,MAAM,SAAS,KAAK,cAAc,CAAC;AAAA,EAC7C;AAAA,EAEA,eAAmC;AACjC,QAAI,KAAK,eAAA,KAAoB,CAAC,KAAK,sBAAsB;AAEvD,YAAM,SAAS;AACf,YAAM,iBAAiB,OAAO,OAAO,aAAa;AAElD,UAAI,YAAY,KAAK,eAAe,MAAM,OAAO,MAAM;AAEvD,iBAAW,UAAU,gBAAgB;AACnC,YAAI,UAAU,SAAS,IAAI,MAAM,EAAE,GAAG;AACpC,sBAAY,UAAU,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,MAAM;AACnD;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT,WAAW,KAAK,sBAAsB;AAGpC,YAAM,QAAQ,KAAK,eAAe,MAAM,GAAG;AAG3C,YAAM,WAAW,MAAM,MAAM,SAAS,CAAC;AACvC,UAAI,OAAO,OAAO,aAAa,EAAE,SAAS,QAAyB,GAAG;AACpE,cAAM,IAAA;AAAA,MACR;AAGA,aAAO,MAAM,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,IAChC;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,wBAAuC;AACrC,UAAM,YAAY,KAAK,aAAA;AACvB,QAAI,aAAa,KAAK,sBAAsB;AAC1C,aAAO,KAAK,eACT,QAAQ,mBAAmB,SAAS,KAAK,EAAE,EAC3C,QAAQ,mBAAmB,SAAS,IAAI,EAAE;AAAA,IAC/C,WAAW,aAAa,KAAK,eAAA,GAAkB;AAC7C,aAAO,KAAK,eAAe,QAAQ,SAAS,SAAS,KAAK,EAAE,EAAE,QAAQ,SAAS,SAAS,IAAI,EAAE;AAAA,IAChG;AACA,WAAO;AAAA,EACT;AACF;AAEO,MAAM,yBAAyB;ACnF/B,IAAK,gDAAAC,iCAAL;AACLA,+BAAAA,6BAAA,gBAAa,CAAA,IAAb;AACAA,+BAAAA,6BAAA,YAAS,CAAA,IAAT;AAFU,SAAAA;AAAA,GAAA,+BAAA,CAAA,CAAA;ACVL,IAAK,mCAAAC,oBAAL;AACLA,kBAAAA,gBAAA,SAAM,CAAA,IAAN;AACAA,kBAAAA,gBAAA,YAAS,CAAA,IAAT;AACAA,kBAAAA,gBAAA,aAAU,EAAA,IAAV;AACAA,kBAAAA,gBAAA,WAAQ,EAAA,IAAR;AAJU,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAyCL,IAAK,mCAAAC,oBAAL;AACLA,kBAAA,mBAAA,IAAoB;AACpBA,kBAAA,qBAAA,IAAsB;AACtBA,kBAAA,mBAAA,IAAoB;AAHV,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AClCL,IAAK,qCAAAC,sBAAL;AACLA,oBAAAA,kBAAA,WAAQ,EAAA,IAAR;AACAA,oBAAAA,kBAAA,cAAW,CAAA,IAAX;AACAA,oBAAAA,kBAAA,aAAU,CAAA,IAAV;AAHU,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}