fuse-importer 0.2.0-testing → 0.2.1-testing

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 (53) hide show
  1. package/lib/esm/Importer/ImporterWithContext.js +9 -8
  2. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.js +2 -2
  3. package/lib/esm/Importer/PreviewModeBanner.js +2 -2
  4. package/lib/esm/Importer/Stepper/StepperSubmitModal.js +4 -21
  5. package/lib/esm/Importer/Stepper/index.js +13 -15
  6. package/lib/esm/Importer/TrialModeBanner.d.ts +1 -0
  7. package/lib/esm/Importer/TrialModeBanner.js +22 -0
  8. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/index.js +1 -1
  9. package/lib/esm/Importer/common/Spreadsheet/FilteredDataContextProvider/index.d.ts +0 -1
  10. package/lib/esm/Importer/common/Spreadsheet/FilteredDataContextProvider/index.js +1 -6
  11. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.d.ts +1 -2
  12. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.js +1 -2
  13. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useDataSetManipulation.d.ts +0 -3
  14. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useDataSetManipulation.js +13 -46
  15. package/lib/esm/Importer/common/Spreadsheet/ValidationContextProvider/index.js +2 -7
  16. package/lib/esm/Importer/common/Spreadsheet/components/FindAndReplace/index.js +2 -8
  17. package/lib/esm/Importer/common/Spreadsheet/components/{SpreadsheetData/index.d.ts → SpreadsheetData.d.ts} +1 -1
  18. package/lib/esm/Importer/common/Spreadsheet/components/{SpreadsheetData/index.js → SpreadsheetData.js} +17 -18
  19. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpreadsheetInput.js +1 -2
  20. package/lib/esm/Importer/common/Spreadsheet/components/fields/index.d.ts +0 -11
  21. package/lib/esm/Importer/common/Spreadsheet/components/fields/index.js +10 -13
  22. package/lib/esm/Importer/contexts/ImporterContextProvider.d.ts +1 -3
  23. package/lib/esm/Importer/contexts/ImporterContextProvider.js +0 -4
  24. package/lib/esm/Importer/hooks/useSubmitToServer.js +0 -25
  25. package/lib/esm/common/Table/TableActions/SearchRows.js +17 -9
  26. package/lib/esm/common/Table/TableView/TableRows/TableRow.js +1 -1
  27. package/lib/esm/common/inputs/Autocomplete.js +1 -1
  28. package/lib/esm/common/inputs/TextInput.d.ts +0 -1
  29. package/lib/esm/common/inputs/TextInput.js +2 -10
  30. package/lib/esm/index.js +1 -1
  31. package/lib/esm/locales/de.d.ts +0 -10
  32. package/lib/esm/locales/de.js +0 -10
  33. package/lib/esm/locales/en.d.ts +0 -10
  34. package/lib/esm/locales/en.js +0 -10
  35. package/lib/esm/locales/es.d.ts +0 -10
  36. package/lib/esm/locales/es.js +0 -10
  37. package/lib/esm/locales/fr.d.ts +0 -10
  38. package/lib/esm/locales/fr.js +0 -10
  39. package/lib/esm/types.d.ts +0 -1
  40. package/lib/main.js +9 -9
  41. package/package.json +1 -1
  42. package/lib/esm/Importer/WarningsBanner.d.ts +0 -3
  43. package/lib/esm/Importer/WarningsBanner.js +0 -42
  44. package/lib/esm/Importer/common/Spreadsheet/KeyboardEventContextProvider/index.d.ts +0 -7
  45. package/lib/esm/Importer/common/Spreadsheet/KeyboardEventContextProvider/index.js +0 -73
  46. package/lib/esm/Importer/common/Spreadsheet/SearchContextProvider/index.d.ts +0 -15
  47. package/lib/esm/Importer/common/Spreadsheet/SearchContextProvider/index.js +0 -43
  48. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useCellSelection.d.ts +0 -24
  49. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useCellSelection.js +0 -207
  50. package/lib/esm/Importer/common/Spreadsheet/UndoRedoContextProvider/index.d.ts +0 -16
  51. package/lib/esm/Importer/common/Spreadsheet/UndoRedoContextProvider/index.js +0 -104
  52. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData/CellContextProvider.d.ts +0 -23
  53. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData/CellContextProvider.js +0 -128
@@ -14,7 +14,7 @@ var __assign = (this && this.__assign) || function () {
14
14
  return __assign.apply(this, arguments);
15
15
  };
16
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
- import { useEffect } from "react";
17
+ import { useEffect, useRef } from "react";
18
18
  import { useTranslation } from "react-i18next";
19
19
  import styled, { ThemeProvider, css } from "styled-components";
20
20
  import { Toast } from "../common";
@@ -22,20 +22,19 @@ import { AppLoadingContextProvider } from "../common/AppLoadingContextProvider";
22
22
  import { EventManagerContextProvider } from "../common/EventManagerContextProvider";
23
23
  import { Div } from "../styled";
24
24
  import Matcher from "./Matcher";
25
+ import { PreviewFirstTime } from "./PreviewFirstTime";
26
+ import { PreviewModeBanner } from "./PreviewModeBanner";
25
27
  import Review from "./Review";
26
28
  import { ReviewContextProvider, useReviewContext, } from "./Review/ReviewContextProvider";
27
29
  import { Stepper } from "./Stepper/index";
30
+ import { TrialModeBanner } from "./TrialModeBanner";
28
31
  import Uploader from "./Uploader";
29
- import { WarningsBanner } from "./WarningsBanner";
30
32
  import { AppLoading } from "./common/AppLoading";
31
33
  import { GlobalStyle } from "./common/GlobalStyle";
32
34
  import { ImporterFonts } from "./common/ImporterFonts";
33
35
  import { DataSetContextProvider } from "./common/Spreadsheet/DataSetContextProvider";
34
36
  import { DuplicateDataContextProvider } from "./common/Spreadsheet/DuplicateDataContextProvider";
35
37
  import { FilteredDataContextProvider } from "./common/Spreadsheet/FilteredDataContextProvider";
36
- import { KeyboardEventContextProvider } from "./common/Spreadsheet/KeyboardEventContextProvider";
37
- import { SearchContextProvider } from "./common/Spreadsheet/SearchContextProvider";
38
- import { UndoRedoContextProvider } from "./common/Spreadsheet/UndoRedoContextProvider";
39
38
  import { ValidationContextProvider } from "./common/Spreadsheet/ValidationContextProvider";
40
39
  import { useFieldSorting } from "./common/Spreadsheet/useFieldSorting";
41
40
  import { useImporterContext } from "./contexts/ImporterContextProvider";
@@ -74,10 +73,11 @@ var ContentRenderer = function (_a) {
74
73
  };
75
74
  var initialDataSet = getInitialDataSet();
76
75
  var getDefaultSortCompareFn = useFieldSorting().getDefaultSortCompareFn;
