fuse-importer 0.7.0

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 (222) hide show
  1. package/lib/esm/Importer/Footer.d.ts +3 -0
  2. package/lib/esm/Importer/Footer.js +27 -0
  3. package/lib/esm/Importer/Footer.js.map +1 -0
  4. package/lib/esm/Importer/ImporterContextProvider.d.ts +54 -0
  5. package/lib/esm/Importer/ImporterContextProvider.js +170 -0
  6. package/lib/esm/Importer/ImporterContextProvider.js.map +1 -0
  7. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.d.ts +4 -0
  8. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.js +33 -0
  9. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.js.map +1 -0
  10. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.d.ts +14 -0
  11. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.js +58 -0
  12. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.js.map +1 -0
  13. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcherContext.d.ts +11 -0
  14. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcherContext.js +22 -0
  15. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcherContext.js.map +1 -0
  16. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.d.ts +2 -0
  17. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.js +22 -0
  18. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.js.map +1 -0
  19. package/lib/esm/Importer/Matcher/HeaderMatcher/index.d.ts +3 -0
  20. package/lib/esm/Importer/Matcher/HeaderMatcher/index.js +56 -0
  21. package/lib/esm/Importer/Matcher/HeaderMatcher/index.js.map +1 -0
  22. package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.d.ts +20 -0
  23. package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.js +62 -0
  24. package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.js.map +1 -0
  25. package/lib/esm/Importer/Matcher/common/icons/index.d.ts +3 -0
  26. package/lib/esm/Importer/Matcher/common/icons/index.js +15 -0
  27. package/lib/esm/Importer/Matcher/common/icons/index.js.map +1 -0
  28. package/lib/esm/Importer/Matcher/common/types.d.ts +7 -0
  29. package/lib/esm/Importer/Matcher/common/types.js +10 -0
  30. package/lib/esm/Importer/Matcher/common/types.js.map +1 -0
  31. package/lib/esm/Importer/Matcher/index.d.ts +3 -0
  32. package/lib/esm/Importer/Matcher/index.js +37 -0
  33. package/lib/esm/Importer/Matcher/index.js.map +1 -0
  34. package/lib/esm/Importer/Review.d.ts +3 -0
  35. package/lib/esm/Importer/Review.js +99 -0
  36. package/lib/esm/Importer/Review.js.map +1 -0
  37. package/lib/esm/Importer/SpreadsheetReviewContextProvider.d.ts +18 -0
  38. package/lib/esm/Importer/SpreadsheetReviewContextProvider.js +112 -0
  39. package/lib/esm/Importer/SpreadsheetReviewContextProvider.js.map +1 -0
  40. package/lib/esm/Importer/Stepper.d.ts +6 -0
  41. package/lib/esm/Importer/Stepper.js +132 -0
  42. package/lib/esm/Importer/Stepper.js.map +1 -0
  43. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.d.ts +3 -0
  44. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.js +90 -0
  45. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.js.map +1 -0
  46. package/lib/esm/Importer/Uploader/DragAndDropImporter/backgrounds.d.ts +3 -0
  47. package/lib/esm/Importer/Uploader/DragAndDropImporter/backgrounds.js +15 -0
  48. package/lib/esm/Importer/Uploader/DragAndDropImporter/backgrounds.js.map +1 -0
  49. package/lib/esm/Importer/Uploader/DragAndDropImporter/index.d.ts +4 -0
  50. package/lib/esm/Importer/Uploader/DragAndDropImporter/index.js +68 -0
  51. package/lib/esm/Importer/Uploader/DragAndDropImporter/index.js.map +1 -0
  52. package/lib/esm/Importer/Uploader/HeadersPreview.d.ts +3 -0
  53. package/lib/esm/Importer/Uploader/HeadersPreview.js +75 -0
  54. package/lib/esm/Importer/Uploader/HeadersPreview.js.map +1 -0
  55. package/lib/esm/Importer/Uploader/UploaderContextProvider.d.ts +13 -0
  56. package/lib/esm/Importer/Uploader/UploaderContextProvider.js +28 -0
  57. package/lib/esm/Importer/Uploader/UploaderContextProvider.js.map +1 -0
  58. package/lib/esm/Importer/Uploader/index.d.ts +3 -0
  59. package/lib/esm/Importer/Uploader/index.js +14 -0
  60. package/lib/esm/Importer/Uploader/index.js.map +1 -0
  61. package/lib/esm/Importer/common/AppLoading.d.ts +2 -0
  62. package/lib/esm/Importer/common/AppLoading.js +25 -0
  63. package/lib/esm/Importer/common/AppLoading.js.map +1 -0
  64. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.d.ts +45 -0
  65. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.js +291 -0
  66. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.js.map +1 -0
  67. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetRowNumbers.d.ts +7 -0
  68. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetRowNumbers.js +52 -0
  69. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetRowNumbers.js.map +1 -0
  70. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpeadsheetAutocomplete.d.ts +6 -0
  71. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpeadsheetAutocomplete.js +36 -0
  72. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpeadsheetAutocomplete.js.map +1 -0
  73. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpreadsheetTextInput.d.ts +16 -0
  74. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpreadsheetTextInput.js +36 -0
  75. package/lib/esm/Importer/common/Spreadsheet/common/fields/SpreadsheetTextInput.js.map +1 -0
  76. package/lib/esm/Importer/common/Spreadsheet/common/fields/index.d.ts +14 -0
  77. package/lib/esm/Importer/common/Spreadsheet/common/fields/index.js +149 -0
  78. package/lib/esm/Importer/common/Spreadsheet/common/fields/index.js.map +1 -0
  79. package/lib/esm/Importer/common/Spreadsheet/common/index.d.ts +14 -0
  80. package/lib/esm/Importer/common/Spreadsheet/common/index.js +60 -0
  81. package/lib/esm/Importer/common/Spreadsheet/common/index.js.map +1 -0
  82. package/lib/esm/Importer/common/Spreadsheet/index.d.ts +18 -0
  83. package/lib/esm/Importer/common/Spreadsheet/index.js +176 -0
  84. package/lib/esm/Importer/common/Spreadsheet/index.js.map +1 -0
  85. package/lib/esm/Importer/common/icons/index.d.ts +4 -0
  86. package/lib/esm/Importer/common/icons/index.js +16 -0
  87. package/lib/esm/Importer/common/icons/index.js.map +1 -0
  88. package/lib/esm/Importer/common/utils.d.ts +10 -0
  89. package/lib/esm/Importer/common/utils.js +18 -0
  90. package/lib/esm/Importer/common/utils.js.map +1 -0
  91. package/lib/esm/Importer/index.d.ts +15 -0
  92. package/lib/esm/Importer/index.js +54 -0
  93. package/lib/esm/Importer/index.js.map +1 -0
  94. package/lib/esm/api/index.d.ts +15 -0
  95. package/lib/esm/api/index.js +94 -0
  96. package/lib/esm/api/index.js.map +1 -0
  97. package/lib/esm/api/responseHandlers.d.ts +4 -0
  98. package/lib/esm/api/responseHandlers.js +50 -0
  99. package/lib/esm/api/responseHandlers.js.map +1 -0
  100. package/lib/esm/common/DWToast.d.ts +5 -0
  101. package/lib/esm/common/DWToast.js +69 -0
  102. package/lib/esm/common/DWToast.js.map +1 -0
  103. package/lib/esm/common/Modal.d.ts +13 -0
  104. package/lib/esm/common/Modal.js +29 -0
  105. package/lib/esm/common/Modal.js.map +1 -0
  106. package/lib/esm/common/Spinner.d.ts +6 -0
  107. package/lib/esm/common/Spinner.js +42 -0
  108. package/lib/esm/common/Spinner.js.map +1 -0
  109. package/lib/esm/common/Table/Pagination/icons.d.ts +12 -0
  110. package/lib/esm/common/Table/Pagination/icons.js +43 -0
  111. package/lib/esm/common/Table/Pagination/icons.js.map +1 -0
  112. package/lib/esm/common/Table/Pagination/index.d.ts +3 -0
  113. package/lib/esm/common/Table/Pagination/index.js +33 -0
  114. package/lib/esm/common/Table/Pagination/index.js.map +1 -0
  115. package/lib/esm/common/Table/TableDataProvider.d.ts +35 -0
  116. package/lib/esm/common/Table/TableDataProvider.js +127 -0
  117. package/lib/esm/common/Table/TableDataProvider.js.map +1 -0
  118. package/lib/esm/common/Table/TableView/TableHeaders.d.ts +19 -0
  119. package/lib/esm/common/Table/TableView/TableHeaders.js +71 -0
  120. package/lib/esm/common/Table/TableView/TableHeaders.js.map +1 -0
  121. package/lib/esm/common/Table/TableView/TableRow.d.ts +16 -0
  122. package/lib/esm/common/Table/TableView/TableRow.js +58 -0
  123. package/lib/esm/common/Table/TableView/TableRow.js.map +1 -0
  124. package/lib/esm/common/Table/TableView/common.d.ts +3 -0
  125. package/lib/esm/common/Table/TableView/common.js +19 -0
  126. package/lib/esm/common/Table/TableView/common.js.map +1 -0
  127. package/lib/esm/common/Table/TableView/index.d.ts +40 -0
  128. package/lib/esm/common/Table/TableView/index.js +92 -0
  129. package/lib/esm/common/Table/TableView/index.js.map +1 -0
  130. package/lib/esm/common/Table/icons.d.ts +3 -0
  131. package/lib/esm/common/Table/icons.js +15 -0
  132. package/lib/esm/common/Table/icons.js.map +1 -0
  133. package/lib/esm/common/Table/index.d.ts +10 -0
  134. package/lib/esm/common/Table/index.js +46 -0
  135. package/lib/esm/common/Table/index.js.map +1 -0
  136. package/lib/esm/common/TooltipProvider.d.ts +13 -0
  137. package/lib/esm/common/TooltipProvider.js +48 -0
  138. package/lib/esm/common/TooltipProvider.js.map +1 -0
  139. package/lib/esm/common/buttons.d.ts +18 -0
  140. package/lib/esm/common/buttons.js +57 -0
  141. package/lib/esm/common/buttons.js.map +1 -0
  142. package/lib/esm/common/icons/index.d.ts +12 -0
  143. package/lib/esm/common/icons/index.js +24 -0
  144. package/lib/esm/common/icons/index.js.map +1 -0
  145. package/lib/esm/common/index.d.ts +24 -0
  146. package/lib/esm/common/index.js +42 -0
  147. package/lib/esm/common/index.js.map +1 -0
  148. package/lib/esm/common/inputs/Autocomplete.d.ts +16 -0
  149. package/lib/esm/common/inputs/Autocomplete.js +61 -0
  150. package/lib/esm/common/inputs/Autocomplete.js.map +1 -0
  151. package/lib/esm/common/inputs/SelectMenu.d.ts +11 -0
  152. package/lib/esm/common/inputs/SelectMenu.js +48 -0
  153. package/lib/esm/common/inputs/SelectMenu.js.map +1 -0
  154. package/lib/esm/common/inputs/TextInput.d.ts +19 -0
  155. package/lib/esm/common/inputs/TextInput.js +69 -0
  156. package/lib/esm/common/inputs/TextInput.js.map +1 -0
  157. package/lib/esm/common/inputs/index.d.ts +3 -0
  158. package/lib/esm/common/inputs/index.js +4 -0
  159. package/lib/esm/common/inputs/index.js.map +1 -0
  160. package/lib/esm/common/logo.d.ts +2 -0
  161. package/lib/esm/common/logo.js +14 -0
  162. package/lib/esm/common/logo.js.map +1 -0
  163. package/lib/esm/hooks/index.d.ts +5 -0
  164. package/lib/esm/hooks/index.js +17 -0
  165. package/lib/esm/hooks/index.js.map +1 -0
  166. package/lib/esm/index.d.ts +19 -0
  167. package/lib/esm/index.js +34 -0
  168. package/lib/esm/index.js.map +1 -0
  169. package/lib/esm/styled/index.d.ts +3 -0
  170. package/lib/esm/styled/index.js +4 -0
  171. package/lib/esm/styled/index.js.map +1 -0
  172. package/lib/esm/styled/theme/animations.d.ts +3 -0
  173. package/lib/esm/styled/theme/animations.js +10 -0
  174. package/lib/esm/styled/theme/animations.js.map +1 -0
  175. package/lib/esm/styled/theme/colorPalette.d.ts +155 -0
  176. package/lib/esm/styled/theme/colorPalette.js +102 -0
  177. package/lib/esm/styled/theme/colorPalette.js.map +1 -0
  178. package/lib/esm/styled/theme/debugCss.d.ts +9 -0
  179. package/lib/esm/styled/theme/debugCss.js +16 -0
  180. package/lib/esm/styled/theme/debugCss.js.map +1 -0
  181. package/lib/esm/styled/theme/dimensionsCss.d.ts +13 -0
  182. package/lib/esm/styled/theme/dimensionsCss.js +21 -0
  183. package/lib/esm/styled/theme/dimensionsCss.js.map +1 -0
  184. package/lib/esm/styled/theme/fontCss.d.ts +12 -0
  185. package/lib/esm/styled/theme/fontCss.js +19 -0
  186. package/lib/esm/styled/theme/fontCss.js.map +1 -0
  187. package/lib/esm/styled/theme/globalCss.d.ts +15 -0
  188. package/lib/esm/styled/theme/globalCss.js +26 -0
  189. package/lib/esm/styled/theme/globalCss.js.map +1 -0
  190. package/lib/esm/styled/theme/index.d.ts +311 -0
  191. package/lib/esm/styled/theme/index.js +32 -0
  192. package/lib/esm/styled/theme/index.js.map +1 -0
  193. package/lib/esm/styled/theme/layoutCss.d.ts +20 -0
  194. package/lib/esm/styled/theme/layoutCss.js +27 -0
  195. package/lib/esm/styled/theme/layoutCss.js.map +1 -0
  196. package/lib/esm/styled/theme/mediaQueries.d.ts +4 -0
  197. package/lib/esm/styled/theme/mediaQueries.js +5 -0
  198. package/lib/esm/styled/theme/mediaQueries.js.map +1 -0
  199. package/lib/esm/styled/theme/positionCss.d.ts +20 -0
  200. package/lib/esm/styled/theme/positionCss.js +28 -0
  201. package/lib/esm/styled/theme/positionCss.js.map +1 -0
  202. package/lib/esm/styled/theme/textCss.d.ts +11 -0
  203. package/lib/esm/styled/theme/textCss.js +18 -0
  204. package/lib/esm/styled/theme/textCss.js.map +1 -0
  205. package/lib/esm/styled/theme/textStyles.d.ts +20 -0
  206. package/lib/esm/styled/theme/textStyles.js +27 -0
  207. package/lib/esm/styled/theme/textStyles.js.map +1 -0
  208. package/lib/esm/styled/themeType.d.ts +4 -0
  209. package/lib/esm/styled/themeType.js +6 -0
  210. package/lib/esm/styled/themeType.js.map +1 -0
  211. package/lib/esm/styled/utils.d.ts +14 -0
  212. package/lib/esm/styled/utils.js +15 -0
  213. package/lib/esm/styled/utils.js.map +1 -0
  214. package/lib/esm/types.d.ts +46 -0
  215. package/lib/esm/types.js +12 -0
  216. package/lib/esm/types.js.map +1 -0
  217. package/lib/esm/utils/index.d.ts +1 -0
  218. package/lib/esm/utils/index.js +4 -0
  219. package/lib/esm/utils/index.js.map +1 -0
  220. package/lib/main.js +2 -0
  221. package/lib/main.js.LICENSE.txt +56 -0
  222. package/package.json +65 -0
