fuse-importer 0.1.6-testing → 0.1.7-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 (23) hide show
  1. package/lib/esm/Importer/Review/ReviewContextProvider.d.ts +2 -0
  2. package/lib/esm/Importer/Review/ReviewContextProvider.js +18 -13
  3. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/index.js +2 -2
  4. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.d.ts +0 -2
  5. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.js +3 -4
  6. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowCheckboxes.js +7 -5
  7. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpeadsheetAutocomplete.js +2 -2
  8. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpreadsheetInput.js +2 -2
  9. package/lib/esm/Importer/common/Spreadsheet/transformation/index.js +1 -1
  10. package/lib/esm/Importer/data/index.d.ts +5 -1
  11. package/lib/esm/Importer/data/index.js +14 -9
  12. package/lib/esm/Importer/hooks/useSubmitToServer.d.ts +1 -1
  13. package/lib/esm/Importer/hooks/useSubmitToServer.js +3 -2
  14. package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.js +6 -5
  15. package/lib/esm/common/Table/TableActions/RowFilters.js +2 -2
  16. package/lib/esm/common/Table/TableActions/SearchRows.js +8 -8
  17. package/lib/esm/common/Table/TableActions/TableActions.js +9 -4
  18. package/lib/esm/common/Table/TableActions/TransformedRecordsCount.d.ts +5 -1
  19. package/lib/esm/common/Table/TableActions/TransformedRecordsCount.js +19 -39
  20. package/lib/esm/common/buttons.js +6 -6
  21. package/lib/esm/styled/theme/textCss.js +1 -1
  22. package/lib/main.js +2 -2
  23. package/package.json +1 -1
@@ -19,6 +19,8 @@ type State = {
19
19
  onSubmit: (dataSet: RecordDataSet) => Promise<void>;
20
20
  setReviewInitialDataSetDeprecated: (dataSet: any) => void;
21
21
  setInitialDataSetUpdatedAt: React.Dispatch<any>;
22
+ isTransformTooltipOpened: boolean;
23
+ setIsTransformTooltipOpened: React.Dispatch<React.SetStateAction<boolean>>;
22
24
  };
23
25
  export type ExportDataType = "csv" | "excel";