77
- return (_jsx(DataSetContextProvider, __assign({ initialDataSet: initialDataSet || {} }, { children: _jsx(UndoRedoContextProvider, { children: _jsx(DuplicateDataContextProvider, __assign({ fields: fields, isReadOnly: isReadOnly }, { children: _jsx(ValidationContextProvider, __assign({ fields: fields, isReadOnly: isReadOnly, options: __assign(__assign({}, options), { showCheckboxColumn: true }), onValidateRecord: onValidateRecord }, { children: _jsx(FilteredDataContextProvider, __assign({ getSortCompareFn: getDefaultSortCompareFn }, { children: _jsx(SearchContextProvider, { children: _jsxs(KeyboardEventContextProvider, { children: [_jsxs(Div, { children: [_jsx(WarningsBanner, {}), _jsx(Stepper, { stepLabels: stepLabels, logoURL: logoURL })] }), _jsxs(Content, { children: [currentStepIndex === 0 && _jsx(Uploader, {}), currentStepIndex === 1 && _jsx(Matcher, {}), currentStepIndex === 2 && templateHeaders && _jsx(Review, {})] })] }) }) })) })) })) }) })));
76
+ return (_jsx(DataSetContextProvider, __assign({ initialDataSet: initialDataSet || {} }, { children: _jsx(DuplicateDataContextProvider, __assign({ fields: fields, isReadOnly: isReadOnly }, { children: _jsx(ValidationContextProvider, __assign({ fields: fields, isReadOnly: isReadOnly, options: __assign(__assign({}, options), { showCheckboxColumn: true }), onValidateRecord: onValidateRecord }, { children: _jsxs(FilteredDataContextProvider, __assign({ getSortCompareFn: getDefaultSortCompareFn }, { children: [_jsxs(Div, { children: [previewMode && _jsx(PreviewModeBanner, {}), !previewMode && _jsx(TrialModeBanner, {}), _jsx(Stepper, { stepLabels: stepLabels, logoURL: logoURL })] }), _jsxs(Content, { children: [currentStepIndex === 0 && _jsx(Uploader, {}), currentStepIndex === 1 && _jsx(Matcher, {}), currentStepIndex === 2 && templateHeaders && _jsx(Review, {})] })] })) })) })) })));
78
77
  };
79
78
  export var ImporterWithContext = function () {
80
- var _a = useImporterContext(), inTrialMode = _a.inTrialMode, currentStepIndex = _a.currentStepIndex, matcherSubstep = _a.matcherSubstep, templateHeaders = _a.templateHeaders, theme = _a.theme, logoURL = _a.logoURL, previewFirstTime = _a.previewFirstTime, initialRecords = _a.initialRecords, _b = _a.importerOptions, zIndex = _b.zIndex, previewMode = _b.previewMode, isModal = _b.modal, layoutRef = _a.layoutRef;
79
+ var _a = useImporterContext(), inTrialMode = _a.inTrialMode, currentStepIndex = _a.currentStepIndex, matcherSubstep = _a.matcherSubstep, templateHeaders = _a.templateHeaders, theme = _a.theme, logoURL = _a.logoURL, previewFirstTime = _a.previewFirstTime, initialRecords = _a.initialRecords, _b = _a.importerOptions, zIndex = _b.zIndex, previewMode = _b.previewMode, isModal = _b.modal;
80
+ var layoutRef = useRef(null);
81
81
  var t = useTranslation().t;
82
82
  useEffect(function () {
83
83
  var _a;
@@ -88,6 +88,7 @@ export var ImporterWithContext = function () {
88
88
  t("general:steps.match"),
89
89
  t("general:steps.review"),
90
90
  ];
91
+ var shouldShowPreviewFirstTime = previewFirstTime && previewMode;
91
92
  var contentRendererProps = {
92
93
  previewMode: previewMode,
93
94
  stepLabels: stepLabels,
@@ -95,6 +96,6 @@ export var ImporterWithContext = function () {
95
96
  currentStepIndex: currentStepIndex,
96
97
  templateHeaders: templateHeaders,
97
98
  };
98
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(AppLoadingContextProvider, { children: _jsxs(EventManagerContextProvider, { children: [_jsx(Toast, { zIndex: zIndex + 1, toastStyle: toastStyle }), _jsx(GlobalStyle, {}), _jsx(ImporterFonts, {}), templateHeaders ? (_jsx(ReviewContextProvider, __assign({ initialRecords: initialRecords }, { children: _jsxs(_Fragment, { children: [isModal && _jsx(Backdrop, {}), _jsx(Layout, __assign({ zIndex: zIndex, ref: layoutRef, isModal: isModal }, { children: _jsx(ContentRenderer, __assign({}, contentRendererProps)) }))] }) }))) : (_jsx(AppLoading, {}))] }) }) })));
99
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(AppLoadingContextProvider, { children: _jsxs(EventManagerContextProvider, { children: [_jsx(Toast, { zIndex: zIndex + 1, toastStyle: toastStyle }), _jsx(GlobalStyle, {}), _jsx(ImporterFonts, {}), templateHeaders ? (_jsx(ReviewContextProvider, __assign({ initialRecords: initialRecords }, { children: _jsxs(_Fragment, { children: [isModal && _jsx(Backdrop, {}), _jsx(Layout, __assign({ zIndex: zIndex, ref: layoutRef, isModal: isModal }, { children: shouldShowPreviewFirstTime ? (_jsx(PreviewFirstTime, {})) : (_jsx(ContentRenderer, __assign({}, contentRendererProps))) }))] }) }))) : (_jsx(AppLoading, {}))] }) }) })));
99
100
  };
100
101
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -62,7 +62,7 @@ export var EnumFieldMatcher = function (_a) {
62
62
  dataCount: data.length,
63
63
  maxVisibleRows: MAX_VISIBLE_ROWS,
64
64
  });
65
- return (_jsxs(Div, __assign({ "data-cy": "value-mappings" }, { children: [_jsx(Div, __assign({ h5: true, mb: 16 }, { children: t("columns.values_for_the_column", {
65
+ return (_jsxs(Div, { children: [_jsx(Div, __assign({ h5: true, mb: 16 }, { children: t("columns.values_for_the_column", {
66
66
  column: "".concat(templateHeaderLabel).concat(isRequired ? "*" : ""),
67
- }) })), _jsx(Div, __assign({ mb: 40 }, { children: _jsx(EnumFieldMatcherContextProvider, __assign({ templateHeaderLabel: templateHeaderLabel }, { children: _jsx(TableView, { rowCount: sortedData.length, h: tableHeight, rowHeight: tableRowHeight, data: sortedData, columns: tableColumns, bg: colors.white }) })) }))] })));
67
+ }) })), _jsx(Div, __assign({ mb: 40 }, { children: _jsx(EnumFieldMatcherContextProvider, __assign({ templateHeaderLabel: templateHeaderLabel }, { children: _jsx(TableView, { rowCount: sortedData.length, h: tableHeight, rowHeight: tableRowHeight, data: sortedData, columns: tableColumns, bg: colors.white }) })) }))] }));
68
68
  };
@@ -10,10 +10,10 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useTranslation } from "react-i18next";
14
13
  import { Div, Span, theme } from "../styled";
15
14
  import { infoIcon } from "./common/icons";
15
+ import { useTranslation } from "react-i18next";
16
16
  export var PreviewModeBanner = function () {
17
17
  var t = useTranslation("general").t;
18
- return (_jsxs(Div, __assign({ bg: theme.colors.blue100, h: 55, alignCenter: true }, { children: [_jsx(Div, __assign({ ml: 33, mr: 8 }, { children: infoIcon })), _jsx(Span, __assign({ mr: 16 }, { children: t("preview_mode_banner.title") }))] })));
18
+ return (_jsxs(Div, __assign({ bg: theme.colors.blue100, h: 80, alignCenter: true }, { children: [_jsx(Div, __assign({ ml: 33, mr: 8 }, { children: infoIcon })), _jsx(Span, __assign({ mr: 16 }, { children: t("preview_mode_banner.title") }))] })));
19
19
  };