@@ -0,0 +1,149 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
53
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
54
+ if (ar || !(i in from)) {
55
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
56
+ ar[i] = from[i];
57
+ }
58
+ }
59
+ return to.concat(ar || Array.prototype.slice.call(from));
60
+ };
61
+ import { jsx as _jsx } from "react/jsx-runtime";
62
+ import { useEffect, useRef, useState } from "react";
63
+ import styled, { css } from "styled-components";
64
+ import { getRecordErrors, getRenderedRecordWithErrors } from "..";
65
+ import { TooltipProvider } from "../../../../../common/TooltipProvider";
66
+ import { Div } from "../../../../../styled/utils";
67
+ import { useSpreadsheetReviewContext } from "../../../../SpreadsheetReviewContextProvider";
68
+ import { useSpreadsheetContext } from "../../SpreadsheetContextProvider";
69
+ export var useValidationError = function (fieldName, record) {
70
+ var isSubmitting = useSpreadsheetReviewContext().isSubmitting;
71
+ var _a = useSpreadsheetContext(), fields = _a.fields, submittedData = _a.submittedData, batchValidationErrors = _a.batchValidationErrors;
72
+ var validationError = null;
73
+ if (!isSubmitting) {
74
+ var recordErrors = getRecordErrors({
75
+ record: record,
76
+ fields: fields,
77
+ submittedData: submittedData,
78
+ batchValidationErrors: batchValidationErrors,
79
+ });
80
+ validationError = recordErrors[fieldName];
81
+ }
82
+ return { validationError: validationError };
83
+ };
84
+ export var useSpreadsheetField = function (name, record) {
85
+ var _a = useSpreadsheetContext(), data = _a.data, setData = _a.setData, onValidateRecord = _a.onValidateRecord;
86
+ var _b = useState(record[name]), value = _b[0], setValue = _b[1];
87
+ // used for debouncing validations
88
+ var timeoutIdRef = useRef(null);
89
+ // used for getting updated data in setTimeout
90
+ var isMountedRef = useRef(false);
91
+ var dataRef = useRef(null);
92
+ var recordRef = useRef(null);
93
+ // set latest data on refs
94
+ useEffect(function () {
95
+ dataRef.current = __spreadArray([], data, true);
96
+ recordRef.current = __assign({}, record);
97
+ }, [data, record]);
98
+ // debouncing
99
+ useEffect(function () {
100
+ if (!isMountedRef.current) {
101
+ isMountedRef.current = true;
102
+ return;
103
+ }
104
+ if (timeoutIdRef.current)
105
+ clearTimeout(timeoutIdRef.current);
106
+ timeoutIdRef.current = setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
107
+ var newData, newRecord, rowIndex, _a, _b, _c;
108
+ var _d, _e;
109
+ return __generator(this, function (_f) {
110
+ switch (_f.label) {
111
+ case 0:
112
+ newData = __spreadArray([], dataRef.current, true);
113
+ newRecord = __assign(__assign({}, recordRef.current), (_d = {}, _d[name] = value, _d));
114
+ rowIndex = newData.findIndex(function (r) { return r._meta.id === record._meta.id; });
115
+ _a = newData;
116
+ _b = rowIndex;
117
+ _c = getRenderedRecordWithErrors;
118
+ _e = {
119
+ record: newRecord
120
+ };
121
+ return [4 /*yield*/, onValidateRecord(newRecord)];
122
+ case 1:
123
+ _a[_b] = _c.apply(void 0, [(_e.validationErrors = _f.sent(),
124
+ _e)]);
125
+ setData(newData);
126
+ return [2 /*return*/];
127
+ }
128
+ });
129
+ }); }, 300);
130
+ }, [value]);
131
+ return { value: value, setValue: setValue };
132
+ };
133
+ var ContentContainer = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 100%;\n width: 100%;\n ", ";\n ", "\n ", "\n"], ["\n height: 100%;\n width: 100%;\n ", ";\n ", "\n ", "\n"])), function (p) { return p.theme.css.alignCenter; }, function (p) {
134
+ return p.hasError && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 1px ", " inset;\n "], ["\n color: ", ";\n background: ", ";\n /* internal border */\n box-shadow: 0px 0px 0px 1px ", " inset;\n "])), function (p) { return p.theme.colors.error; }, function (p) { return p.theme.colors.red100; }, function (p) { return p.theme.colors.error; });
135
+ }, function (p) {
136
+ return p.isReadOnly && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n pointer-events: none;\n "], ["\n pointer-events: none;\n "])));
137
+ });
138
+ var Wrapper = styled(Div)(function (_a) {
139
+ var isLoading = _a.isLoading;
140
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), isLoading && css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n pointer-events: none;\n "], ["\n pointer-events: none;\n "]))));
141
+ });
142
+ export var SpreadsheetField = function (_a) {
143
+ var name = _a.name, record = _a.record, children = _a.children;
144
+ var _b = useSpreadsheetContext(), isReadOnly = _b.isReadOnly, isLoading = _b.isLoading;
145
+ var validationError = useValidationError(name, record).validationError;
146
+ return (_jsx(Wrapper, __assign({ dim: "100%", isLoading: isLoading }, { children: _jsx(TooltipProvider, __assign({ tooltip: validationError }, { children: _jsx(Div, __assign({ dim: "100%" }, { children: _jsx(ContentContainer, __assign({ hasError: !!validationError, isReadOnly: isReadOnly }, { children: children }), void 0) }), void 0) }), void 0) }), void 0));
147
+ };
148
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
149
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/Importer/common/Spreadsheet/common/fields/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Field, Record, BatchValidationErrors } from "../../../../types";
2
+ export declare const recordIsEmpty: (record: any, fields: any) => any;
3
+ export declare const getRenderedRecordWithErrors: ({ record, validationErrors, }: {
4
+ record: any;
5
+ validationErrors: any;
6
+ }) => Record;
7
+ declare type GetRecordErrorsArgs = {
8
+ record: Record;
9
+ fields: Field[];
10
+ batchValidationErrors: BatchValidationErrors;
11
+ submittedData: Record[];
12
+ };
13
+ export declare const getRecordErrors: ({ record, fields, batchValidationErrors, submittedData, }: GetRecordErrorsArgs) => {};
14
+ export {};
@@ -0,0 +1,60 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { FieldTypes, } from "../../../../types";
13
+ export var recordIsEmpty = function (record, fields) {
14
+ return fields.reduce(function (isEmptyRecord, f) { return isEmptyRecord && !record[f.name]; }, true);
15
+ };
16
+ export var getRenderedRecordWithErrors = function (_a) {
17
+ var record = _a.record, validationErrors = _a.validationErrors;
18
+ return (__assign(__assign({}, record), { _meta: __assign(__assign({}, (record._meta || {})), { localValidationErrors: validationErrors, wasSeen: true }) }));
19
+ };
20
+ export var getRecordErrors = function (_a) {
21
+ var record = _a.record, fields = _a.fields, batchValidationErrors = _a.batchValidationErrors, submittedData = _a.submittedData;
22
+ var submittedRecord = submittedData === null || submittedData === void 0 ? void 0 : submittedData.find(function (r) { return r._meta.id === record._meta.id; });
23
+ var isEmail = function (value) {
24
+ var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
25
+ return Boolean(value.match(emailRegex));
26
+ };
27
+ var recordHasData = !recordIsEmpty(record, fields);
28
+ if (recordHasData) {
29
+ var recordIsRequiredErrors = fields.reduce(function (errors, field) {
30
+ var newErrors = __assign({}, errors);
31
+ if (field.isRequired && !record[field.name])
32
+ newErrors[field.name] = "".concat(field.label, " is required");
33
+ if (FieldTypes.email === field.type && !isEmail(record[field.name]))
34
+ newErrors[field.name] = "Must be an email";
35
+ return newErrors;
36
+ }, {});
37
+ var recordValidationErrors = (function () {
38
+ var _a;
39
+ if ((_a = record === null || record === void 0 ? void 0 : record._meta) === null || _a === void 0 ? void 0 : _a.wasSeen)
40
+ return record._meta.localValidationErrors;
41
+ return batchValidationErrors
42
+ ? batchValidationErrors[record._meta.id]
43
+ : {};
44
+ })();
45
+ var appValidationErrors = {};
46
+ if (record._meta.appValidationErrors) {
47
+ var appValidationErrorFields = Object.keys(record._meta.appValidationErrors);
48
+ appValidationErrors = appValidationErrorFields.reduce(function (errors, field) {
49
+ var newErrors = __assign({}, errors);
50
+ if (record[field] === submittedRecord[field])
51
+ newErrors[field] = record._meta.appValidationErrors[field];
52
+ return newErrors;
53
+ }, {});
54
+ }
55
+ var recordErrors = __assign(__assign(__assign({}, recordValidationErrors), recordIsRequiredErrors), appValidationErrors);
56
+ return recordErrors;
57
+ }
58
+ return {};
59
+ };
60
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/Importer/common/Spreadsheet/common/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { AppResponse } from "../../..";
3
+ import { Field, OnValidateBatch, OnValidateRecord, Record } from "../../../types";
4
+ export declare type SpreadsheetProps = {
5
+ initialData: any[];
6
+ rowWidth?: number;
7
+ appResponse?: AppResponse;
8
+ isReadOnly?: boolean;
9
+ validationBatchSize?: number;
10
+ onValidateRecord?: OnValidateRecord;
11
+ onValidateBatch?: OnValidateBatch;
12
+ fields?: Field[];
13
+ submittedData?: Record[];
14
+ highlightFirstRow?: boolean;
15
+ setReviewedData?: React.Dispatch<React.SetStateAction<Record[]>>;
16
+ };
17
+ declare const Spreadsheet: ({ isReadOnly, initialData, rowWidth, fields, appResponse, validationBatchSize, onValidateRecord, submittedData, setReviewedData, onValidateBatch, highlightFirstRow, }: SpreadsheetProps) => JSX.Element;
18
+ export { Spreadsheet };
@@ -0,0 +1,176 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (_) try {
32
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
53
+ import { useEffect, useMemo, useRef, useState } from "react";
54
+ import styled, { css } from "styled-components";
55
+ import { TableView as TableViewBase, TableViewCellContainer, TableViewHeader, TableViewRow, } from "../../../common/Table/TableView";
56
+ import { colors } from "../../../styled/theme/colorPalette";
57
+ import { Div } from "../../../styled/utils";
58
+ import { FieldTypes, } from "../../../types";
59
+ import { useSpreadsheetReviewContext } from "../../SpreadsheetReviewContextProvider";
60
+ import { getUnsubmittedData } from "../utils";
61
+ import { SpreadsheetAutocomplete } from "./common/fields/SpeadsheetAutocomplete";
62
+ import { SpreadsheetTextInput } from "./common/fields/SpreadsheetTextInput";
63
+ import { SpreadsheetContextProvider, useSpreadsheetContext, } from "./SpreadsheetContextProvider";
64
+ import { SpreadsheetRowNumbers } from "./SpreadsheetRowNumbers";
65
+ var SPREADSHEET_HEIGHT = 550;
66
+ var SpreadSheetWrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: solid 1px ", ";\n border-radius: 8px;\n overflow: hidden;\n"], ["\n border: solid 1px ", ";\n border-radius: 8px;\n overflow: hidden;\n"])), function (p) { return p.theme.colors.gray200; });
67
+ var TableView = styled(TableViewBase)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 100%;\n border: none;\n border-top-left-radius: 0;\n overflow: hidden;\n ", " {\n border-bottom: none;\n height: 40px;\n }\n ", " {\n padding: 0;\n box-shadow: inset 0 -1px 0 ", ";\n border-right: 1px solid ", ";\n }\n ", " {\n height: 55px;\n border-bottom: none;\n }\n"], ["\n width: 100%;\n border: none;\n border-top-left-radius: 0;\n overflow: hidden;\n ", " {\n border-bottom: none;\n height: 40px;\n }\n ", " {\n padding: 0;\n box-shadow: inset 0 -1px 0 ", ";\n border-right: 1px solid ", ";\n }\n ", " {\n height: 55px;\n border-bottom: none;\n }\n"])), TableViewRow, TableViewCellContainer, function (p) { return p.theme.colors.gray200; }, function (p) { return p.theme.colors.gray200; }, TableViewHeader);
68
+ var ErrorCount = styled(Div)(function (_a) {
69
+ var _b = _a.theme, colors = _b.colors, c = _b.css;
70
+ return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n border: solid 1px ", ";\n padding: 3px 7px;\n border-radius: 56px;\n min-width: 22px;\n ", ";\n "], ["\n color: ", ";\n background: ", ";\n border: solid 1px ", ";\n padding: 3px 7px;\n border-radius: 56px;\n min-width: 22px;\n ", ";\n "])), colors.error, colors.red100, colors.error, c.centered);
71
+ });
72
+ var Spreadsheet = function (_a) {
73
+ var isReadOnly = _a.isReadOnly, initialData = _a.initialData, rowWidth = _a.rowWidth, fields = _a.fields, appResponse = _a.appResponse, validationBatchSize = _a.validationBatchSize, _b = _a.onValidateRecord, onValidateRecord = _b === void 0 ? null : _b, submittedData = _a.submittedData, setReviewedData = _a.setReviewedData, _c = _a.onValidateBatch, onValidateBatch = _c === void 0 ? null : _c, _d = _a.highlightFirstRow, highlightFirstRow = _d === void 0 ? false : _d;
74
+ return (_jsx(SpreadsheetContextProvider, __assign({}, {
75
+ appResponse: appResponse,
76
+ submittedData: submittedData,
77
+ setReviewedData: setReviewedData,
78
+ rowWidth: rowWidth,
79
+ isReadOnly: isReadOnly,
80
+ fields: fields,
81
+ initialData: initialData,
82
+ onValidateRecord: onValidateRecord,
83
+ onValidateBatch: onValidateBatch,
84
+ highlightFirstRow: highlightFirstRow,
85
+ validationBatchSize: validationBatchSize || initialData.length,
86
+ }, { children: _jsx(SpreadSheetWithContext, {}, void 0) }), void 0));
87
+ };
88
+ var SpreadSheetWithContext = function () {
89
+ var _a = useSpreadsheetContext(), isReadOnly = _a.isReadOnly, totalErrors = _a.totalErrors, batchValidationPercentage = _a.batchValidationPercentage;
90
+ var batchValidationProgressUI = (_jsxs(Div, __assign({ body2: true, dflex: true, mb: 11 }, { children: ["Calculating Data...", _jsxs(Div, __assign({ bold: true, ml: 5 }, { children: [batchValidationPercentage, "%"] }), void 0), _jsxs(Div, __assign({ bold: true, c: colors.error, ml: 5 }, { children: ["(", totalErrors, " errors)"] }), void 0)] }), void 0));
91
+ return (_jsxs(_Fragment, { children: [_jsx(Div, __assign({ h: 32 }, { children: !isReadOnly &&
92
+ batchValidationPercentage < 100 &&
93
+ batchValidationProgressUI }), void 0), _jsx(SpreadsheetData, {}, void 0)] }, void 0));
94
+ };
95
+ var SpreadsheetData = function () {
96
+ var _a = useSpreadsheetReviewContext(), appResponse = _a.appResponse, isSubmitting = _a.isSubmitting;
97
+ var _b = useSpreadsheetContext(), fields = _b.fields, data = _b.data, isLoading = _b.isLoading, isReadOnly = _b.isReadOnly, rowWidth = _b.rowWidth, sortByFieldErrors = _b.sortByFieldErrors, setSortByFieldErrors = _b.setSortByFieldErrors, validateRenderedRecords = _b.validateRenderedRecords, setIsLoading = _b.setIsLoading;
98
+ var validationTimeoutRef = useRef(null);
99
+ var _c = useState(0), scrollTop = _c[0], setScrollTop = _c[1];
100
+ var _d = useState(true), isSortingTableData = _d[0], setIsSortingTableData = _d[1];
101
+ useEffect(function () {
102
+ setIsSortingTableData(true);
103
+ setTimeout(function () {
104
+ setIsSortingTableData(false);
105
+ setSortByFieldErrors(null);
106
+ }, 10);
107
+ }, [sortByFieldErrors]);
108
+ var onSectionRendered = function (_a) {
109
+ var data = _a.data;
110
+ return __awaiter(void 0, void 0, void 0, function () {
111
+ return __generator(this, function (_b) {
112
+ if (isSortingTableData)
113
+ return [2 /*return*/];
114
+ if (!isReadOnly)
115
+ setIsLoading(true);
116
+ if (validationTimeoutRef.current)
117
+ clearTimeout(validationTimeoutRef.current);
118
+ validationTimeoutRef.current = setTimeout(function () {
119
+ validateRenderedRecords(data);
120
+ }, 200);
121
+ return [2 /*return*/];
122
+ });
123
+ });
124
+ };
125
+ var columns = useMemo(function () {
126
+ return fields.map(function (f) { return ({
127
+ Header: function () {
128
+ var columnErrorCounts = useSpreadsheetContext().columnErrorCounts;
129
+ var fieldErrorCount = columnErrorCounts[f.name];
130
+ return (_jsxs(Div, __assign({ p: "0px 16px", spaceBetween: true, w100: true, alignCenter: true }, { children: [_jsxs(Div, { children: [f.label, f.isRequired && "*"] }, void 0), fieldErrorCount && (_jsx(ErrorCount, __assign({ onClick: function () { return setSortByFieldErrors(f.name); } }, { children: fieldErrorCount }), void 0))] }), void 0));
131
+ },
132
+ Content: function (record) {
133
+ var getInputType = function () {
134
+ switch (f.type) {
135
+ case FieldTypes.integer:
136
+ case FieldTypes.float:
137
+ return "number";
138
+ case FieldTypes.email:
139
+ return "email";
140
+ default:
141
+ return "text";
142
+ }
143
+ };
144
+ var booleanOptions = [
145
+ { label: "True", value: "true" },
146
+ { label: "False", value: "false" },
147
+ ];
148
+ var props = {
149
+ name: f.name,
150
+ type: getInputType(),
151
+ record: (function () {
152
+ var res = __assign({}, record);
153
+ delete res.rowIndex;
154
+ return res;
155
+ })(),
156
+ };
157
+ switch (f.type) {
158
+ case FieldTypes.boolean:
159
+ return (_jsx(SpreadsheetAutocomplete, __assign({}, props, { options: booleanOptions }), void 0));
160
+ case FieldTypes.enum:
161
+ return (_jsx(SpreadsheetAutocomplete, __assign({}, props, { options: f === null || f === void 0 ? void 0 : f.options.map(function (o) { return ({ label: o, value: o }); }) }), void 0));
162
+ case FieldTypes.string:
163
+ case FieldTypes.float:
164
+ case FieldTypes.integer:
165
+ case FieldTypes.email:
166
+ return _jsx(SpreadsheetTextInput, __assign({}, props), void 0);
167
+ }
168
+ },
169
+ }); });
170
+ }, [fields]);
171
+ var unsubmittedData = getUnsubmittedData(data, appResponse);
172
+ return (_jsx(Div, __assign({ h: SPREADSHEET_HEIGHT, w100: true }, { children: !isSortingTableData && !isSubmitting && (_jsxs(SpreadSheetWrapper, __assign({ dflex: true }, { children: [_jsx(SpreadsheetRowNumbers, { scrollTop: scrollTop, h: SPREADSHEET_HEIGHT }, void 0), _jsx(TableView, { highlightFirstRow: isReadOnly, rowHeight: 40, onSectionRendered: onSectionRendered, onTableScroll: function (_scrollTop) { return setScrollTop(_scrollTop); }, h: SPREADSHEET_HEIGHT, rowWidth: rowWidth, data: unsubmittedData, columns: columns, isLoading: isLoading }, void 0)] }), void 0)) }), void 0));
173
+ };
174
+ export { Spreadsheet };
175
+ var templateObject_1, templateObject_2, templateObject_3;
176
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/Importer/common/Spreadsheet/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,SAAS,IAAI,aAAa,EAC1B,sBAAsB,EAEtB,eAAe,EACf,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAEL,UAAU,GAIX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,IAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,8IAAA,wBAChB,EAA6B,iDAGlD,KAHqB,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAtB,CAAsB,CAGlD,CAAC;AAEF,IAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,4XAAA,0FAKnC,EAAY,0DAIZ,EAAsB,sDAEO,EAA6B,iCAChC,EAA6B,YAEvD,EAAe,wDAIlB,KAbG,YAAY,EAIZ,sBAAsB,EAEO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAtB,CAAsB,EAChC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAtB,CAAsB,EAEvD,eAAe,CAIlB,CAAC;AAEF,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAC5B,UAAC,EAA6B;QAA3B,aAAyB,EAAhB,MAAM,YAAA,EAAO,CAAC,SAAA;IAAS,OAAA,GAAG,iOAAA,eAC3B,EAAY,qBACP,EAAa,2BACP,EAAY,gFAI9B,EAAU,OACb,KAPU,MAAM,CAAC,KAAK,EACP,MAAM,CAAC,MAAM,EACP,MAAM,CAAC,KAAK,EAI9B,CAAC,CAAC,QAAQ;AAPqB,CAQlC,CACF,CAAC;AAgBF,IAAM,WAAW,GAAG,UAAC,EAYF;QAXjB,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,WAAW,iBAAA,EACX,mBAAmB,yBAAA,EACnB,wBAAuB,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACvB,aAAa,mBAAA,EACb,eAAe,qBAAA,EACf,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EACtB,yBAAyB,EAAzB,iBAAiB,mBAAG,KAAK,KAAA;IAEzB,OAAO,CACL,KAAC,0BAA0B,eACrB;QACF,WAAW,aAAA;QACX,aAAa,eAAA;QACb,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,MAAM,QAAA;QACN,WAAW,aAAA;QACX,gBAAgB,kBAAA;QAChB,eAAe,iBAAA;QACf,iBAAiB,mBAAA;QACjB,mBAAmB,EAAE,mBAAmB,IAAI,WAAW,CAAC,MAAM;KAC/D,cAED,KAAC,sBAAsB,aAAG,YACC,CAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,sBAAsB,GAAG;IACvB,IAAA,KAIF,qBAAqB,EAAE,EAHzB,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,yBAAyB,+BACA,CAAC;IAE5B,IAAM,yBAAyB,GAAG,CAChC,MAAC,GAAG,aAAC,KAAK,QAAC,KAAK,QAAC,EAAE,EAAE,EAAE,wCAErB,MAAC,GAAG,aAAC,IAAI,QAAC,EAAE,EAAE,CAAC,iBACZ,yBAAyB,kBACtB,EACN,MAAC,GAAG,aAAC,IAAI,QAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,sBAC5B,WAAW,yBACT,aACF,CACP,CAAC;IAEF,OAAO,CACL,8BACE,KAAC,GAAG,aAAC,CAAC,EAAE,EAAE,gBACP,CAAC,UAAU;oBACV,yBAAyB,GAAG,GAAG;oBAC/B,yBAAyB,YACvB,EACN,KAAC,eAAe,aAAG,YAClB,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG;IAChB,IAAA,KAAgC,2BAA2B,EAAE,EAA3D,WAAW,iBAAA,EAAE,YAAY,kBAAkC,CAAC;IAC9D,IAAA,KAUF,qBAAqB,EAAE,EATzB,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,iBAAiB,uBAAA,EACjB,oBAAoB,0BAAA,EACpB,uBAAuB,6BAAA,EACvB,YAAY,kBACa,CAAC;IAC5B,IAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,IAAA,KAA4B,QAAQ,CAAC,CAAC,CAAC,EAAtC,SAAS,QAAA,EAAE,YAAY,QAAe,CAAC;IACxC,IAAA,KAA8C,QAAQ,CAAC,IAAI,CAAC,EAA3D,kBAAkB,QAAA,EAAE,qBAAqB,QAAkB,CAAC;IAEnE,SAAS,CAAC;QACR,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,UAAU,CAAC;YACT,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,IAAM,iBAAiB,GAAG,UAAO,EAAQ;YAAN,IAAI,UAAA;;;gBACrC,IAAI,kBAAkB;oBAAE,sBAAO;gBAC/B,IAAI,CAAC,UAAU;oBAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAEpC,IAAI,oBAAoB,CAAC,OAAO;oBAC9B,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAC7C,oBAAoB,CAAC,OAAO,GAAG,UAAU,CAAC;oBACxC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,EAAE,GAAG,CAAC,CAAC;;;;KACT,CAAC;IAEF,IAAM,OAAO,GAAsB,OAAO,CACxC;QACE,OAAA,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC;YACjB,MAAM,EAAE;gBACE,IAAA,iBAAiB,GAAK,qBAAqB,EAAE,kBAA5B,CAA6B;gBACtD,IAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,CACL,MAAC,GAAG,aAAC,CAAC,EAAC,UAAU,EAAC,YAAY,QAAC,IAAI,QAAC,WAAW,uBAC7C,MAAC,GAAG,eACD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,UAAU,IAAI,GAAG,YAChB,EACL,eAAe,IAAI,CAClB,KAAC,UAAU,aAAC,OAAO,EAAE,cAAM,OAAA,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,EAA5B,CAA4B,gBACpD,eAAe,YACL,CACd,aACG,CACP,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,UAAC,MAAM;gBACd,IAAM,YAAY,GAAG;oBACnB,QAAQ,CAAC,CAAC,IAAI,EAAE;wBACd,KAAK,UAAU,CAAC,OAAO,CAAC;wBACxB,KAAK,UAAU,CAAC,KAAK;4BACnB,OAAO,QAAQ,CAAC;wBAClB,KAAK,UAAU,CAAC,KAAK;4BACnB,OAAO,OAAO,CAAC;wBACjB;4BACE,OAAO,MAAM,CAAC;qBACjB;gBACH,CAAC,CAAC;gBACF,IAAM,cAAc,GAAG;oBACrB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;iBACnC,CAAC;gBACF,IAAM,KAAK,GAAG;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,YAAY,EAAE;oBACpB,MAAM,EAAE,CAAC;wBACP,IAAM,GAAG,gBAAQ,MAAM,CAAE,CAAC;wBAC1B,OAAO,GAAG,CAAC,QAAQ,CAAC;wBACpB,OAAO,GAAG,CAAC;oBACb,CAAC,CAAC,EAAE;iBACL,CAAC;gBACF,QAAQ,CAAC,CAAC,IAAI,EAAE;oBACd,KAAK,UAAU,CAAC,OAAO;wBACrB,OAAO,CACL,KAAC,uBAAuB,eAAK,KAAK,IAAE,OAAO,EAAE,cAAc,YAAI,CAChE,CAAC;oBACJ,KAAK,UAAU,CAAC,IAAI;wBAClB,OAAO,CACL,KAAC,uBAAuB,eAClB,KAAK,IACT,OAAO,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,YACxD,CACH,CAAC;oBACJ,KAAK,UAAU,CAAC,MAAM,CAAC;oBACvB,KAAK,UAAU,CAAC,KAAK,CAAC;oBACtB,KAAK,UAAU,CAAC,OAAO,CAAC;oBACxB,KAAK,UAAU,CAAC,KAAK;wBACnB,OAAO,KAAC,oBAAoB,eAAK,KAAK,UAAI,CAAC;iBAC9C;YACH,CAAC;SACF,CAAC,EA9DgB,CA8DhB,CAAC;IA9DH,CA8DG,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9D,OAAO,CACL,KAAC,GAAG,aAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,sBAC7B,CAAC,kBAAkB,IAAI,CAAC,YAAY,IAAI,CACvC,MAAC,kBAAkB,aAAC,KAAK,uBACvB,KAAC,qBAAqB,IAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,kBAAkB,WAAI,EACtE,KAAC,SAAS,IACR,iBAAiB,EAAE,UAAU,EAC7B,SAAS,EAAE,EAAE,EACb,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,UAAC,UAAU,IAAK,OAAA,YAAY,CAAC,UAAU,CAAC,EAAxB,CAAwB,EACvD,CAAC,EAAE,kBAAkB,EACrB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,WACpB,aACiB,CACtB,YACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const fileExtensionIcon: JSX.Element;
3
+ export declare const closeIconWithCircle: JSX.Element;
4
+ export declare const errorIcon: JSX.Element;
@@ -0,0 +1,16 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ export var fileExtensionIcon = (_jsxs("svg", __assign({ width: "36", height: "44", viewBox: "0 0 36 44", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M33 43.0001H3C1.89543 43.0001 1 42.1046 1 41.0001V3.00006C1 1.89549 1.89543 1.00006 3 1.00006H16.655C19.0148 1.00006 21.2542 2.04193 22.7743 3.84697L33.1193 16.1317C34.3339 17.5741 35 19.3991 35 21.2848V41.0001C35 42.1046 34.1046 43.0001 33 43.0001Z", fill: "#C2CEEC", stroke: "#333333", strokeWidth: "2" }, void 0), _jsx("path", { d: "M33 43.0004H3C1.89543 43.0004 1 42.105 1 41.0004V3.0004C1 1.89583 1.89543 1.0004 3 1.0004H16.8421C18.499 1.0004 19.8421 2.34354 19.8421 4.0004V14.5004C19.8421 15.8811 20.9614 17.0004 22.3421 17.0004H32C33.6569 17.0004 35 18.3435 35 20.0004V41.0004C35 42.105 34.1046 43.0004 33 43.0004Z", fill: "white", stroke: "#333333", strokeWidth: "2" }, void 0)] }), void 0));
14
+ export var closeIconWithCircle = (_jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("circle", { cx: "12", cy: "12", r: "11", stroke: "#989898", strokeWidth: "2" }, void 0), _jsx("path", { d: "M9 9L15 15", stroke: "#989898", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, void 0), _jsx("path", { d: "M9 15L15 9", stroke: "#989898", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, void 0)] }), void 0));
15
+ export var errorIcon = (_jsxs("svg", __assign({ width: "76", height: "64", viewBox: "0 0 76 64", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M38 3.95611L72.0101 62H3.98992L38 3.95611Z", stroke: "black", strokeWidth: "4" }, void 0), _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M40.5 26.5C40.5 25.1193 39.3807 24 38 24C36.6193 24 35.5 25.1193 35.5 26.5V39.8333C35.5 41.214 36.6193 42.3333 38 42.3333C39.3807 42.3333 40.5 41.214 40.5 39.8333V26.5ZM40.5 50.5C40.5 49.1193 39.3807 48 38 48C36.6193 48 35.5 49.1193 35.5 50.5V51.8333C35.5 53.214 36.6193 54.3333 38 54.3333C39.3807 54.3333 40.5 53.214 40.5 51.8333V50.5Z", fill: "black" }, void 0)] }), void 0));
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/Importer/common/icons/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAM,CAAC,IAAM,iBAAiB,GAAG,CAC/B,wBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,iBAElC,eACE,CAAC,EAAC,2PAA2P,EAC7P,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,WACf,EACF,eACE,CAAC,EAAC,+RAA+R,EACjS,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,WACf,aACE,CACP,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,CACjC,wBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,iBAElC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,WAAW,EAAC,GAAG,WAAG,EAClE,eACE,CAAC,EAAC,YAAY,EACd,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,WACtB,EACF,eACE,CAAC,EAAC,YAAY,EACd,MAAM,EAAC,SAAS,EAChB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,WACtB,aACE,CACP,CAAC;AAEF,MAAM,CAAC,IAAM,SAAS,GAAG,CACvB,wBACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,iBAElC,eACE,CAAC,EAAC,4CAA4C,EAC9C,MAAM,EAAC,OAAO,EACd,WAAW,EAAC,GAAG,WACf,EACF,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,kVAAkV,EACpV,IAAI,EAAC,OAAO,WACZ,aACE,CACP,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AppResponse, Record } from "../../types";
2
+ import { TemplateHeader } from "../ImporterContextProvider";
3
+ export declare const getSpreadsheetRowWidth: (fields: any, visibleRowsOnTableViewport: any) => number;
4
+ export declare const getUnsubmittedData: (data: Record[], appResponse: AppResponse) => Record[];
5
+ declare type IsEnumFieldArgs = {
6
+ templateLabel: string;
7
+ templateHeaders: TemplateHeader[];
8
+ };
9
+ export declare const isEnumField: ({ templateLabel, templateHeaders, }: IsEnumFieldArgs) => boolean;
10
+ export {};
@@ -0,0 +1,18 @@
1
+ import { FieldTypes } from "../../types";
2
+ export var getSpreadsheetRowWidth = function (fields, visibleRowsOnTableViewport) {
3
+ var res = fields.length / visibleRowsOnTableViewport;
4
+ return res > 1 ? res : 1;
5
+ };
6
+ export var getUnsubmittedData = function (data, appResponse) {
7
+ var unsubmittedData = data;
8
+ if (appResponse === null || appResponse === void 0 ? void 0 : appResponse.validationErrors)
9
+ unsubmittedData = data.filter(function (r) { return !!r._meta.appValidationErrors; });
10
+ return unsubmittedData;
11
+ };
12
+ export var isEnumField = function (_a) {
13
+ var _b;
14
+ var templateLabel = _a.templateLabel, templateHeaders = _a.templateHeaders;
15
+ return ((_b = templateHeaders.find(function (th) { return th.label === templateLabel; })) === null || _b === void 0 ? void 0 : _b.column_type) ===
16
+ FieldTypes.enum;
17
+ };
18
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/Importer/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAU,MAAM,aAAa,CAAC;AAG9D,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,MAAM,EAAE,0BAA0B;IACvE,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,0BAA0B,CAAC;IACvD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,IAAc,EACd,WAAwB;IAExB,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB;QAC/B,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAA7B,CAA6B,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAKF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,EAGV;;QAFhB,aAAa,mBAAA,EACb,eAAe,qBAAA;IAEf,OAAA,CAAA,MAAA,eAAe,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,KAAK,aAAa,EAA1B,CAA0B,CAAC,0CAAE,WAAW;QACrE,UAAU,CAAC,IAAI,CAAA;CAAA,CAAC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { EnvironmentType, OnSubmit, OnValidateBatch, OnValidateRecord } from "../types";
3
+ declare type Props = {
4
+ templateId: string;
5
+ apiToken: string;
6
+ environment?: EnvironmentType;
7
+ onValidateRecord?: OnValidateRecord;
8
+ onValidateBatch?: OnValidateBatch;
9
+ onSubmit?: OnSubmit;
10
+ };
11
+ declare const Importer: ({ environment, templateId, apiToken, onSubmit, onValidateRecord, onValidateBatch, }: Props) => JSX.Element;
12
+ export { Importer };
13
+ export * from "./common/Spreadsheet";
14
+ export * from "./common/utils";
15
+ export * from "./SpreadsheetReviewContextProvider";
@@ -0,0 +1,54 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { Uploader } from "./Uploader";
14
+ import { Stepper } from "./Stepper";
15
+ import { Matcher } from "./Matcher";
16
+ import { ImporterContextProvider, useImporterContext, } from "./ImporterContextProvider";
17
+ import { theme } from "../styled/theme";
18
+ import { ThemeProvider } from "styled-components";
19
+ import Review from "./Review";
20
+ import { Footer } from "./Footer";
21
+ import { SpreadsheetReviewContextProvider } from "./SpreadsheetReviewContextProvider";
22
+ var steps = [
23
+ {
24
+ label: "Upload",
25
+ component: _jsx(Uploader, {}, void 0),
26
+ },
27
+ {
28
+ label: "Match",
29
+ component: _jsx(Matcher, {}, void 0),
30
+ },
31
+ {
32
+ label: "Review",
33
+ component: _jsx(Review, {}, void 0),
34
+ },
35
+ ];
36
+ var Importer = function (_a) {
37
+ var _b = _a.environment, environment = _b === void 0 ? "local" : _b, templateId = _a.templateId, apiToken = _a.apiToken, onSubmit = _a.onSubmit, onValidateRecord = _a.onValidateRecord, onValidateBatch = _a.onValidateBatch;
38
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(ImporterContextProvider, __assign({}, {
39
+ environment: environment,
40
+ templateId: templateId,
41
+ apiToken: apiToken,
42
+ onValidateRecord: onValidateRecord,
43
+ onValidateBatch: onValidateBatch,
44
+ }, { children: _jsx(SpreadsheetReviewContextProvider, __assign({ onSubmit: onSubmit }, { children: _jsx(ImporterWithContext, {}, void 0) }), void 0) }), void 0) }), void 0));
45
+ };
46
+ var ImporterWithContext = function () {
47
+ var currentStepIndex = useImporterContext().currentStepIndex;
48
+ return (_jsxs(_Fragment, { children: [_jsx(Stepper, { stepLabels: steps.map(function (step) { return step.label; }) }, void 0), steps[currentStepIndex].component, _jsx(Footer, {}, void 0)] }, void 0));
49
+ };
50
+ export { Importer };
51
+ export * from "./common/Spreadsheet";
52
+ export * from "./common/utils";
53
+ export * from "./SpreadsheetReviewContextProvider";
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Importer/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOlD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,IAAM,KAAK,GAAG;IACZ;QACE,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,KAAC,QAAQ,aAAG;KACxB;IACD;QACE,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,KAAC,OAAO,aAAG;KACvB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,KAAC,MAAM,aAAG;KACtB;CACF,CAAC;AAUF,IAAM,QAAQ,GAAG,UAAC,EAOV;QANN,mBAAqB,EAArB,WAAW,mBAAG,OAAO,KAAA,EACrB,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,gBAAgB,sBAAA,EAChB,eAAe,qBAAA;IAEf,OAAO,CACL,KAAC,aAAa,aAAC,KAAK,EAAE,KAAK,gBACzB,KAAC,uBAAuB,eAClB;YACF,WAAW,aAAA;YACX,UAAU,YAAA;YACV,QAAQ,UAAA;YACR,gBAAgB,kBAAA;YAChB,eAAe,iBAAA;SAChB,cAED,KAAC,gCAAgC,aAAC,QAAQ,EAAE,QAAQ,gBAClD,KAAC,mBAAmB,aAAG,YACU,YACX,YACZ,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG;IAClB,IAAA,gBAAgB,GAAK,kBAAkB,EAAE,iBAAzB,CAA0B;IAClD,OAAO,CACL,8BACE,KAAC,OAAO,IAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,CAAC,WAAI,EACvD,KAAK,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAClC,KAAC,MAAM,aAAG,YACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { IStringifyOptions } from "qs";
2
+ declare type SuccessCallback = (data: any) => string;
3
+ declare module "axios" {
4
+ interface AxiosRequestConfig {
5
+ cache?: boolean;
6
+ ttl?: number;
7
+ arrayFormat?: IStringifyOptions["arrayFormat"];
8
+ toPublicApi?: boolean;
9
+ withReq?: boolean;
10
+ successMsg?: string | SuccessCallback;
11
+ errorMsg?: string;
12
+ }
13
+ }
14
+ declare const api: import("axios").AxiosInstance;
15
+ export { api };