24
26
  type Props = {
@@ -57,14 +57,15 @@ var ReviewContext = createContext({});
57
57
  export var ReviewContextProvider = function (_a) {
58
58
  var initialRecords = _a.initialRecords, children = _a.children;
59
59
  var _b = useImporterContext(), templateHeaderMatchings = _b.templateHeaderMatchings, enumFieldValueMatchings = _b.enumFieldValueMatchings, templateHeaders = _b.templateHeaders, uploadedDataHeaders = _b.uploadedDataHeaders, headerRowIndex = _b.headerRowIndex, uploadedData = _b.uploadedData, currentStepIndex = _b.currentStepIndex, setSelectedRows = _b.setSelectedRows, _c = _b.importerOptions, disableSubmitIfInvalid = _c.disableSubmitIfInvalid, batchValidationDelayMs = _c.batchValidationDelayMs, batchValidationSize = _c.batchValidationSize, loadingComponent = _c.loadingComponent, onValidateRecord = _b.onValidateRecord, formatRecord = _b.formatRecord;
60
- var _d = useSubmitToServer(), appResponse = _d.appResponse, isSubmitting = _d.isSubmitting, importWasSuccessful = _d.importWasSuccessful, onSubmitToServer = _d.onSubmitToServer;
60
+ var _d = useState(false), isTransformTooltipOpened = _d[0], setIsTransformTooltipOpened = _d[1];
61
+ var _e = useSubmitToServer(setIsTransformTooltipOpened), appResponse = _e.appResponse, isSubmitting = _e.isSubmitting, importWasSuccessful = _e.importWasSuccessful, onSubmitToServer = _e.onSubmitToServer;
61
62
  var setIsLoadingApp = useAppLoadingContext().setIsLoadingApp;
62
- var _e = useState([]), previewFields = _e[0], setPreviewFields = _e[1];
63
- var _f = useState(null), previewInitialDataSet = _f[0], setPreviewInitialDataSet = _f[1];
64
- var _g = useState([]), reviewFields = _g[0], setReviewFields = _g[1];
63
+ var _f = useState([]), previewFields = _f[0], setPreviewFields = _f[1];
64
+ var _g = useState(null), previewInitialDataSet = _g[0], setPreviewInitialDataSet = _g[1];
65
+ var _h = useState([]), reviewFields = _h[0], setReviewFields = _h[1];
65
66
  var reviewInitialDataSet = useRef(null);
66
- var _h = useState(null), initialDataSetUpdatedAt = _h[0], setInitialDataSetUpdatedAt = _h[1];
67
- var _j = useState(false), _ = _j[0], setInefficientRerender = _j[1];
67
+ var _j = useState(null), initialDataSetUpdatedAt = _j[0], setInitialDataSetUpdatedAt = _j[1];
68
+ var _k = useState(false), _ = _k[0], setInefficientRerender = _k[1];
68
69
  var setReviewInitialDataSetDeprecated = function (dataSet) {
69
70
  reviewInitialDataSet.current = dataSet;
70
71
  setInefficientRerender(function (prev) { return !prev; });
@@ -103,17 +104,17 @@ export var ReviewContextProvider = function (_a) {
103
104
  else if (currentStepIndex === 2) {
104
105
  setIsLoadingApp(true);
105
106
  (function () { return __awaiter(void 0, void 0, void 0, function () {
106
- var generateRecords, fields, records, initialDataSet;
107
- return __generator(this, function (_a) {
108
- switch (_a.label) {
107
+ var generateRecords, fields, records, _a, isDatasetTransformed, initialDataSet;
108
+ return __generator(this, function (_b) {
109
+ switch (_b.label) {
109
110
  case 0:
110
111
  if (!(uploadedData && uploadedData.length > 10000)) return [3 /*break*/, 2];
111
112
  // wait for the first render to complete before blocking main thread with review step logic
112
113
  return [4 /*yield*/, sleep(200)];
113
114
  case 1:
114
115
  // wait for the first render to complete before blocking main thread with review step logic
115
- _a.sent();
116
- _a.label = 2;
116
+ _b.sent();
117
+ _b.label = 2;
117
118
  case 2:
118
119
  generateRecords = function () {
119
120
  return transformToRecords({
@@ -127,10 +128,12 @@ export var ReviewContextProvider = function (_a) {
127
128
  };
128
129
  fields = getTemplateFields({ templateHeaders: templateHeaders });
129
130
  records = initialRecords !== null && initialRecords !== void 0 ? initialRecords : generateRecords();
130
- initialDataSet = getReviewDataSet({
131
+ _a = getReviewDataSet({
131
132
  records: records,
132
133
  fields: fields,
133
- }).initialDataSet;
134
+ }), isDatasetTransformed = _a.isDatasetTransformed, initialDataSet = _a.initialDataSet;
135
+ if (isDatasetTransformed)
136
+ setIsTransformTooltipOpened(true);
134
137
  setSelectedRows([]);
135
138
  setReviewFields(fields);
136
139
  setReviewInitialDataSetDeprecated(initialDataSet);
@@ -178,6 +181,8 @@ export var ReviewContextProvider = function (_a) {
178
181
  onDataSetChanged: onDataSetChanged,
179
182
  setReviewInitialDataSetDeprecated: setReviewInitialDataSetDeprecated,
180
183
  setInitialDataSetUpdatedAt: setInitialDataSetUpdatedAt,
184
+ isTransformTooltipOpened: isTransformTooltipOpened,
185
+ setIsTransformTooltipOpened: setIsTransformTooltipOpened,
181
186
  };
182
187
  function renderLoading() {
183
188
  return isSubmitting ? (loadingComponent ? (loadingComponent()) : (_jsx(AppLoading, {}))) : null;
@@ -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, 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) {
@@ -40,5 +40,5 @@ export var HeaderCard = function (_a) {
40
40
  .filter(function (h) { return !h.required; })
41
41
  .map(function (h) { return h.label; });
42
42
  var t = useTranslation("upload").t;
43
- return (_jsx(S.HeaderCardWrapper, { children: _jsxs(S.HeaderCardContainer, __assign({}, props, { children: [_jsx(Div, __assign({ body3: true, mb: 24 }, { children: t("header.title") })), requiredHeaders.length > 0 && (_jsx(HeadersList, { title: t("header.required_headers"), headers: requiredHeaders })), optionalHeaders.length > 0 && (_jsx(HeadersList, { title: t("header.optional_headers"), headers: optionalHeaders, mt: 30 }))] })) }));
43
+ return (_jsx(S.HeaderCardWrapper, { children: _jsxs(S.HeaderCardContainer, __assign({}, props, { children: [_jsx(Div, __assign({ "data-cy": "header_title", body3: true, mb: 24 }, { children: t("header.title") })), requiredHeaders.length > 0 && (_jsx(HeadersList, { "data-cy": "required_header", title: t("header.required_headers"), headers: requiredHeaders })), optionalHeaders.length > 0 && (_jsx(HeadersList, { "data-cy": "optional_header", title: t("header.optional_headers"), headers: optionalHeaders, mt: 30 }))] })) }));
44
44
  };
@@ -12,8 +12,6 @@ type State = {
12
12
  setSelectedRows: React.Dispatch<React.SetStateAction<string[]>>;
13
13
  lastClickedIndexRef: React.MutableRefObject<number | null>;
14
14
  checkboxColumnWidth: number;
15
- setIsTransformTooltipOpened: React.Dispatch<React.SetStateAction<boolean>>;
16
- isTransformTooltipOpened: boolean;
17
15
  inefficientRerender: boolean;
18
16
  setInefficientRerender: React.Dispatch<React.SetStateAction<boolean>>;
19
17
  };
@@ -27,10 +27,9 @@ import { useValidationContext } from "../ValidationContextProvider";
27
27
  var SpreadsheetContext = createContext({});
28
28
  export var SpreadsheetContextProvider = function (_a) {
29
29
  var fields = _a.fields, options = _a.options, isReadOnly = _a.isReadOnly, children = _a.children, onValidateRecord = _a.onValidateRecord, selectedRows = _a.selectedRows, setSelectedRows = _a.setSelectedRows;
30
- var _b = useState(false), isTransformTooltipOpened = _b[0], setIsTransformTooltipOpened = _b[1];
31
- var _c = useState(false), inefficientRerender = _c[0], setInefficientRerender = _c[1];
30
+ var _b = useState(false), inefficientRerender = _b[0], setInefficientRerender = _b[1];
32
31
  var filteredDataIds = useFilteredDataContext().filteredDataIds;
33
- var _d = useValidationContext(), calculateColumnErrorCounts = _d.calculateColumnErrorCounts, calculateColumnWarningCounts = _d.calculateColumnWarningCounts, warnings = _d.warnings, errors = _d.errors, validationState = __rest(_d, ["calculateColumnErrorCounts", "calculateColumnWarningCounts", "warnings", "errors"]);
32
+ var _c = useValidationContext(), calculateColumnErrorCounts = _c.calculateColumnErrorCounts, calculateColumnWarningCounts = _c.calculateColumnWarningCounts, warnings = _c.warnings, errors = _c.errors, validationState = __rest(_c, ["calculateColumnErrorCounts", "calculateColumnWarningCounts", "warnings", "errors"]);
34
33
  var lastClickedIndexRef = useRef(null);
35
34
  var checkboxColumnWidth = useMemo(function () {
36
35
  var lastRowIndexLength = filteredDataIds.length.toString().length;
@@ -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({ filteredDataIds: filteredDataIds, fields: fields }, validationState), { isReadOnly: isReadOnly, options: options, onValidateRecord: onValidateRecord, selectedRows: selectedRows, setSelectedRows: setSelectedRows, lastClickedIndexRef: lastClickedIndexRef, checkboxColumnWidth: checkboxColumnWidth, setIsTransformTooltipOpened: setIsTransformTooltipOpened, isTransformTooltipOpened: isTransformTooltipOpened, inefficientRerender: inefficientRerender, setInefficientRerender: setInefficientRerender });
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); };
@@ -35,17 +35,18 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
35
35
  };
36
36
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
37
37
  import { useMemo } from "react";
38
+ import ReactVirtualizedAutoSizer from "react-virtualized-auto-sizer";
38
39
  import { FixedSizeGrid as Grid } from "react-window";
39
40
  import styled, { css } from "styled-components";
41
+ import { Checkbox } from "../../../../common/inputs/Checkbox";
40
42
  import { Div } from "../../../../styled/utils";
43
+ import { useImporterContext } from "../../../contexts/ImporterContextProvider";
44
+ import { useReviewContext } from "../../../Review/ReviewContextProvider";
41
45
  import { spreadsheetRowHeightPx } from "../common";
42
46
  import { spreadsheetHeaderHeightPx } from "../common/index";
47
+ import { useDataSetContext } from "../DataSetContextProvider";
43
48
  import { useSpreadsheetContext } from "../SpreadsheetContextProvider";
44
- import { Checkbox } from "../../../../common/inputs/Checkbox";
45
- import { useImporterContext } from "../../../contexts/ImporterContextProvider";
46
- import ReactVirtualizedAutoSizer from "react-virtualized-auto-sizer";
47
49
  import { rowIsEmpty } from "../SpreadsheetContextProvider/utils";
48
- import { useDataSetContext } from "../DataSetContextProvider";
49
50
  var StyledGrid = styled(Grid)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background: ", ";\n overflow-y: scroll;\n"], ["\n background: ", ";\n overflow-y: scroll;\n"])), function (_a) {
50
51
  var theme = _a.theme;
51
52
  return theme.colors.white50;
@@ -58,7 +59,8 @@ var gridStyles = {
58
59
  };
59
60
  export var SpreadsheetRowCheckboxes = function (_a) {
60
61
  var height = _a.height, gridRef = _a.gridRef, isLoadingData = _a.isLoadingData, props = __rest(_a, ["height", "gridRef", "isLoadingData"]);
61
- var _b = useSpreadsheetContext(), selectedRows = _b.selectedRows, options = _b.options, filteredDataIds = _b.filteredDataIds, lastClickedIndexRef = _b.lastClickedIndexRef, setSelectedRows = _b.setSelectedRows, checkboxColumnWidth = _b.checkboxColumnWidth, isTransformTooltipOpened = _b.isTransformTooltipOpened;
62
+ var _b = useSpreadsheetContext(), selectedRows = _b.selectedRows, options = _b.options, filteredDataIds = _b.filteredDataIds, lastClickedIndexRef = _b.lastClickedIndexRef, setSelectedRows = _b.setSelectedRows, checkboxColumnWidth = _b.checkboxColumnWidth;
63
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
62
64
  var getRecord = useDataSetContext().getRecord;
63
65
  var currentStepIndex = useImporterContext().currentStepIndex;
64
66
  var nonEmptyRows = useMemo(function () { return filteredDataIds.filter(function (rowId) { return !rowIsEmpty(getRecord(rowId)); }); }, [filteredDataIds]);
@@ -19,8 +19,8 @@ import { SpreadsheetField, useSpreadsheetField } from ".";
19
19
  import { Autocomplete as AutocompleteBase, } from "../../../../../common/inputs/Autocomplete";
20
20
  import { SelectMenuDiv, SelectMenuScrollArea, } from "../../../../../common/inputs/SelectMenu";
21
21
  import { HTMLInput, TextInputIcon, } from "../../../../../common/inputs/TextInput";
22
+ import { useReviewContext } from "../../../../Review/ReviewContextProvider";
22
23
  import { spreadsheetRowHeightPx } from "../../common";
23
- import { useSpreadsheetContext } from "../../SpreadsheetContextProvider";
24
24
  var Autocomplete = styled(AutocompleteBase)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", " {\n border: none;\n border-radius: 0;\n margin: 0;\n background: transparent;\n height: ", "px;\n padding: 0 12px;\n\n ", "\n\n ::placeholder {\n ", "\n\n ", "\n\n ::placeholder {\n ", "\n }\n }\n\n :focus {\n border: none;\n box-shadow: none;\n }\n\n :hover {\n background: transparent;\n }\n }\n ", " {\n right: 6px;\n }\n ", " {\n border-radius: 7px;\n }\n ", " {\n padding: 4px;\n }\n"], ["\n ", " {\n border: none;\n border-radius: 0;\n margin: 0;\n background: transparent;\n height: ", "px;\n padding: 0 12px;\n\n ", "\n\n ::placeholder {\n ", "\n\n ", "\n\n ::placeholder {\n ", "\n }\n }\n\n :focus {\n border: none;\n box-shadow: none;\n }\n\n :hover {\n background: transparent;\n }\n }\n ", " {\n right: 6px;\n }\n ", " {\n border-radius: 7px;\n }\n ", " {\n padding: 4px;\n }\n"])), HTMLInput, spreadsheetRowHeightPx - 5, function (p) {
25
25
  return p.hasWarning && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (p) { return p.theme.colors.orange1200; });
26
26
  }, function (p) {
@@ -34,7 +34,7 @@ export var SpreadsheetAutocomplete = function (props) {
34
34
  var _a, _b, _c;
35
35
  var name = props.name, record = props.record, options = props.options, fieldType = props.fieldType, _d = props.isInputDisabled, isInputDisabled = _d === void 0 ? false : _d, id = props.id;
36
36
  var _e = useSpreadsheetField(name, record, fieldType), value = _e.value, setValue = _e.setValue, validationError = _e.validationError, validationWarning = _e.validationWarning;
37
- var isTransformTooltipOpened = useSpreadsheetContext().isTransformTooltipOpened;
37
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
38
38
  var isHighlighted = isTransformTooltipOpened &&
39
39
  ((_c = (_b = (_a = record._meta) === null || _a === void 0 ? void 0 : _a.transformedRow) === null || _b === void 0 ? void 0 : _b[name]) === null || _c === void 0 ? void 0 : _c.transformed);
40
40
  return (_jsx(SpreadsheetField, __assign({ validationError: validationError, validationWarning: validationWarning, isHighlighted: isHighlighted }, { children: _jsx(Autocomplete, { placement: "bottom", isInputDisabled: isInputDisabled, hasError: !!validationError, hasWarning: !!validationWarning, options: options, value: value, icon: chevronDownIcon, onChange: function (v) { return !isTransformTooltipOpened && setValue(v); }, disabledWhen: isTransformTooltipOpened, id: id }) })));
@@ -29,7 +29,7 @@ import { useMemo } from "react";
29
29
  import styled, { css } from "styled-components";
30
30
  import { SpreadsheetField, useSpreadsheetField } from ".";
31
31
  import { Div } from "../../../../../styled/utils";
32
- import { useSpreadsheetContext } from "../../SpreadsheetContextProvider";
32
+ import { useReviewContext } from "../../../../Review/ReviewContextProvider";
33
33
  import { AVERAGE_CHAR_SIZE, getFieldContentWidth } from "./utils";
34
34
  var parseValue = function (value) {
35
35
  var isFalsyButNotZero = !value && value !== 0;
@@ -39,7 +39,7 @@ export var SpreadsheetInput = function (_a) {
39
39
  var _b, _c, _d, _e, _f, _g;
40
40
  var name = _a.name, record = _a.record, fieldType = _a.fieldType, columnWidth = _a.columnWidth, props = __rest(_a, ["name", "record", "fieldType", "columnWidth"]);
41
41
  var _h = useSpreadsheetField(name, record, fieldType), value = _h.value, setValue = _h.setValue, validationError = _h.validationError, validationWarning = _h.validationWarning;
42
- var isTransformTooltipOpened = useSpreadsheetContext().isTransformTooltipOpened;
42
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
43
43
  var defaultWidthAsNumber = Number.parseInt(columnWidth.replace("px", ""));
44
44
  var _fieldContentWidth = getFieldContentWidth({
45
45
  record: record,
@@ -47,5 +47,5 @@ export var transformRecord = function (_a) {
47
47
  };
48
48
  }
49
49
  var isTransformedRecordsEmpty = Object.keys(transformedRecords).length === 0;
50
- return isTransformedRecordsEmpty ? null : transformedRecords;
50
+ return isTransformedRecordsEmpty ? {} : transformedRecords;
51
51
  };
@@ -8,7 +8,10 @@ export declare const addEmptyRows: (data: Record[], fields: Field[]) => (Record
8
8
  })[];
9
9
  export declare const addMeta: (record: any, index: number, uploadedRow?: any, transformedRow?: TransformedRecord) => Record;
10
10
  export declare const calculatePossibleDateFormats: (fieldsWithDateTransformations: Field[], sample: Record[]) => string[];
11
- export declare const recordListToDataSet: (data: Record[], fields: Field[]) => RecordDataSet;
11
+ export declare const recordListToDataSet: (data: Record[], fields: Field[], withTransformations?: boolean) => {
12
+ isDatasetTransformed: boolean;
13
+ dataSet: RecordDataSet;
14
+ };
12
15
  type transformToRecordsArgs = {
13
16
  templateHeaderMatchings: HeaderMatchings;
14
17
  enumFieldValueMatchings: EnumFieldValueMatchings;
@@ -46,6 +49,7 @@ type GetReviewDataSetArgs = {
46
49
  fields: Field[];
47
50
  };
48
51
  export declare const getReviewDataSet: ({ records, fields }: GetReviewDataSetArgs) => {
52
+ isDatasetTransformed: boolean;
49
53
  initialDataSet: {
50
54
  [x: string]: Record;
51
55
  };
@@ -43,10 +43,10 @@ export var addEmptyRows = function (data, fields) {
43
43
  export var addMeta = function (record, index, uploadedRow, transformedRow) {
44
44
  var _a;
45
45
  if (uploadedRow === void 0) { uploadedRow = null; }
46
- if (transformedRow === void 0) { transformedRow = null; }
46
+ if (transformedRow === void 0) { transformedRow = {}; }
47
47
  var rId = getRowId(index);
48
48
  var meta = (_a = record._meta) !== null && _a !== void 0 ? _a : {};
49
- return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { id: rId, rowIndex: index, uploadedRow: uploadedRow, transformedRow: __assign(__assign({}, meta.transformedRow), transformedRow) }) });
49
+ return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { id: rId, rowIndex: index, uploadedRow: uploadedRow, transformedRow: transformedRow }) });
50
50
  };
51
51
  export var calculatePossibleDateFormats = function (fieldsWithDateTransformations, sample) {
52
52
  var possibleDateFormats = [];
@@ -71,7 +71,8 @@ export var calculatePossibleDateFormats = function (fieldsWithDateTransformation
71
71
  }
72
72
  return Array.from(new Set(possibleDateFormats));
73
73
  };
74
- export var recordListToDataSet = function (data, fields) {
74
+ export var recordListToDataSet = function (data, fields, withTransformations) {
75
+ if (withTransformations === void 0) { withTransformations = true; }
75
76
  var fieldWithTransformations = fields.filter(function (field) { var _a; return ((_a = field === null || field === void 0 ? void 0 : field.transformations) === null || _a === void 0 ? void 0 : _a.length) > 0; });
76
77
  var initialData = data;
77
78
  if (data.length < MINIMUM_ROW_COUNT) {
@@ -86,19 +87,23 @@ export var recordListToDataSet = function (data, fields) {
86
87
  if (fieldsWithDateTransformations.length > 0) {
87
88
  possibleDateFormats.push.apply(possibleDateFormats, calculatePossibleDateFormats(fieldsWithDateTransformations, _.sampleSize(initialData, 100)));
88
89
  }
89
- return initialData.reduce(function (dataSet, record, i) {
90
- var transformedRecord = null;
91
- if (fieldWithTransformations.length > 0) {
90
+ var isDatasetTransformed = false;
91
+ var res = initialData.reduce(function (dataSet, record, i) {
92
+ var transformedRecord = {};
93
+ if (withTransformations && fieldWithTransformations.length > 0) {
92
94
  transformedRecord = transformRecord({
93
95
  record: record,
94
96
  fields: fieldWithTransformations,
95
97
  possibleDateFormats: possibleDateFormats,
96
98
  });
97
99
  }
100
+ if (JSON.stringify(transformedRecord) !== "{}")
101
+ isDatasetTransformed = true;
98
102
  var recordWithMeta = addMeta(record, i, undefined, transformedRecord);
99
103
  dataSet[recordWithMeta._meta.id] = recordWithMeta;
100
104
  return dataSet;
101
105
  }, {});
106
+ return { isDatasetTransformed: isDatasetTransformed, dataSet: res };
102
107
  };
103
108
  var compareFormattedRecord = function (originalRecord, formattedRecord) {
104
109
  var comparisonResult = {};
@@ -177,7 +182,7 @@ export var getPreviewDataSet = function (_a) {
177
182
  });
178
183
  return entry;
179
184
  });
180
- return recordListToDataSet(data, fields);
185
+ return recordListToDataSet(data, fields).dataSet;
181
186
  };
182
187
  return { fields: fields, initialDataSet: getInitialDataSet() };
183
188
  };
@@ -197,7 +202,7 @@ export var getTemplateFields = function (_a) {
197
202
  export var getReviewDataSet = function (_a) {
198
203
  var _b;
199
204
  var records = _a.records, fields = _a.fields;
200
- var baseInitialDataSet = recordListToDataSet(addEmptyRows(records, fields), fields);
205
+ var _c = recordListToDataSet(addEmptyRows(records, fields), fields), isDatasetTransformed = _c.isDatasetTransformed, baseInitialDataSet = _c.dataSet;
201
206
  var highestRowIndex = 0;
202
207
  Object.keys(baseInitialDataSet).forEach(function (key) {
203
208
  var record = baseInitialDataSet[key];
@@ -207,5 +212,5 @@ export var getReviewDataSet = function (_a) {
207
212
  });
208
213
  var emptyRowAtBottom = addMeta({}, highestRowIndex + 1);
209
214
  var initialDataSet = __assign(__assign({}, baseInitialDataSet), (_b = {}, _b[emptyRowAtBottom._meta.id] = emptyRowAtBottom, _b));
210
- return { initialDataSet: initialDataSet };
215
+ return { isDatasetTransformed: isDatasetTransformed, initialDataSet: initialDataSet };
211
216
  };
@@ -1,5 +1,5 @@
1
1
  import { AppResponse, RecordDataSet } from "../../types";
2
- export declare const useSubmitToServer: () => {
2
+ export declare const useSubmitToServer: (setIsTransformTooltipOpened: any) => {
3
3
  appResponse: AppResponse;
4
4
  isSubmitting: boolean;
5
5
  onSubmitToServer: (dataSet: RecordDataSet, afterSubmitCallback: (dataSet: RecordDataSet) => void) => Promise<void>;
@@ -118,7 +118,7 @@ var filterAndMapWithBackendErrors = function (dataSet, errors) {
118
118
  return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { isInvalid: true, backendErrors: errors[rId] }) });
119
119
  }, []);
120
120
  };
121
- export var useSubmitToServer = function () {
121
+ export var useSubmitToServer = function (setIsTransformTooltipOpened) {
122
122
  var _a = useImporterContext(), templateHeaderMatchings = _a.templateHeaderMatchings, templateHeaders = _a.templateHeaders, integrations = _a.integrations, templateSlug = _a.templateSlug, fuseApi = _a.fuseApi, previewMode = _a.importerOptions.previewMode, onSubmit = _a.onSubmit;
123
123
  var _b = useState(false), isSubmitting = _b[0], setIsSubmitting = _b[1];
124
124
  var _c = useState(false), importWasSuccessful = _c[0], setImportWasSuccessful = _c[1];
@@ -157,7 +157,8 @@ export var useSubmitToServer = function () {
157
157
  });
158
158
  invalidRecords_1 = __spreadArray(__spreadArray([], invalidRecords_1, true), (recordsToDisplayFiltered || []), true);
159
159
  }
160
- invalidDataSet = recordListToDataSet(invalidRecords_1, reviewFields_1);
160
+ invalidDataSet = recordListToDataSet(invalidRecords_1, reviewFields_1, false).dataSet;
161
+ setIsTransformTooltipOpened(false);
161
162
  afterSubmitCallback(invalidDataSet);
162
163
  if (!!previewMode) return [3 /*break*/, 5];
163
164
  return [4 /*yield*/, trackImportedRowsCount(fuseApi, templateSlug, validDataSetLength)];
@@ -1,21 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
3
  import { useTranslation } from "react-i18next";
4
- import { useSpreadsheetContext } from "../../../../Importer";
4
+ import { addToast } from "../../../../common/Toast";
5
+ import { useReviewContext, useSpreadsheetContext } from "../../../../Importer";
5
6
  import { useFilteredDataContext } from "../../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
6
7
  import { useValidationContext } from "../../../../Importer/common/Spreadsheet/ValidationContextProvider";
7
- import { addToast } from "../../../../common/Toast";
8
8
  import { useEventManagerContext } from "../../../EventManagerContextProvider";
9
9
  import * as S from "./FilterByErrors.styles";
10
10
  export var FilterByErrors = function () {
11
11
  var _a, _b;
12
12
  var _c = useFilteredDataContext(), spreadsheetFilter = _c.spreadsheetFilter, resetSpreadsheetFilter = _c.resetSpreadsheetFilter, filterRecordsByFieldErrors = _c.filterRecordsByFieldErrors;
13
13
  var _d = useEventManagerContext(), on = _d.on, off = _d.off, EVENTS = _d.EVENTS;
14
- var _e = useSpreadsheetContext(), fields = _e.fields, isTransformTooltipOpened = _e.isTransformTooltipOpened;
14
+ var fields = useSpreadsheetContext().fields;
15
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
15
16
  var columnsWithErrorCounts = useValidationContext().columnsWithErrorCounts;
16
17
  var t = useTranslation("review").t;
17
- var _f = useState([]), errorArray = _f[0], setErrorArray = _f[1];
18
- var _g = useState(false), isMenuOpened = _g[0], setIsMenuOpened = _g[1];
18
+ var _e = useState([]), errorArray = _e[0], setErrorArray = _e[1];
19
+ var _f = useState(false), isMenuOpened = _f[0], setIsMenuOpened = _f[1];
19
20
  useEffect(function () {
20
21
  var listener = function () {
21
22
  var getErrorArray = function () {
@@ -17,7 +17,7 @@ import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-run
17
17
  import { useEffect, useState } from "react";
18
18
  import { useTranslation } from "react-i18next";
19
19
  import styled, { css } from "styled-components";
20
- import { useSpreadsheetContext } from "../../../Importer";
20
+ import { useReviewContext } from "../../../Importer";
21
21
  import { useDataSetContext } from "../../../Importer/common/Spreadsheet/DataSetContextProvider";
22
22
  import { useDuplicateDataContext } from "../../../Importer/common/Spreadsheet/DuplicateDataContextProvider";
23
23
  import { useFilteredDataContext } from "../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
@@ -45,7 +45,7 @@ export var RowFilters = function () {
45
45
  var _a = useFilteredDataContext(), spreadsheetFilter = _a.spreadsheetFilter, filterRecordsByRowType = _a.filterRecordsByRowType;
46
46
  var _b = useDuplicateDataContext(), duplicateRecordIds = _b.duplicateRecordIds, calculateDuplicateRecords = _b.calculateDuplicateRecords;
47
47
  var invalidRowsCountRef = useValidationContext().invalidRowsCountRef;
48
- var isTransformTooltipOpened = useSpreadsheetContext().isTransformTooltipOpened;
48
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
49
49
  var _c = useState(invalidRowsCountRef.current), invalidRowsCount = _c[0], setInvalidRowsCount = _c[1];
50
50
  var _d = useDataSetContext(), dataSetLength = _d.dataSetLength, emptyRecordIds = _d.emptyRecordIds;
51
51
  var _e = useEventManagerContext(), on = _e.on, off = _e.off, EVENTS = _e.EVENTS;
@@ -14,17 +14,17 @@ var __assign = (this && this.__assign) || function () {
14
14
  return __assign.apply(this, arguments);
15
15
  };
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
+ import { useRef, useState } from "react";
18
+ import { useTranslation } from "react-i18next";
17
19
  import styled, { css } from "styled-components";
18
- import { useSpreadsheetContext } from "../../../Importer";
19
- import { SearchIcon } from "./icons";
20
+ import { TooltipProvider } from "../../../common/TooltipProvider";
20
21
  import { useDebounce } from "../../../hooks";
21
- import { useRef, useState } from "react";
22
+ import { useReviewContext } from "../../../Importer";
23
+ import { useFilteredDataContext } from "../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
24
+ import { Div } from "../../../styled";
22
25
  import { colors } from "../../../styled/theme/colorPalette";
23
26
  import { textStyles } from "../../../styled/theme/textStyles";
24
- import { TooltipProvider } from "../../../common/TooltipProvider";
25
- import { useTranslation } from "react-i18next";
26
- import { Div } from "../../../styled";
27
- import { useFilteredDataContext } from "../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
27
+ import { SearchIcon } from "./icons";
28
28
  var Wrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background: ", ";\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n gap: 8px;\n height: 24px;\n overflow: hidden;\n padding: 8px;\n position: relative;\n transition: width 0.25s ease-in-out;\n width: ", ";\n"], ["\n background: ", ";\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n gap: 8px;\n height: 24px;\n overflow: hidden;\n padding: 8px;\n position: relative;\n transition: width 0.25s ease-in-out;\n width: ", ";\n"])), function (_a) {
29
29
  var isOpen = _a.isOpen;
30
30
  return (isOpen ? colors.orange50 : "none");
@@ -66,7 +66,7 @@ var SearchInput = function (_a) {
66
66
  export var SearchRows = function (_a) {
67
67
  var _b = _a.testId, testId = _b === void 0 ? "ta-search-rows" : _b;
68
68
  var _c = useFilteredDataContext(), filteredInputValue = _c.filteredInputValue, setFilteredInputValue = _c.setFilteredInputValue;
69
- var isTransformTooltipOpened = useSpreadsheetContext().isTransformTooltipOpened;
69
+ var isTransformTooltipOpened = useReviewContext().isTransformTooltipOpened;
70
70
  var handleChangeInputValue = function (value) {
71
71
  setFilteredInputValue(value);
72
72
  };
@@ -21,17 +21,22 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { useReviewContext } from "../../../Importer";
24
25
  import { defaultTableActionsHeightPx } from "./common";
26
+ import { CustomActions } from "./CustomActions";
25
27
  import { DeleteSelectedRows } from "./DeleteSelectedRows";
26
- import { SearchRows } from "./SearchRows";
27
28
  import { ExportData } from "./ExportData";
28
- import * as S from "./TableActions.styles";
29
29
  import { FilterByErrors } from "./FilterByErrors/FilterByErrors";
30
30
  import { RowFilters } from "./RowFilters";
31
+ import { SearchRows } from "./SearchRows";
32
+ import * as S from "./TableActions.styles";
31
33
  import { TransformedRecordsCount } from "./TransformedRecordsCount";
32
- import { CustomActions } from "./CustomActions";
33
34
  import ValidationProgress from "./ValidationProgress";
34
35
  export var TableActions = function (_a) {
35
36
  var _b = _a.tableActionsHeight, tableActionsHeight = _b === void 0 ? defaultTableActionsHeightPx : _b, props = __rest(_a, ["tableActionsHeight"]);
36
- return (_jsxs(S.TableActionsContainer, __assign({ height: tableActionsHeight }, props, { children: [_jsxs(S.TableActionsContent, { children: [_jsx(SearchRows, {}), _jsx(RowFilters, {}), _jsx(FilterByErrors, {}), _jsxs(S.ButtonActionsContainer, { children: [_jsx(DeleteSelectedRows, {}), _jsx(ExportData, {}), _jsx(CustomActions, {})] })] }), _jsxs(S.TableActionsInformations, { children: [_jsx(ValidationProgress, {}), _jsx(TransformedRecordsCount, {})] })] })));
37
+ var _c = useReviewContext(), isTransformTooltipOpened = _c.isTransformTooltipOpened, setIsTransformTooltipOpened = _c.setIsTransformTooltipOpened;
38
+ var onCloseTransformsTooltip = function () {
39
+ setIsTransformTooltipOpened(false);
40
+ };
41
+ return (_jsxs(S.TableActionsContainer, __assign({ height: tableActionsHeight }, props, { children: [_jsxs(S.TableActionsContent, { children: [_jsx(SearchRows, {}), _jsx(RowFilters, {}), _jsx(FilterByErrors, {}), _jsxs(S.ButtonActionsContainer, { children: [_jsx(DeleteSelectedRows, {}), _jsx(ExportData, {}), _jsx(CustomActions, {})] })] }), _jsxs(S.TableActionsInformations, { children: [_jsx(ValidationProgress, {}), isTransformTooltipOpened && (_jsx(TransformedRecordsCount, { onClose: onCloseTransformsTooltip }))] })] })));
37
42
  };
@@ -1,2 +1,6 @@
1
1
  export declare const TooltipBackdrop: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../../styled").CSSProps, never>;
2
- export declare const TransformedRecordsCount: () => JSX.Element;
2
+ type TransformedRecordsCountProps = {
3
+ onClose: () => void;
4
+ };
5
+ export declare const TransformedRecordsCount: ({ onClose, }: TransformedRecordsCountProps) => JSX.Element;
6
+ export {};
@@ -14,14 +14,14 @@ 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, useMemo, useRef } from "react";
17
+ import { useEffect, useMemo, useState } from "react";
18
18
  import { useTranslation } from "react-i18next";
19
19
  import styled from "styled-components";
20
+ import { Button } from "../../../common/buttons";
20
21
  import { useSpreadsheetContext } from "../../../Importer";
21
22
  import { useDataSetContext } from "../../../Importer/common/Spreadsheet/DataSetContextProvider";
22
- import { useValidationContext } from "../../../Importer/common/Spreadsheet/ValidationContextProvider";
23
- import { Button } from "../../../common/buttons";
24
- import { Div, colors } from "../../../styled";
23
+ import { useFilteredDataContext } from "../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
24
+ import { colors, Div } from "../../../styled";
25
25
  import { truncateString } from "../../../utils";
26
26
  import { CheckIcon } from "./icons";
27
27
  var formatToLocaleString = function (number) {
@@ -37,55 +37,35 @@ var ExampleCode = styled(Div)(templateObject_4 || (templateObject_4 = __makeTemp
37
37
  var StyledButton = styled(Button)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n align-self: flex-end;\n height: 36px;\n padding: 0px;\n width: 61px;\n"], ["\n align-self: flex-end;\n height: 36px;\n padding: 0px;\n width: 61px;\n"])));
38
38
  export var TooltipBackdrop = styled(Div)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background: rgba(0, 0, 0, 0.37);\n height: 100vh;\n left: 0px;\n margin: 0px;\n position: fixed;\n top: 0px;\n width: 100vw;\n z-index: 99;\n"], ["\n background: rgba(0, 0, 0, 0.37);\n height: 100vh;\n left: 0px;\n margin: 0px;\n position: fixed;\n top: 0px;\n width: 100vw;\n z-index: 99;\n"])));
39
39
  var Tooltip = function (_a) {
40
- var recordsCount = _a.recordsCount, onClose = _a.onClose, transformedRowData = _a.transformedRowData;
40
+ var recordsCount = _a.recordsCount, onClose = _a.onClose;
41
+ var getRecord = useDataSetContext().getRecord;
41
42
  var t = useTranslation("review").t;
43
+ var filteredDataIds = useFilteredDataContext().filteredDataIds;
44
+ var _b = useState(null), exampleTransform = _b[0], setExampleTransform = _b[1];
45
+ useEffect(function () {
46
+ var foundId = filteredDataIds.find(function (id) { var _a, _b; return Object.keys((_b = (_a = getRecord(id)) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.transformedRow).length > 0; });
47
+ if (foundId)
48
+ setExampleTransform(Object.values(getRecord(foundId)._meta.transformedRow)[0]);
49
+ }, [filteredDataIds]);
42
50
  return (_jsxs(_Fragment, { children: [_jsx(TooltipBackdrop, { "data-cy": "transformations-tooltip-backdrop", onClick: onClose }), _jsxs(TooltipContainer, __assign({ "data-cy": "transformations-tooltip" }, { children: [_jsx(Div, { children: _jsx(CheckIcon, {}) }), _jsx(Div, __assign({ subtitle: true }, { children: t("table_actions.transformed_records.auto_corrections_amount", {
43
51
  amount: formatToLocaleString(recordsCount),
44
- }) })), transformedRowData && (_jsxs(Div, { children: [_jsx(Div, __assign({ mb: 5, label1: true, style: { color: colors.gray700 } }, { children: t("table_actions.transformed_records.example") })), _jsxs(ExampleCode, { children: [_jsx(Div, __assign({ body1: true }, { children: truncateString(transformedRowData === null || transformedRowData === void 0 ? void 0 : transformedRowData.transformed, 15) })), _jsx(Div, __assign({ body1: true, style: { textDecoration: "line-through" } }, { children: truncateString(transformedRowData === null || transformedRowData === void 0 ? void 0 : transformedRowData.original, 15) }))] })] })), _jsx(StyledButton, __assign({ buttonTextSmall: true, uppercase: true, onClick: onClose }, { children: "OK" }))] }))] }));
52
+ }) })), _jsxs(Div, { children: [_jsx(Div, __assign({ mb: 5, label1: true, style: { color: colors.gray700 } }, { children: t("table_actions.transformed_records.example") })), exampleTransform && (_jsxs(ExampleCode, { children: [_jsx(Div, __assign({ body1: true }, { children: truncateString(exampleTransform === null || exampleTransform === void 0 ? void 0 : exampleTransform.transformed, 15) })), _jsx(Div, __assign({ body1: true, style: { textDecoration: "line-through" } }, { children: truncateString(exampleTransform === null || exampleTransform === void 0 ? void 0 : exampleTransform.original, 15) }))] }))] }), _jsx(StyledButton, __assign({ buttonTextSmall: true, uppercase: true, onClick: onClose }, { children: "OK" }))] }))] }));
45
53
  };
46
- export var TransformedRecordsCount = function () {
47
- var _a = useSpreadsheetContext(), filteredDataIds = _a.filteredDataIds, isTransformTooltipOpened = _a.isTransformTooltipOpened, setIsTransformTooltipOpened = _a.setIsTransformTooltipOpened;
48
- var spreadsheetInitialized = useValidationContext().spreadsheetInitialized;
54
+ export var TransformedRecordsCount = function (_a) {
55
+ var onClose = _a.onClose;
56
+ var filteredDataIds = useSpreadsheetContext().filteredDataIds;
49
57
  var getRecord = useDataSetContext().getRecord;
50
58
  var t = useTranslation("review").t;
51
- var tooltipWasAlreadyOpened = useRef(false);
52
59
  var transformedRecordsCount = useMemo(function () {
53
60
  var _a;
54
- if (tooltipWasAlreadyOpened.current)
55
- return;
56
61
  var counter = 0;
57
62
  for (var i = 0; i < filteredDataIds.length; i++) {
58
63
  var currentData = getRecord(filteredDataIds[i]);
59
64
  var transformedObj = (_a = currentData === null || currentData === void 0 ? void 0 : currentData._meta) === null || _a === void 0 ? void 0 : _a.transformedRow;
60
- if (transformedObj) {
61
- counter += Object.keys(transformedObj).length;
62
- }
65
+ counter += Object.keys(transformedObj).length;
63
66
  }
64
67
  return counter;
65
68
  }, [filteredDataIds]);
66
- useEffect(function () {
67
- if (tooltipWasAlreadyOpened.current || !spreadsheetInitialized)
68
- return;
69
- if (transformedRecordsCount > 0 && !isTransformTooltipOpened) {
70
- setIsTransformTooltipOpened(true);
71
- tooltipWasAlreadyOpened.current = true;
72
- }
73
- }, [transformedRecordsCount, spreadsheetInitialized]);
74
- var handleCloseTooltip = function () {
75
- setIsTransformTooltipOpened(false);
76
- };
77
- var firstTransformedRow = useMemo(function () {
78
- var _a;
79
- for (var _i = 0, filteredDataIds_1 = filteredDataIds; _i < filteredDataIds_1.length; _i++) {
80
- var id = filteredDataIds_1[_i];
81
- var record = getRecord(id);
82
- var transformedRow = (_a = record === null || record === void 0 ? void 0 : record._meta) === null || _a === void 0 ? void 0 : _a.transformedRow;
83
- if (transformedRow && Object.keys(transformedRow).length > 0) {
84
- return Object.values(transformedRow)[0];
85
- }
86
- }
87
- return null;
88
- }, []);
89
- return (_jsx(_Fragment, { children: isTransformTooltipOpened && transformedRecordsCount ? (_jsxs(RecordsCountContainer, { children: [_jsxs(Counter, __assign({ body1: true }, { children: [_jsxs(Div, __assign({ bold: true, mr: 4, "data-cy": "transformations-counter" }, { children: [formatToLocaleString(transformedRecordsCount), " "] })), t("table_actions.transformed_records.auto_corrections_done")] })), isTransformTooltipOpened && (_jsx(Tooltip, { transformedRowData: firstTransformedRow, recordsCount: transformedRecordsCount, onClose: handleCloseTooltip }))] })) : null }));
69
+ return (_jsxs(RecordsCountContainer, { children: [_jsxs(Counter, __assign({ body1: true }, { children: [_jsxs(Div, __assign({ bold: true, mr: 4, "data-cy": "transformations-counter" }, { children: [formatToLocaleString(transformedRecordsCount), " "] })), t("table_actions.transformed_records.auto_corrections_done")] })), _jsx(Tooltip, { recordsCount: transformedRecordsCount, onClose: onClose })] }));
90
70
  };
91
71
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -60,7 +60,7 @@ var styles = {
60
60
  primary: css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n\n border: solid 4px ", ";\n box-sizing: border-box;\n\n :hover {\n background: ", ";\n /* a3 at the end adds 0.64 opacity */\n box-shadow: 0px 0px 8px ", "a3;\n }\n :active {\n background: ", ";\n border: 4px solid ", ";\n }\n :focus {\n background: ", ";\n /* a3 at the end adds 0.64 opacity */\n box-shadow: 0px 0px 8px ", "a3;\n }\n ", "\n "], ["\n color: ", ";\n background: ", ";\n\n border: solid 4px ", ";\n box-sizing: border-box;\n\n :hover {\n background: ", ";\n /* a3 at the end adds 0.64 opacity */\n box-shadow: 0px 0px 8px ", "a3;\n }\n :active {\n background: ", ";\n border: 4px solid ", ";\n }\n :focus {\n background: ", ";\n /* a3 at the end adds 0.64 opacity */\n box-shadow: 0px 0px 8px ", "a3;\n }\n ", "\n "])), function (props) { return props.theme.colors.white; }, getBgColor, getBgColor, getBgColor, getBgColor, getBgColor, getBorderColor, getBgColor, getBgColor, function (props) {
61
61
  return props.isDisabled && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background: ", " !important;\n opacity: 0.4;\n box-shadow: none !important;\n border: none !important;\n cursor: not-allowed !important;\n "], ["\n background: ", " !important;\n opacity: 0.4;\n box-shadow: none !important;\n border: none !important;\n cursor: not-allowed !important;\n "])), getBgColor);
62
62
  }),
63
- secondary: css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background: ", ";\n box-sizing: border-box;\n border: solid 1px ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n :active {\n border: 1px solid ", ";\n background: ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n }\n :focus {\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.24);\n }\n ", "\n "], ["\n background: ", ";\n box-sizing: border-box;\n border: solid 1px ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n :active {\n border: 1px solid ", ";\n background: ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n }\n :focus {\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.24);\n }\n ", "\n "])), function (props) { return props.theme.colors.white; }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.black; }, getSvgFillColorForNormalState, getSvgStrokeColorForNormalState, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.white; }, getSvgFillColorForActiveState, getSvgStrokeColorForActiveState, function (props) {
63
+ secondary: css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background: ", ";\n box-sizing: border-box;\n border: 2px solid ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n :active {\n border: 2px solid ", ";\n background: ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n }\n :focus {\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.24);\n }\n ", "\n "], ["\n background: ", ";\n box-sizing: border-box;\n border: 2px solid ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n :active {\n border: 2px solid ", ";\n background: ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n }\n :focus {\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.24);\n }\n ", "\n "])), function (props) { return props.theme.colors.white; }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.black; }, getSvgFillColorForNormalState, getSvgStrokeColorForNormalState, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.white; }, getSvgFillColorForActiveState, getSvgStrokeColorForActiveState, function (props) {
64
64
  return props.isDisabled && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n border: 2px solid ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n "], ["\n border: 2px solid ", ";\n color: ", ";\n & > svg {\n & > path {\n fill: ", ";\n stroke: ", ";\n }\n }\n "])), function (props) { return props.theme.colors.gray390; }, function (props) { return props.theme.colors.gray390; }, getSvgFillColorForDisabledState, getSvgStrokeColorForDisabledState);
65
65
  }),
66
66
  tertiary: css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n background: transparent;\n border: solid 1px transparent;\n color: ", ";\n :hover {\n background: ", ";\n }\n :active {\n background: ", ";\n color: ", ";\n }\n ", "\n "], ["\n background: transparent;\n border: solid 1px transparent;\n color: ", ";\n :hover {\n background: ", ";\n }\n :active {\n background: ", ";\n color: ", ";\n }\n ", "\n "])), function (props) { return props.theme.colors.text; }, function (props) { return props.theme.colors.white50; }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.white; }, function (props) {
@@ -75,14 +75,14 @@ var styles = {
75
75
  : withBrandingCSS;
76
76
  }, function (props) { return props.theme.colors.black; }, function (props) { return props.theme.colors.white; }),
77
77
  };
78
- var commonButtonStyle = css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n padding: 12px 24px;\n user-select: none;\n width: fit-content;\n\n ", "\n\n border: solid 1px black;\n border-radius: 4px;\n\n font-family: DM Sans;\n\n :focus {\n outline: none;\n }\n :hover {\n cursor: pointer;\n }\n\n ", "\n ", ";\n\n ", ";\n"], ["\n padding: 12px 24px;\n user-select: none;\n width: fit-content;\n\n ", "\n\n border: solid 1px black;\n border-radius: 4px;\n\n font-family: DM Sans;\n\n :focus {\n outline: none;\n }\n :hover {\n cursor: pointer;\n }\n\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
79
- return props.isSmall && css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n padding: 6px 20px;\n "], ["\n padding: 6px 20px;\n "])));
80
- }, function (props) {
81
- return props.isDisabled && css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n pointer-events: none;\n "], ["\n pointer-events: none;\n "])));
78
+ var commonButtonStyle = css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n padding: 12px 24px;\n user-select: none;\n width: fit-content;\n\n border: solid 1px black;\n border-radius: 4px;\n\n font-family: DM Sans;\n\n :focus {\n outline: none;\n }\n :hover {\n cursor: pointer;\n }\n\n ", "\n ", ";\n\n ", ";\n\n ", "\n"], ["\n padding: 12px 24px;\n user-select: none;\n width: fit-content;\n\n border: solid 1px black;\n border-radius: 4px;\n\n font-family: DM Sans;\n\n :focus {\n outline: none;\n }\n :hover {\n cursor: pointer;\n }\n\n ", "\n ", ";\n\n ", ";\n\n ", "\n"])), function (props) {
79
+ return props.isDisabled && css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n pointer-events: none;\n "], ["\n pointer-events: none;\n "])));
82
80
  }, function (props) {
83
81
  var c = props.theme.css;
84
82
  return [c.centered, c.buttonText];
85
- }, function (props) { return styles[props.variant || "primary"]; });
83
+ }, function (props) { return styles[props.variant || "primary"]; }, function (props) {
84
+ return props.isSmall && css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n padding: 6px 20px;\n font-size: 14px;\n "], ["\n padding: 6px 20px;\n font-size: 14px;\n "])));
85
+ });
86
86
  export var ButtonWrapper = styled(Div)(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), commonButtonStyle);
87
87
  export var ButtonElementWrapper = styled(HTMLButton)(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), commonButtonStyle);
88
88
  export var ContentWrapper = styled(Div)(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: 12px;\n justify-content: center;\n"], ["\n display: flex;\n align-items: center;\n gap: 12px;\n justify-content: center;\n"])));