@@ -10,34 +10,17 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useTranslation } from "react-i18next";
14
- import { useDataSetContext } from "../../Importer/common/Spreadsheet/DataSetContextProvider";
15
- import { Button, Modal } from "../../common";
16
13
  import { Div } from "../../styled";
17
- import { useFilteredDataContext } from "../common/Spreadsheet/FilteredDataContextProvider";
18
- import { useImporterContext } from "../contexts/ImporterContextProvider";
14
+ import { Button, Modal } from "../../common";
19
15
  import { submitIcon } from "./common/icons";
20
- var getValuesFromDataSet = function (dataSet, ids, amount) {
21
- if (!amount)
22
- return dataSet;
23
- var newDataSet = {};
24
- for (var i = 0; i < 100 && i < ids.length; i++) {
25
- var index = ids[i];
26
- newDataSet[index] = dataSet[index];
27
- }
28
- return newDataSet;
29
- };
16
+ import { useTranslation } from "react-i18next";
17
+ import { useDataSetContext } from "../../Importer/common/Spreadsheet/DataSetContextProvider";
30
18
  export var StepperSubmitModal = function (_a) {
31
19
  var isSubmitModalOpen = _a.isSubmitModalOpen, onCloseModal = _a.onCloseModal, onSubmit = _a.onSubmit;
32
20
  var t = useTranslation("general").t;
33
21
  var dataSet = useDataSetContext().dataSet;
34
- var filteredDataIds = useFilteredDataContext().filteredDataIds;
35
- var inTrialMode = useImporterContext().inTrialMode;
36
22
  return (_jsx(Modal, __assign({ isOpen: isSubmitModalOpen, onClose: function () { return onCloseModal(); } }, { children: _jsxs(Div, __assign({ centered: true, flexColumn: true, p: 60 }, { children: [_jsx(Div, { children: submitIcon }), _jsx(Div, __assign({ h5: true, mt: 20, "data-cy": "submit-modal-title" }, { children: t("submit_modal.title") })), _jsx(Div, __assign({ body1: true, mt: 12, w: 448, textAlignCenter: true, "data-cy": "submit-modal-description" }, { children: t("submit_modal.description") })), _jsxs(Div, __assign({ dflex: true, mt: 40, w100: true, centered: true }, { children: [_jsx(Button, __assign({ w: 115, variant: "secondary", mr: 10, onClick: function () { return onCloseModal(); }, "data-test-id": "submit-modal-go-back" }, { children: t("submit_modal.cancel") })), _jsx(Button, __assign({ "data-cy": "yes-submit", w: 140, ml: 10, onClick: function () {
37
- var currentDataSet = inTrialMode
38
- ? getValuesFromDataSet(dataSet.current, filteredDataIds, 100)
39
- : dataSet.current;
40
- onSubmit(currentDataSet);
23
+ onSubmit(dataSet === null || dataSet === void 0 ? void 0 : dataSet.current);
41
24
  onCloseModal();
42
25
  } }, { children: t("submit_modal.submit") }))] }))] })) })));
43
26
  };
@@ -13,7 +13,7 @@ var __assign = (this && this.__assign) || function () {
13
13
  };
14
14
  return __assign.apply(this, arguments);
15
15
  };
16
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
17
  import { useEffect, useState } from "react";
18
18
  import { useTranslation } from "react-i18next";
19
19
  import styled, { css } from "styled-components";
@@ -23,12 +23,12 @@ import { useEventManagerContext } from "../../common/EventManagerContextProvider
23
23
  import { Div } from "../../styled/utils";
24
24
  import { ColumnType } from "../Matcher/common/types";
25
25
  import { useReviewContext } from "../Review/ReviewContextProvider";
26
- import { useDataSetContext } from "../common/Spreadsheet/DataSetContextProvider";
27
26
  import { useImporterContext } from "../contexts/ImporterContextProvider";
28
27
  import { ConfirmCloseModal } from "./ConfirmCloseModal";
29
28
  import { Step } from "./Step";
30
29
  import { StepperSubmitModal } from "./StepperSubmitModal";
31
30
  import { UnmatchedHeadersModal } from "./UnmatchedHeadersModal";
31
+ import { useDataSetContext } from "../common/Spreadsheet/DataSetContextProvider";
32
32
  var StepperWrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n user-select: none;\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n user-select: none;\n"])), function (p) { return p.theme.colors.white; }, function (p) { return p.theme.colors.gray300; });
33
33
  var StepperContainer = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 16px;\n justify-content: space-between;\n padding-left: 32px;\n padding-right: 32px;\n width: 100%;\n"], ["\n align-items: center;\n display: flex;\n gap: 16px;\n justify-content: space-between;\n padding-left: 32px;\n padding-right: 32px;\n width: 100%;\n"])));
34
34
  var Steps = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n @media (max-width: 630px) {\n display: none;\n }\n"], ["\n @media (max-width: 630px) {\n display: none;\n }\n"])));
@@ -47,16 +47,15 @@ export var Stepper = function (_a) {
47
47
  var _d = useState(false), isConfirmCloseModalOpen = _d[0], setIsConfirmCloseModalOpen = _d[1];
48
48
  var _e = useDataSetContext(), dataSetLength = _e.dataSetLength, emptyRecordIds = _e.emptyRecordIds;
49
49
  var _f = useState(true), isSubmitDisabled = _f[0], setIsSubmitDisabled = _f[1];
50
- var _g = useImporterContext(), headerMappingsLoaded = _g.headerMappingsLoaded, hasValidSubmitFn = _g.hasValidSubmitFn;
51
- var _h = useReviewContext(), appResponse = _h.appResponse, onSubmit = _h.onSubmit;
52
- var _j = useValidationContext(), totalErrorCount = _j.totalErrorCount, spreadsheetInitialized = _j.spreadsheetInitialized;
53
- var _k = useEventManagerContext(), on = _k.on, off = _k.off, EVENTS = _k.EVENTS;
50
+ var headerMappingsLoaded = useImporterContext().headerMappingsLoaded;
51
+ var _g = useReviewContext(), appResponse = _g.appResponse, onSubmit = _g.onSubmit;
52
+ var _h = useValidationContext(), totalErrorCount = _h.totalErrorCount, spreadsheetInitialized = _h.spreadsheetInitialized;
53
+ var _j = useEventManagerContext(), on = _j.on, off = _j.off, EVENTS = _j.EVENTS;
54
54
  var updateSpreadsheetDisabled = function () {
55
55
  var isSpreadsheetEmpty = dataSetLength.current === emptyRecordIds.current.size;
56
56
  var isDisabled = totalErrorCount.current > 0 ||
57
57
  !spreadsheetInitialized ||
58
- isSpreadsheetEmpty ||
59
- !hasValidSubmitFn;
58
+ isSpreadsheetEmpty;
60
59
  setIsSubmitDisabled(isDisabled);
61
60
  };
62
61
  useEffect(function () {
@@ -68,15 +67,14 @@ export var Stepper = function (_a) {
68
67
  useEffect(function () {
69
68
  updateSpreadsheetDisabled();
70
69
  }, [spreadsheetInitialized]);
71
- var _l = useImporterContext(), initialRecords = _l.initialRecords, currentStepIndex = _l.currentStepIndex, templateHeaderMatchings = _l.templateHeaderMatchings, matcherSubstep = _l.matcherSubstep, templateHeaders = _l.templateHeaders, setMatcherSubstep = _l.setMatcherSubstep, setCurrentStepIndex = _l.setCurrentStepIndex, onClose = _l.onClose, isUsingManualImport = _l.isUsingManualImport, resetImporterWhenUsingManualImport = _l.resetImporterWhenUsingManualImport, uploadedData = _l.uploadedData;
72
- var _m = useState(true), isContinueDisabled = _m[0], setIsContinueDisabled = _m[1];
70
+ var _k = useImporterContext(), initialRecords = _k.initialRecords, currentStepIndex = _k.currentStepIndex, templateHeaderMatchings = _k.templateHeaderMatchings, matcherSubstep = _k.matcherSubstep, templateHeaders = _k.templateHeaders, setMatcherSubstep = _k.setMatcherSubstep, setCurrentStepIndex = _k.setCurrentStepIndex, onClose = _k.onClose, isUsingManualImport = _k.isUsingManualImport, resetImporterWhenUsingManualImport = _k.resetImporterWhenUsingManualImport, uploadedData = _k.uploadedData;
71
+ var _l = useState(true), isContinueDisabled = _l[0], setIsContinueDisabled = _l[1];
73
72
  var templateHeaderLabels = Object.keys(templateHeaderMatchings || []);
74
73
  var unmatchedHeadersCount = templateHeaderLabels.filter(function (templateHeaderLabel) { return !templateHeaderMatchings[templateHeaderLabel]; }).length;
75
- var allColumnsUnmatched = unmatchedHeadersCount === templateHeaders.length;
76
74
  var isLastSubMatchStep = matcherSubstep === 1;
77
75
  useEffect(function () {
78
- setIsContinueDisabled(allColumnsUnmatched || (currentStepIndex === 1 && !headerMappingsLoaded));
79
- }, [currentStepIndex, headerMappingsLoaded, allColumnsUnmatched]);
76
+ setIsContinueDisabled(currentStepIndex === 1 && !headerMappingsLoaded);
77
+ }, [currentStepIndex, headerMappingsLoaded]);
80
78
  var setStep = function () {
81
79
  var templateEnumFields = templateHeaders === null || templateHeaders === void 0 ? void 0 : templateHeaders.filter(function (header) { return header.column_type === ColumnType.enum; });
82
80
  var templateHasEnumFields = !!(templateEnumFields === null || templateEnumFields === void 0 ? void 0 : templateEnumFields.length);
@@ -136,8 +134,8 @@ export var Stepper = function (_a) {
136
134
  }) })));
137
135
  var leftButtonUI = (_jsx(Div, __assign({ style: { flex: 1 } }, { children: !initialRecords && (_jsxs(StepperButtonContainer, __assign({ align: "left" }, { children: [logoURL && (_jsx(Div, __assign({ forDesktop: true }, { children: _jsx(Logo, { src: logoURL, alt: "" }) }))), currentStepIndex > 0 && !appResponse && (_jsx(GoBackButtonWrapper, { children: _jsx(Button, __assign({ variant: "secondary", onClick: goBack }, { children: t("stepper.go_back") })) }))] }))) })));
138
136
  var rightButtonUI = (_jsxs(StepperButtonContainer, __assign({ align: "right" }, { children: [(isMatchStep || isVerifyStep) && (_jsx(Button, __assign({ "data-cy": "continue-button", isDisabled: isContinueDisabled, variant: "primary", onClick: continueToNextStep }, { children: t("stepper.continue") }))), isReviewStep && (_jsx(Button, __assign({ variant: "primary", isDisabled: isSubmitDisabled, "data-cy": "submit_disabled_" + isSubmitDisabled, onClick: function () { return setIsSubmitModalOpen(true); } }, { children: t("stepper.submit") }))), _jsx(CloseIcon, __assign({ "data-test-id": "close-importer", centered: true, clickable: true, onClick: handleOnClose }, { children: closeIconCondensed }))] })));
139
- return (_jsxs(Div, __assign({ "data-cy": "stepper" }, { children: [_jsx(StepperWrapper, __assign({ pRelative: true, alignCenter: true, w100: true, h: 72, centered: true }, { children: _jsxs(StepperContainer, { children: [leftButtonUI, _jsx(Steps, __assign({ alignCenter: true }, { children: stepsUI })), rightButtonUI] }) })), _jsx(UnmatchedHeadersModal, { isUnmatchedHeadersModalOpen: isUnmatchedHeadersModalOpen, unmatchedHeadersCount: unmatchedHeadersCount, onSetStep: function () { return setStep(); }, onCloseUnmatchedHeadersModal: function () {
137
+ return (_jsxs(_Fragment, { children: [_jsx(StepperWrapper, __assign({ pRelative: true, alignCenter: true, w100: true, h: 72, centered: true }, { children: _jsxs(StepperContainer, { children: [leftButtonUI, _jsx(Steps, __assign({ alignCenter: true }, { children: stepsUI })), rightButtonUI] }) })), _jsx(UnmatchedHeadersModal, { isUnmatchedHeadersModalOpen: isUnmatchedHeadersModalOpen, unmatchedHeadersCount: unmatchedHeadersCount, onSetStep: function () { return setStep(); }, onCloseUnmatchedHeadersModal: function () {
140
138
  return setIsUnmatchedHeadersModalOpen(false);
141
- } }), _jsx(StepperSubmitModal, { isSubmitModalOpen: isSubmitModalOpen, onCloseModal: function () { return setIsSubmitModalOpen(false); }, onSubmit: onSubmit }), _jsx(ConfirmCloseModal, { isOpen: isConfirmCloseModalOpen, onClose: function () { return setIsConfirmCloseModalOpen(false); }, onCloseImporter: onClose })] })));
139
+ } }), _jsx(StepperSubmitModal, { isSubmitModalOpen: isSubmitModalOpen, onCloseModal: function () { return setIsSubmitModalOpen(false); }, onSubmit: onSubmit }), _jsx(ConfirmCloseModal, { isOpen: isConfirmCloseModalOpen, onClose: function () { return setIsConfirmCloseModalOpen(false); }, onCloseImporter: onClose })] }));
142
140
  };
143
141
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
@@ -0,0 +1 @@
1
+ export declare const TrialModeBanner: () => JSX.Element;
@@ -0,0 +1,22 @@
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, Fragment as _Fragment } from "react/jsx-runtime";
13
+ import { Button } from "../common";
14
+ import { Div, Span, theme } from "../styled";
15
+ import { exclamationPointIcon } from "./common/icons";
16
+ import { useImporterContext } from "./contexts/ImporterContextProvider";
17
+ export var TrialModeBanner = function () {
18
+ var inTrialMode = useImporterContext().inTrialMode;
19
+ return (_jsx(_Fragment, { children: inTrialMode && (_jsxs(Div, __assign({ bg: theme.colors.orange100, h: 80, dflex: true, alignCenter: true, justifyCenter: true }, { children: [_jsx(Div, __assign({ ml: 33, mr: 8 }, { children: exclamationPointIcon })), _jsx(Span, __assign({ mr: 16 }, { children: "You're currently in Trial mode. Subscribe to a plan to deploy to your website." })), _jsx(Button, __assign({ w: 120, br: 8, variant: "secondary", onClick: function () {
20
+ window.location.href = "".concat(process.env.REACT_APP_API_BASE_URL, "/account/billing");
21
+ } }, { children: "Select plan" }))] }))) }));
22
+ };
@@ -28,7 +28,7 @@ var HeadersList = function (_a) {
28
28
  var title = _a.title, headers = _a.headers, props = __rest(_a, ["title", "headers"]);
29
29
  return (_jsxs(_Fragment, { children: [_jsx(Div, __assign({ label3: true }, props, { children: title })), headers.map(function (header, index) {
30
30
  var isLast = index === headers.length - 1;
31
- return (_jsx(S.HeaderListItem, __assign({ body1: true, "data-cy": header.replace("*", "-asterisk"), isLast: isLast, mt: 16 }, { children: header }), index));
31
+ return (_jsx(S.HeaderListItem, __assign({ body1: true, "data-cy": header, isLast: isLast, mt: 16 }, { children: header }), index));
32
32
  })] }));
33
33
  };
34
34
  export var HeaderCard = function (_a) {
@@ -2,7 +2,6 @@ import React, { MutableRefObject } from "react";
2
2
  import { SpreadsheetFilter } from "../SpreadsheetContextProvider/useSpreadsheetFilter";
3
3
  import { SortBy } from "../common/types";
4
4
  export type State = {
5
- isSortingOrFiltering: boolean;
6
5
  filteredDataIds: string[];
7
6
  filteredInputValue: string;
8
7
  setFilteredInputValue: (value: string) => void;
@@ -43,7 +43,7 @@ export var FilteredDataContextProvider = function (_a) {
43
43
  var _h = useState(false), recalculateFilters = _h[0], setRecalculateFilters = _h[1];
44
44
  var lastFilteredRecordId = useRef(null);
45
45
  var _j = useEventManagerContext(), on = _j.on, off = _j.off, EVENTS = _j.EVENTS;
46
- var _k = useDataSetContext(), getRecord = _k.getRecord, dataSet = _k.dataSet, dataSetLength = _k.dataSetLength;
46
+ var _k = useDataSetContext(), getRecord = _k.getRecord, dataSet = _k.dataSet;
47
47
  var duplicateRecordIds = useDuplicateDataContext().duplicateRecordIds;
48
48
  var _l = useValidationContext(), errors = _l.errors, warnings = _l.warnings;
49
49
  var reset = function () {
@@ -127,12 +127,7 @@ export var FilteredDataContextProvider = function (_a) {
127
127
  setSortByFieldErrors(null);
128
128
  setSortBy(null);
129
129
  }, [sortByFieldWarnings]);
130
- var isSortingOrFiltering = filteredDataIds.length !== dataSetLength.current ||
131
- !!sortByFieldErrors ||
132
- !!sortByFieldWarnings ||
133
- !!sortBy;
134
130
  var value = {
135
- isSortingOrFiltering: isSortingOrFiltering,
136
131
  filteredDataIds: filteredDataIds,
137
132
  filteredInputValue: filteredInputValue,
138
133
  setFilteredInputValue: setFilteredInputValue,
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import { SpreadsheetOptions } from "../../../..";
3
3
  import { Field, RecordDataSet } from "../../../../types";
4
4
  import { SpreadsheetProps } from "../common/types";
5
- import { CellSelectionState } from "./useCellSelection";
6
5
  export type OnDataSetChanged = (dataSet: RecordDataSet) => void;
7
6
  type State = {
8
7
  filteredDataIds: string[];
@@ -15,7 +14,7 @@ type State = {
15
14
  checkboxColumnWidth: number;
16
15
  inefficientRerender: boolean;
17
16
  setInefficientRerender: React.Dispatch<React.SetStateAction<boolean>>;
18
- } & CellSelectionState;
17
+ };
19
18
  type Props = SpreadsheetProps & {
20
19
  children: JSX.Element;
21
20
  };
@@ -24,7 +24,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
24
24
  import { createContext, useContext, useMemo, useRef, useState, } from "react";
25
25
  import { useFilteredDataContext } from "../FilteredDataContextProvider";
26
26
  import { useValidationContext } from "../ValidationContextProvider";
27
- import { useCellSelection } from "./useCellSelection";
28
27
  var SpreadsheetContext = createContext({});
29
28
  export var SpreadsheetContextProvider = function (_a) {
30
29
  var fields = _a.fields, options = _a.options, isReadOnly = _a.isReadOnly, children = _a.children, onValidateRecord = _a.onValidateRecord, selectedRows = _a.selectedRows, setSelectedRows = _a.setSelectedRows;
@@ -39,7 +38,7 @@ export var SpreadsheetContextProvider = function (_a) {
39
38
  var baseCheckboxColumnWidth = lastRowIndexLength * singleLetterWidth + horizontalSpacing;
40
39
  return baseCheckboxColumnWidth < 40 ? 40 : baseCheckboxColumnWidth;
41
40
  }, [filteredDataIds.length]);
42
- var value = __assign(__assign(__assign({ filteredDataIds: filteredDataIds, fields: fields }, validationState), { isReadOnly: isReadOnly, options: options, onValidateRecord: onValidateRecord, selectedRows: selectedRows, setSelectedRows: setSelectedRows, lastClickedIndexRef: lastClickedIndexRef, checkboxColumnWidth: checkboxColumnWidth, inefficientRerender: inefficientRerender, setInefficientRerender: setInefficientRerender }), useCellSelection(fields));
41
+ var value = __assign(__assign({ filteredDataIds: filteredDataIds, fields: fields }, validationState), { isReadOnly: isReadOnly, options: options, onValidateRecord: onValidateRecord, selectedRows: selectedRows, setSelectedRows: setSelectedRows, lastClickedIndexRef: lastClickedIndexRef, checkboxColumnWidth: checkboxColumnWidth, inefficientRerender: inefficientRerender, setInefficientRerender: setInefficientRerender });
43
42
  return (_jsx(SpreadsheetContext.Provider, __assign({ value: value }, { children: children })));
44
43
  };
45
44
  export var useSpreadsheetContext = function () { return useContext(SpreadsheetContext); };
@@ -1,7 +1,4 @@
1
- import { Record } from "../../../../types";
2
1
  export declare const useDataSetManipulation: () => {
3
- addNewRecord: () => string;
4
- insertRecordsIntoSpreadsheet: (records: Record[]) => Promise<void>;
5
2
  appendNewRecordToSpreadsheet: () => void;
6
3
  deleteRecordsFromSpreadsheet: (recordIds: string[]) => void;
7
4
  findAndReplaceInSpreadsheet: (searchText: string, replaceText: string, matchCase: boolean, useRegex: boolean) => Promise<any[]>;
@@ -45,81 +45,50 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
45
45
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
46
  }
47
47
  };
48
- import { useImporterContext } from "../../../../Importer/contexts/ImporterContextProvider";
48
+ import { useFilteredDataContext } from "../FilteredDataContextProvider";
49
+ import { useDataSetContext } from "../DataSetContextProvider";
50
+ import { hasValueInAnyField } from "./utils";
49
51
  import { addMeta } from "../../../../Importer/data";
50
52
  import { useEventManagerContext } from "../../../../common/EventManagerContextProvider";
51
- import useFindAndReplace from "../../../../common/Table/TableActions/useFindAndReplace";
52
- import { useDataSetContext } from "../DataSetContextProvider";
53
- import { useDuplicateDataContext } from "../DuplicateDataContextProvider";
54
- import { useFilteredDataContext } from "../FilteredDataContextProvider";
55
- import { useUndoRedoContext } from "../UndoRedoContextProvider";
56
53
  import { useValidationContext } from "../ValidationContextProvider";
54
+ import { useDuplicateDataContext } from "../DuplicateDataContextProvider";
57
55
  import { useBatchProcessing } from "./useBatchProcessing";
58
- import { hasValueInAnyField } from "./utils";
56
+ import useFindAndReplace from "../../../../common/Table/TableActions/useFindAndReplace";
59
57
  export var useDataSetManipulation = function () {
60
58
  var _a = useFilteredDataContext(), lastFilteredRecordId = _a.lastFilteredRecordId, setRecalculateFilters = _a.setRecalculateFilters;
61
- var _b = useDataSetContext(), getRecord = _b.getRecord, setRecord = _b.setRecord, dataSet = _b.dataSet, deleteRecord = _b.deleteRecord, emptyRecordIds = _b.emptyRecordIds, dataSetLength = _b.dataSetLength;
59
+ var _b = useDataSetContext(), getRecord = _b.getRecord, setRecord = _b.setRecord, dataSet = _b.dataSet, deleteRecord = _b.deleteRecord, emptyRecordIds = _b.emptyRecordIds;
62
60
  var _c = useEventManagerContext(), emit = _c.emit, EVENTS = _c.EVENTS;
63
61
  var _d = useValidationContext(), errors = _d.errors, warnings = _d.warnings, calculateColumnErrorCounts = _d.calculateColumnErrorCounts, calculateColumnWarningCounts = _d.calculateColumnWarningCounts;
64
62
  var updateDuplicateValues = useDuplicateDataContext().updateDuplicateValues;
65
63
  var updateRecordAndRevalidate = useValidationContext().updateRecordAndRevalidate;
66
64
  var processInBatches = useBatchProcessing().processInBatches;
67
65
  var replaceInRecord = useFindAndReplace().replaceInRecord;
68
- var trackRecordDeletion = useUndoRedoContext().trackRecordDeletion;
69
- var layoutRef = useImporterContext().layoutRef;
70
- var addNewRecord = function () {
71
- var newRow = addMeta({}, dataSetLength.current);
72
- setRecord(newRow._meta.id, newRow);
73
- return newRow._meta.id;
74
- };
75
66
  var appendNewRecordToSpreadsheet = function () {
67
+ var _a, _b;
76
68
  var _record = getRecord(lastFilteredRecordId.current);
77
69
  if (!hasValueInAnyField(_record)) {
78
70
  return;
79
71
  }
80
- addNewRecord();
72
+ var highestRowIndex = -1;
73
+ for (var recordId in dataSet.current)
74
+ if (((_b = (_a = getRecord(recordId)) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.rowIndex) > highestRowIndex)
75
+ highestRowIndex = getRecord(recordId)._meta.rowIndex;
76
+ var newRow = addMeta({}, highestRowIndex + 1);
77
+ setRecord(newRow._meta.id, newRow);
81
78
  emit(EVENTS.ON_LAST_ROW_CHANGED);
82
79
  };
83
- var insertRecordsIntoSpreadsheet = function (records) { return __awaiter(void 0, void 0, void 0, function () {
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- records.forEach(function (record) {
88
- setRecord(record._meta.id, { _meta: record._meta });
89
- });
90
- return [4 /*yield*/, updateRecordAndRevalidate(records)];
91
- case 1:
92
- _a.sent();
93
- setRecalculateFilters(function (prev) { return !prev; });
94
- emit(EVENTS.UPDATE_COLUMN_ERROR_COUNT);
95
- emit(EVENTS.UPDATE_TOTAL_ERROR_COUNT);
96
- emit(EVENTS.UPDATE_TOTAL_ROW_COUNT);
97
- layoutRef.current.querySelector(".input-content").focus();
98
- return [2 /*return*/];
99
- }
100
- });
101
- }); };
102
80
  var deleteRecordsFromSpreadsheet = function (recordIds) {
103
- trackRecordDeletion(recordIds, insertRecordsIntoSpreadsheet, function (records) {
104
- var ids = records.map(function (r) { return r._meta.id; });
105
- deleteRecordsFromSpreadsheet(ids);
106
- });
107
- var records = [];
108
81
  recordIds.forEach(function (recordId) {
109
- records.push(getRecord(recordId));
110
82
  updateDuplicateValues(getRecord(recordId), {}, false, updateRecordAndRevalidate);
111
83
  deleteRecord(recordId);
112
84
  calculateColumnErrorCounts(errors.current[recordId], {});
113
85
  calculateColumnWarningCounts(warnings.current[recordId], {});
114
- delete errors.current[recordId];
115
- delete warnings.current[recordId];
116
86
  emptyRecordIds.current.delete(recordId);
117
87
  });
118
88
  setRecalculateFilters(function (prev) { return !prev; });
119
89
  emit(EVENTS.UPDATE_COLUMN_ERROR_COUNT);
120
90
  emit(EVENTS.UPDATE_TOTAL_ERROR_COUNT);
121
91
  emit(EVENTS.UPDATE_TOTAL_ROW_COUNT);
122
- layoutRef.current.querySelector(".input-content input").focus();
123
92
  };
124
93
  var findAndReplaceInSpreadsheet = function (searchText, replaceText, matchCase, useRegex) { return __awaiter(void 0, void 0, void 0, function () {
125
94
  var cellsWithText;
@@ -143,8 +112,6 @@ export var useDataSetManipulation = function () {
143
112
  });
144
113
  }); };
145
114
  return {
146
- addNewRecord: addNewRecord,
147
- insertRecordsIntoSpreadsheet: insertRecordsIntoSpreadsheet,
148
115
  appendNewRecordToSpreadsheet: appendNewRecordToSpreadsheet,
149
116
  deleteRecordsFromSpreadsheet: deleteRecordsFromSpreadsheet,
150
117
  findAndReplaceInSpreadsheet: findAndReplaceInSpreadsheet,
@@ -63,7 +63,6 @@ import { useDataSetContext } from "../DataSetContextProvider";
63
63
  import { useDuplicateDataContext } from "../DuplicateDataContextProvider";
64
64
  import { useBatchProcessing } from "../SpreadsheetContextProvider/useBatchProcessing";
65
65
  import { selectValidatorsFor, validateRecord } from "../validation";
66
- import { useUndoRedoContext } from "../UndoRedoContextProvider";
67
66
  // this is the fastest check for empty object as per
68
67
  // https://stackoverflow.com/questions/679915/how-do-i-test-for-an-empty-javascript-object/785768#785768
69
68
  var isObjectEmpty = function (obj) {
@@ -108,9 +107,8 @@ export var ValidationContextProvider = function (_a) {
108
107
  var _e = useDuplicateDataContext(), duplicateValues = _e.duplicateValues, updateDuplicateValues = _e.updateDuplicateValues, resetDuplicateProvider = _e.resetDuplicateProvider;
109
108
  var processRecordsInBatches = useBatchProcessing(10000).processRecordsInBatches;
110
109
  var _f = useState(false), spreadsheetInitialized = _f[0], setSpreadsheetInitialized = _f[1];
111
- var _g = useImporterContext(), currentStepIndex = _g.currentStepIndex, templateSlug = _g.templateSlug;
112
- var _h = useState(false), dataSetChanged = _h[0], setDataSetChanged = _h[1];
113
- var _j = useUndoRedoContext(), trackRecordChanges = _j.trackRecordChanges, undoTrackingEnabled = _j.undoTrackingEnabled;
110
+ var currentStepIndex = useImporterContext().currentStepIndex;
111
+ var _g = useState(false), dataSetChanged = _g[0], setDataSetChanged = _g[1];
114
112
  var reset = function () {
115
113
  columnsWithErrorCounts.current = {};
116
114
  columnsWithWarningCounts.current = {};
@@ -209,7 +207,6 @@ export var ValidationContextProvider = function (_a) {
209
207
  switch (_a.label) {
210
208
  case 0:
211
209
  recordsArray = Array.isArray(records) ? records : [records];
212
- trackRecordChanges(recordsArray, updateRecordAndRevalidate, updateRecordAndRevalidate);
213
210
  length = recordsArray.length;
214
211
  if (!(loadingIndicator && length > 10000)) return [3 /*break*/, 2];
215
212
  setIsLoadingApp(true);
@@ -285,11 +282,9 @@ export var ValidationContextProvider = function (_a) {
285
282
  initialData = Object.values(dataSet.current);
286
283
  if (!(initialData.length > 0)) return [3 /*break*/, 2];
287
284
  setIsLoadingApp(true);
288
- undoTrackingEnabled.current = false;
289
285
  return [4 /*yield*/, updateRecordAndRevalidate(initialData, true)];
290
286
  case 1:
291
287
  _a.sent();
292
- undoTrackingEnabled.current = true;
293
288
  _a.label = 2;
294
289
  case 2: return [2 /*return*/];
295
290
  }
@@ -51,7 +51,7 @@ import { Button, Modal, addToast } from "../../../../../common";
51
51
  import { useTranslation } from "react-i18next";
52
52
  import { TextInput } from "../../../../../common/inputs/TextInput";
53
53
  import { Checkbox } from "../../../../../common";
54
- import { useEffect, useRef, useState } from "react";
54
+ import { useState } from "react";
55
55
  import { useDataSetManipulation } from "../../SpreadsheetContextProvider/useDataSetManipulation";
56
56
  import { useFilteredDataContext } from "../../FilteredDataContextProvider";
57
57
  export var FindAndReplaceModal = function (_a) {
@@ -63,12 +63,6 @@ export var FindAndReplaceModal = function (_a) {
63
63
  var _d = useState(false), useRegex = _d[0], setUseRegex = _d[1];
64
64
  var _e = useState(true), matchCase = _e[0], setMatchCase = _e[1];
65
65
  var setFilteredInputValue = useFilteredDataContext().setFilteredInputValue;
66
- var findRef = useRef();
67
- useEffect(function () {
68
- if (!findRef.current)
69
- return;
70
- findRef.current.focus();
71
- }, [findRef.current]);
72
66
  var findAndReplace = function () { return __awaiter(void 0, void 0, void 0, function () {
73
67
  var records;
74
68
  return __generator(this, function (_a) {
@@ -90,5 +84,5 @@ export var FindAndReplaceModal = function (_a) {
90
84
  }
91
85
  });
92
86
  }); };
93
- return (_jsx(Modal, __assign({ isOpen: true, onClose: function () { return onClose(); } }, { children: _jsxs(Div, __assign({ p: "17px 20px", w: 500 }, { children: [_jsx(Div, __assign({ textAlignCenter: true, h5: true }, { children: t("find_and_replace_modal.title") })), _jsx(Div, __assign({ mt: 20, mb: 20, textAlignCenter: true, body1: true }, { children: t("find_and_replace_modal.description") })), _jsxs(Div, __assign({ mb: 20, w: 500, textAlignCenter: true, body1: true }, { children: [_jsx(TextInput, { setInputRef: findRef, "data-cy": "find-input", mb: 20, name: t("find_and_replace_modal.find"), label: t("find_and_replace_modal.find"), value: searchText, onChange: function (value) { return setSearchText(value); } }), _jsx(TextInput, { "data-cy": "replace-input", label: t("find_and_replace_modal.replace_with"), value: replaceText, onChange: function (value) { return setReplaceText(value); } })] })), _jsx(Div, __assign({ mb: 12 }, { children: _jsx(Checkbox, { "data-cy": "use-regex", label: t("find_and_replace_modal.use_regex"), isChecked: useRegex, onChange: function (v) { return setUseRegex(v); } }) })), _jsx(Div, __assign({ mb: 12 }, { children: _jsx(Checkbox, { "data-cy": "case-sensitive", label: t("find_and_replace_modal.use_case_sensitive"), isChecked: matchCase, onChange: function (v) { return setMatchCase(v); } }) })), _jsxs(Div, __assign({ dflex: true, centered: true, mt: 40 }, { children: [_jsx(Button, __assign({ variant: "secondary", onClick: function () { return onClose(); }, w: 160, mr: 16 }, { children: t("find_and_replace_modal.cancel") })), _jsx(Button, __assign({ "data-cy": "find-replace-submit", variant: "primary", onClick: function () { return findAndReplace(); } }, { children: t("find_and_replace_modal.submit") }))] }))] })) })));
87
+ return (_jsx(Modal, __assign({ isOpen: true, onClose: function () { return onClose(); } }, { children: _jsxs(Div, __assign({ p: "17px 20px", w: 500 }, { children: [_jsx(Div, __assign({ textAlignCenter: true, h5: true }, { children: t("find_and_replace_modal.title") })), _jsx(Div, __assign({ mt: 20, mb: 20, textAlignCenter: true, body1: true }, { children: t("find_and_replace_modal.description") })), _jsxs(Div, __assign({ mb: 20, w: 500, textAlignCenter: true, body1: true }, { children: [_jsx(TextInput, { "data-cy": "find-input", mb: 20, name: t("find_and_replace_modal.find"), label: t("find_and_replace_modal.find"), value: searchText, onChange: function (value) { return setSearchText(value); } }), _jsx(TextInput, { "data-cy": "replace-input", label: t("find_and_replace_modal.replace_with"), value: replaceText, onChange: function (value) { return setReplaceText(value); } })] })), _jsx(Div, __assign({ mb: 12 }, { children: _jsx(Checkbox, { "data-cy": "use-regex", label: t("find_and_replace_modal.use_regex"), isChecked: useRegex, onChange: function (v) { return setUseRegex(v); } }) })), _jsx(Div, __assign({ mb: 12 }, { children: _jsx(Checkbox, { "data-cy": "case-sensitive", label: t("find_and_replace_modal.use_case_sensitive"), isChecked: matchCase, onChange: function (v) { return setMatchCase(v); } }) })), _jsxs(Div, __assign({ dflex: true, centered: true, mt: 40 }, { children: [_jsx(Button, __assign({ variant: "secondary", onClick: function () { return onClose(); }, w: 160, mr: 16 }, { children: t("find_and_replace_modal.cancel") })), _jsx(Button, __assign({ "data-cy": "find-replace-submit", variant: "primary", onClick: function () { return findAndReplace(); } }, { children: t("find_and_replace_modal.submit") }))] }))] })) })));
94
88
  };
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import { DivCSSProps } from "../../../../../styled/utils";
2
+ import { DivCSSProps } from "../../../../styled/utils";
3
3
  declare const _default: React.MemoExoticComponent<(props: DivCSSProps) => JSX.Element>;
4
4
  export default _default;
@@ -23,22 +23,21 @@ var __rest = (this && this.__rest) || function (s, e) {
23
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  import React, { useCallback, useEffect, useMemo, useRef } from "react";
25
25
  import { areEqual } from "react-window";
26
- import { getTableHeight } from "../../..";
27
- import { TableActions } from "../../../../../common/Table/TableActions";
28
- import { Div } from "../../../../../styled/utils";
29
- import useWindowDimensions from "../../../../../utils/hooks/useWindowSize";
30
- import { useImporterContext } from "../../../../contexts/ImporterContextProvider";
31
- import { spreadsheetHeaderHeightPx, spreadsheetRowHeightPx, } from "../../common";
32
- import { useDataSetContext } from "../../DataSetContextProvider";
33
- import { useFilteredDataContext } from "../../FilteredDataContextProvider";
34
- import { useSpreadsheetContext } from "../../SpreadsheetContextProvider";
35
- import * as S from "../../styles";
36
- import { useValidationContext } from "../../ValidationContextProvider";
37
- import { FieldHeader } from "../FieldHeader";
38
- import GlobalStyle from "../GlobalStyle";
39
- import { inputTypes } from "../inputs";
40
- import { SpreadsheetRowCheckboxes } from "../SpreadsheetRowCheckboxes";
41
- import { CellContextProvider } from "./CellContextProvider";
26
+ import { useImporterContext } from "../../../../Importer/contexts/ImporterContextProvider";
27
+ import { TableActions } from "../../../../common/Table/TableActions";
28
+ import { Div } from "../../../../styled/utils";
29
+ import useWindowDimensions from "../../../../utils/hooks/useWindowSize";
30
+ import { getTableHeight } from "../../../common";
31
+ import { useDataSetContext } from "../DataSetContextProvider";
32
+ import { useFilteredDataContext } from "../FilteredDataContextProvider";
33
+ import { useSpreadsheetContext } from "../SpreadsheetContextProvider";
34
+ import { useValidationContext } from "../ValidationContextProvider";
35
+ import { spreadsheetHeaderHeightPx, spreadsheetRowHeightPx } from "../common";
36
+ import * as S from "../styles";
37
+ import { FieldHeader } from "./FieldHeader";
38
+ import GlobalStyle from "./GlobalStyle";
39
+ import { SpreadsheetRowCheckboxes } from "./SpreadsheetRowCheckboxes";
40
+ import { inputTypes } from "./inputs";
42
41
  var getItemKey = function (record) { return record._meta.id; };
43
42
  var SpreadsheetData = function (props) {
44
43
  var _a = useSpreadsheetContext(), fields = _a.fields, filteredDataIds = _a.filteredDataIds, isReadOnly = _a.isReadOnly, options = _a.options, selectedRows = _a.selectedRows, setSelectedRows = _a.setSelectedRows, checkboxColumnWidth = _a.checkboxColumnWidth;
@@ -83,8 +82,8 @@ var SpreadsheetData = function (props) {
83
82
  Header: function () { return _jsx(FieldHeader, { field: field }); },
84
83
  Content: function (record) {
85
84
  var Input = inputTypes[field.type];
86
- var rowIndex = record.rowIndex, colIndex = record.colIndex, columnWidth = record.columnWidth, recordProp = __rest(record, ["rowIndex", "colIndex", "columnWidth"]);
87
- return (_jsx(CellContextProvider, __assign({ rowIndex: rowIndex, colIndex: colIndex }, { children: _jsx(Input, { id: "".concat(field.name, "-").concat(rowIndex), fieldType: field.type, name: field.name, options: field.options, record: recordProp, columnWidth: columnWidth }) })));
85
+ var rowIndex = record.rowIndex, columnWidth = record.columnWidth, recordProp = __rest(record, ["rowIndex", "columnWidth"]);
86
+ return (_jsx(Input, { id: "".concat(field.name, "-").concat(rowIndex), fieldType: field.type, name: field.name, options: field.options, record: recordProp, columnWidth: columnWidth }));
88
87
  },
89
88
  }); });
90
89
  }, [fields, handleSortByFieldErrors, dataSet.current]);
@@ -28,7 +28,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
28
  import { useMemo } from "react";
29
29
  import styled, { css } from "styled-components";
30
30
  import { SpreadsheetField, useSpreadsheetField } from ".";
31
- import { handleInputPaste } from "../../../../../common";
32
31
  import { Div } from "../../../../../styled/utils";
33
32
  import { useReviewContext } from "../../../../Review/ReviewContextProvider";
34
33
  import { AVERAGE_CHAR_SIZE, getFieldContentWidth } from "./utils";
@@ -60,7 +59,7 @@ export var SpreadsheetInput = function (_a) {
60
59
  ? "".concat(totalInputSize, "px")
61
60
  : "".concat(defaultWidthAsNumber, "px");
62
61
  }, [value, record, columnWidth]);
63
- return (_jsxs(SpreadsheetField, __assign({ validationError: validationError, validationWarning: validationWarning, isHighlighted: isHighlighted, defaultFieldWidth: defaultWidthAsNumber, expandedFieldWidth: expandedFieldWidth, shouldExpandInput: true }, { children: [_jsx(Input, __assign({ onPaste: handleInputPaste, autoComplete: "off", hasError: !!validationError, hasWarning: !!validationWarning, value: parseValue(value), onChange: function (_a) {
62
+ return (_jsxs(SpreadsheetField, __assign({ validationError: validationError, validationWarning: validationWarning, isHighlighted: isHighlighted, defaultFieldWidth: defaultWidthAsNumber, expandedFieldWidth: expandedFieldWidth, shouldExpandInput: true }, { children: [_jsx(Input, __assign({ autoComplete: "off", hasError: !!validationError, hasWarning: !!validationWarning, value: parseValue(value), onChange: function (_a) {
64
63
  var value = _a.target.value;
65
64
  return !hasTransformedRecords && setValue(value);
66
65
  }, disabledWhen: hasTransformedRecords }, props)), ((_g = (_f = (_e = record === null || record === void 0 ? void 0 : record._meta) === null || _e === void 0 ? void 0 : _e.transformedRow) === null || _f === void 0 ? void 0 : _f[name]) === null || _g === void 0 ? void 0 : _g.original) &&
@@ -6,17 +6,6 @@ export declare const useSpreadsheetField: (name: string, record: Record, fieldTy
6
6
  validationError: any;
7
7
  validationWarning: any;
8
8
  };
9
- type ContentContainerProps = {
10
- hasError?: boolean;
11
- hasWarning?: boolean;
12
- isReadOnly?: boolean;
13
- isHighlighted?: boolean;
14
- expandedFieldWidth?: string;
15
- shouldExpandInput?: boolean;
16
- defaultFieldWidth?: number;
17
- isSelected?: boolean;
18
- };
19
- export declare const ContentContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../../../../styled/utils").CSSProps & ContentContainerProps, never>;
20
9
  type SpreadsheetFieldProps = {
21
10
  validationError: string | JSX.Element;
22
11
  validationWarning: string | JSX.Element;