fuse-importer 0.1.7-testing → 0.1.8-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 (40) hide show
  1. package/lib/esm/Importer/ImporterWithContext.js +1 -1
  2. package/lib/esm/Importer/Review/AppResponseModal.js +2 -2
  3. package/lib/esm/Importer/Stepper/index.js +26 -13
  4. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useDataSetManipulation.d.ts +1 -0
  5. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useDataSetManipulation.js +29 -0
  6. package/lib/esm/Importer/common/Spreadsheet/ValidationContextProvider/index.js +17 -8
  7. package/lib/esm/Importer/common/Spreadsheet/components/FindAndReplace/index.d.ts +6 -0
  8. package/lib/esm/Importer/common/Spreadsheet/components/FindAndReplace/index.js +44 -0
  9. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowCheckboxes.js +1 -1
  10. package/lib/esm/Importer/common/Spreadsheet/transformation/index.d.ts +1 -2
  11. package/lib/esm/Importer/common/Spreadsheet/transformation/index.js +4 -8
  12. package/lib/esm/Importer/common/Spreadsheet/transformation/transformators/dateTimeAutoformatUtils.d.ts +5 -0
  13. package/lib/esm/Importer/common/Spreadsheet/transformation/transformators/dateTimeAutoformatUtils.js +231 -0
  14. package/lib/esm/Importer/common/Spreadsheet/transformation/{transformators.d.ts → transformators/index.d.ts} +6 -6
  15. package/lib/esm/Importer/common/Spreadsheet/transformation/{transformators.js → transformators/index.js} +24 -45
  16. package/lib/esm/Importer/common/theme.d.ts +1 -0
  17. package/lib/esm/Importer/data/index.d.ts +0 -1
  18. package/lib/esm/Importer/data/index.js +0 -37
  19. package/lib/esm/common/Table/TableActions/RowFilters.js +1 -1
  20. package/lib/esm/common/Table/TableActions/SearchRows.js +22 -14
  21. package/lib/esm/common/Table/TableActions/TableActions.styles.js +1 -1
  22. package/lib/esm/common/Table/TableActions/icons.d.ts +1 -0
  23. package/lib/esm/common/Table/TableActions/icons.js +1 -0
  24. package/lib/esm/common/Table/TableActions/useFindAndReplace.d.ts +5 -0
  25. package/lib/esm/common/Table/TableActions/useFindAndReplace.js +45 -0
  26. package/lib/esm/common/Toast.d.ts +34 -3
  27. package/lib/esm/common/Toast.js +31 -15
  28. package/lib/esm/common/datePatterns.d.ts +0 -1
  29. package/lib/esm/common/datePatterns.js +0 -10
  30. package/lib/esm/common/icons/index.d.ts +3 -0
  31. package/lib/esm/common/icons/index.js +5 -2
  32. package/lib/esm/common/inputs/Checkbox.d.ts +2 -1
  33. package/lib/esm/common/inputs/Checkbox.js +9 -7
  34. package/lib/esm/locales/en.d.ts +13 -0
  35. package/lib/esm/locales/en.js +13 -0
  36. package/lib/esm/styled/theme/colorPalette.d.ts +2 -0
  37. package/lib/esm/styled/theme/colorPalette.js +1 -0
  38. package/lib/esm/styled/theme/index.d.ts +1 -0
  39. package/lib/main.js +6 -6
  40. package/package.json +1 -1
@@ -9,11 +9,15 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { DateTime } from "luxon";
13
- var isTransformationNeeded = function (fieldValue, transformedValue) { return ({
14
- transformationWasNeeded: fieldValue !== transformedValue,
12
+ import { parseDateFromUserInput, parseDateTimeFromUserInput, parseTimeFromDateTimeorTimeInput, } from "./dateTimeAutoformatUtils";
13
+ export var isTransformationNeeded = function (fieldValue, transformedValue) { return ({
14
+ transformationWasNeeded: !!transformedValue
15
+ ? fieldValue !== transformedValue
16
+ : false,
15
17
  original: fieldValue,
16
- transformed: fieldValue === transformedValue ? null : transformedValue,
18
+ transformed: fieldValue === transformedValue || transformedValue === undefined
19
+ ? null
20
+ : transformedValue,
17
21
  }); };
18
22
  var isNotANumber = function (fieldValue) {
19
23
  return fieldValue === null || fieldValue === undefined || isNaN(fieldValue);
@@ -79,49 +83,24 @@ var stringFieldTransformations = {
79
83
  return isTransformationNeeded(fieldValue, transformedValue);
80
84
  },
81
85
  };
82
- var parseDate = function (date, possibleFormats) {
83
- if (!date)
84
- return null;
85
- for (var i = 0; i < possibleFormats.length; i++) {
86
- var format = possibleFormats[i];
87
- try {
88
- var currentDate = DateTime.fromFormat(date, format, { zone: "utc" });
89
- if (currentDate.isValid) {
90
- return currentDate;
91
- }
92
- }
93
- catch (error) {
94
- return null;
95
- }
96
- }
97
- return null;
98
- };
99
86
  export var datesDateTimesAndTimesTransformations = {
100
- autoformat: function (fieldValue, _, fieldOptions, possibleDateFormats) {
101
- var cleanFieldValue = fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.replace(/"/g, "");
102
- var normalizedFieldValue = cleanFieldValue === null || cleanFieldValue === void 0 ? void 0 : cleanFieldValue.replace(/-/g, "/");
103
- var isUnixTimestamp = /^\d+$/.test(normalizedFieldValue);
104
- var luxonDate = isUnixTimestamp
105
- ? DateTime.fromSeconds(Number(normalizedFieldValue))
106
- : parseDate(normalizedFieldValue, possibleDateFormats);
107
- var pattern = fieldOptions === null || fieldOptions === void 0 ? void 0 : fieldOptions.pattern;
108
- var defaultObj = {
109
- transformationWasNeeded: false,
110
- original: fieldValue,
111
- transformed: null,
112
- };
113
- if (!fieldValue || !pattern || !luxonDate || isNaN(luxonDate.toSeconds())) {
114
- return defaultObj;
115
- }
116
- if (!luxonDate.isValid) {
117
- return defaultObj;
118
- }
119
- var transformedValue = luxonDate.toFormat(pattern);
120
- return {
121
- transformationWasNeeded: fieldValue !== transformedValue,
122
- original: fieldValue,
123
- transformed: transformedValue,
87
+ autoformat: function (fieldValue, _, fieldOptions) {
88
+ if (fieldValue === null || fieldValue === undefined)
89
+ return {
90
+ transformationWasNeeded: false,
91
+ original: fieldValue,
92
+ transformed: null,
93
+ };
94
+ var type = fieldOptions.type, pattern = fieldOptions.pattern;
95
+ var parseFunctions = {
96
+ date: parseDateFromUserInput,
97
+ datetime: parseDateTimeFromUserInput,
98
+ time: parseTimeFromDateTimeorTimeInput,
124
99
  };
100
+ var parseFn = parseFunctions[type];
101
+ var dateValue = parseFn(fieldValue);
102
+ var transformedValue = dateValue === null || dateValue === void 0 ? void 0 : dateValue.toFormat(pattern);
103
+ return isTransformationNeeded(fieldValue, transformedValue);
125
104
  },
126
105
  };
127
106
  var urlTransformations = {
@@ -42,6 +42,7 @@ declare const getCustomTheme: (importerStylePreferences: ImporterStylePreference
42
42
  red50: string;
43
43
  red100: string;
44
44
  red200: string;
45
+ red250: string;
45
46
  red300: string;
46
47
  red400: string;
47
48
  red500: string;
@@ -7,7 +7,6 @@ export declare const addEmptyRows: (data: Record[], fields: Field[]) => (Record
7
7
  };
8
8
  })[];
9
9
  export declare const addMeta: (record: any, index: number, uploadedRow?: any, transformedRow?: TransformedRecord) => Record;
10
- export declare const calculatePossibleDateFormats: (fieldsWithDateTransformations: Field[], sample: Record[]) => string[];
11
10
  export declare const recordListToDataSet: (data: Record[], fields: Field[], withTransformations?: boolean) => {
12
11
  isDatasetTransformed: boolean;
13
12
  dataSet: RecordDataSet;
@@ -18,13 +18,9 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
18
  }
19
19
  return to.concat(ar || Array.prototype.slice.call(from));
20
20
  };
21
- import { datesDateTimesAndTimesTransformations } from "../../Importer/common/Spreadsheet/transformation/transformators";
22
21
  import { transformRecord } from "../../Importer/common/Spreadsheet/transformation";
23
22
  import { FieldTypes, } from "../../types";
24
23
  import { parseValue } from "../common/Spreadsheet/common";
25
- import { DateTime } from "luxon";
26
- import { allowedPatternValues } from "../../common/datePatterns";
27
- import _ from "lodash";
28
24
  var MINIMUM_ROW_COUNT = 20;
29
25
  var getRowId = function (index) {
30
26
  return index.toString();
@@ -48,29 +44,6 @@ export var addMeta = function (record, index, uploadedRow, transformedRow) {
48
44
  var meta = (_a = record._meta) !== null && _a !== void 0 ? _a : {};
49
45
  return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { id: rId, rowIndex: index, uploadedRow: uploadedRow, transformedRow: transformedRow }) });
50
46
  };
51
- export var calculatePossibleDateFormats = function (fieldsWithDateTransformations, sample) {
52
- var possibleDateFormats = [];
53
- for (var _i = 0, sample_1 = sample; _i < sample_1.length; _i++) {
54
- var record = sample_1[_i];
55
- for (var _a = 0, fieldsWithDateTransformations_1 = fieldsWithDateTransformations; _a < fieldsWithDateTransformations_1.length; _a++) {
56
- var field = fieldsWithDateTransformations_1[_a];
57
- var value = record[field.name];
58
- if (!value)
59
- continue;
60
- for (var i = 0; i < allowedPatternValues.length; i++) {
61
- var format = allowedPatternValues[i];
62
- try {
63
- var currentDate = DateTime.fromFormat(value, format);
64
- if (currentDate.isValid) {
65
- possibleDateFormats.push(format);
66
- }
67
- }
68
- catch (e) { }
69
- }
70
- }
71
- }
72
- return Array.from(new Set(possibleDateFormats));
73
- };
74
47
  export var recordListToDataSet = function (data, fields, withTransformations) {
75
48
  if (withTransformations === void 0) { withTransformations = true; }
76
49
  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; });
@@ -78,15 +51,6 @@ export var recordListToDataSet = function (data, fields, withTransformations) {
78
51
  if (data.length < MINIMUM_ROW_COUNT) {
79
52
  initialData = addEmptyRows(data, fields);
80
53
  }
81
- var fieldsWithDateTransformations = fieldWithTransformations.filter(function (field) {
82
- return field.transformations.some(function (t) {
83
- return Object.keys(datesDateTimesAndTimesTransformations).includes(t.transformation_type);
84
- });
85
- });
86
- var possibleDateFormats = [];
87
- if (fieldsWithDateTransformations.length > 0) {
88
- possibleDateFormats.push.apply(possibleDateFormats, calculatePossibleDateFormats(fieldsWithDateTransformations, _.sampleSize(initialData, 100)));
89
- }
90
54
  var isDatasetTransformed = false;
91
55
  var res = initialData.reduce(function (dataSet, record, i) {
92
56
  var transformedRecord = {};
@@ -94,7 +58,6 @@ export var recordListToDataSet = function (data, fields, withTransformations) {
94
58
  transformedRecord = transformRecord({
95
59
  record: record,
96
60
  fields: fieldWithTransformations,
97
- possibleDateFormats: possibleDateFormats,
98
61
  });
99
62
  }
100
63
  if (JSON.stringify(transformedRecord) !== "{}")
@@ -39,7 +39,7 @@ var Filter = function (_a) {
39
39
  var labelToId = function (label) {
40
40
  return label.toLowerCase().replace(/\s/g, "_") + "_filter";
41
41
  };
42
- return (_jsxs(Div, __assign({ disabledWhen: isDisabled, dflex: true, clickable: true, onClick: function () { return !isDisabled && onClick(); }, "data-test-id": labelToId(label) }, { children: [_jsxs(FilterContainer, __assign({ isSelected: isSelected }, { children: [label, count >= 0 && _jsxs(_Fragment, { children: ["\u00A0(", count.toLocaleString(), ")"] })] })), isSelected && filteredInputValue !== "" && (_jsx(FilteredDataCount, { children: _jsx(Div, __assign({ minw: 14, centered: true }, { children: filteredDataIds.length })) }))] })));
42
+ return (_jsx(Div, __assign({ disabledWhen: isDisabled, dflex: true, clickable: true, onClick: function () { return !isDisabled && onClick(); }, "data-test-id": labelToId(label) }, { children: _jsxs(FilterContainer, __assign({ isSelected: isSelected }, { children: [label, count >= 0 && _jsxs(_Fragment, { children: ["\u00A0(", count.toLocaleString(), ")"] })] })) })));
43
43
  };
44
44
  export var RowFilters = function () {
45
45
  var _a = useFilteredDataContext(), spreadsheetFilter = _a.spreadsheetFilter, filterRecordsByRowType = _a.filterRecordsByRowType;
@@ -13,18 +13,19 @@ 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 { useRef, useState } from "react";
18
- import { useTranslation } from "react-i18next";
19
18
  import styled, { css } from "styled-components";
20
- import { TooltipProvider } from "../../../common/TooltipProvider";
21
19
  import { useDebounce } from "../../../hooks";
22
20
  import { useReviewContext } from "../../../Importer";
23
- import { useFilteredDataContext } from "../../../Importer/common/Spreadsheet/FilteredDataContextProvider";
24
- import { Div } from "../../../styled";
25
21
  import { colors } from "../../../styled/theme/colorPalette";
26
22
  import { textStyles } from "../../../styled/theme/textStyles";
27
- import { SearchIcon } from "./icons";
23
+ import { SearchIcon, ReplaceIcon } from "./icons";
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";
28
+ import { FindAndReplaceModal } from "../../../Importer/common/Spreadsheet/components/FindAndReplace";
28
29
  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
30
  var isOpen = _a.isOpen;
30
31
  return (isOpen ? colors.orange50 : "none");
@@ -33,22 +34,27 @@ var Wrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplate
33
34
  return (isOpen ? "332px" : "24px");
34
35
  });
35
36
  var IconWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: 24px;\n width: 24px;\n"], ["\n height: 24px;\n width: 24px;\n"])));
36
- var Input = styled.input(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n width: 100%;\n\n background-color: none;\n background: none;\n border: none;\n box-shadow: none;\n color: ", ";\n height: 20px;\n line-height: 20px;\n outline: none;\n padding: 1px 2px;\n\n ", ";\n"], ["\n ", ";\n width: 100%;\n\n background-color: none;\n background: none;\n border: none;\n box-shadow: none;\n color: ", ";\n height: 20px;\n line-height: 20px;\n outline: none;\n padding: 1px 2px;\n\n ", ";\n"])), textStyles.body3, colors.gray700, function (_a) {
37
+ var ResultsText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-size: 14px;\n line-height: 20px;\n color: ", ";\n display: block;\n text-wrap: nowrap;\n text-align: right;\n border-right: solid 1px ", ";\n margin-right: 8px;\n padding-right: 8px;\n"], ["\n font-size: 14px;\n line-height: 20px;\n color: ", ";\n display: block;\n text-wrap: nowrap;\n text-align: right;\n border-right: solid 1px ", ";\n margin-right: 8px;\n padding-right: 8px;\n"])), colors.gray700, colors.gray300);
38
+ var ActionsWrapper = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n align-items: flex-center;\n"], ["\n display: flex;\n align-items: flex-center;\n"])));
39
+ var Input = styled.input(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", ";\n width: 100%;\n\n background-color: none;\n background: none;\n border: none;\n box-shadow: none;\n color: ", ";\n height: 20px;\n line-height: 20px;\n outline: none;\n padding: 1px 2px;\n\n ", ";\n"], ["\n ", ";\n width: 100%;\n\n background-color: none;\n background: none;\n border: none;\n box-shadow: none;\n color: ", ";\n height: 20px;\n line-height: 20px;\n outline: none;\n padding: 1px 2px;\n\n ", ";\n"])), textStyles.body3, colors.gray700, function (_a) {
37
40
  var isOpen = _a.isOpen;
38
- return !isOpen && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: -9999px;\n "], ["\n position: absolute;\n top: -9999px;\n "])));
41
+ return !isOpen && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: absolute;\n top: -9999px;\n "], ["\n position: absolute;\n top: -9999px;\n "])));
39
42
  });
40
43
  var SearchInput = function (_a) {
41
44
  var testId = _a.testId, value = _a.value, onChange = _a.onChange, isDisabled = _a.isDisabled;
42
45
  var _b = useDebounce(value, onChange, 300), _value = _b._value, set_Value = _b.set_Value;
43
46
  var inputRef = useRef(null);
44
- var _c = useState(false), isOpen = _c[0], setIsOpen = _c[1];
47
+ var filteredDataIds = useFilteredDataContext().filteredDataIds;
48
+ var _c = useState(false), findAndReplaceModalOpen = _c[0], setFindAndReplaceModalOpen = _c[1];
49
+ var _d = useState(false), isOpen = _d[0], setIsOpen = _d[1];
50
+ var actionsRef = useRef();
45
51
  var t = useTranslation("review").t;
46
52
  var handleInputChange = function (_a) {
47
53
  var target = _a.target;
48
54
  set_Value(target.value);
49
55
  };
50
- var handleInputOnBlur = function () {
51
- if (!_value) {
56
+ var handleInputOnBlur = function (e) {
57
+ if (!_value && e.relatedTarget !== actionsRef.current) {
52
58
  setIsOpen(false);
53
59
  }
54
60
  };
@@ -61,7 +67,9 @@ var SearchInput = function (_a) {
61
67
  }
62
68
  }
63
69
  };
64
- return (_jsx(TooltipProvider, __assign({ tooltip: !isOpen && !isDisabled ? t("table_actions.search_rows.tooltip") : "", placement: "right", flip: false, centered: true, w: "auto", "data-testid": testId }, { children: _jsxs(Wrapper, __assign({ isOpen: isOpen, onClick: function () { return !isDisabled && handleWrapperClick(); }, disabledWhen: isDisabled }, { children: [_jsx(IconWrapper, { children: _jsx(SearchIcon, {}) }), _jsx(Input, { isOpen: isOpen, ref: inputRef, value: _value, onChange: handleInputChange, onBlur: handleInputOnBlur, type: "text", placeholder: t("table_actions.search_rows.placeholder") })] })) })));
70
+ return (_jsxs(TooltipProvider, __assign({ tooltip: !isOpen && !isDisabled ? t("table_actions.search_rows.tooltip") : "", placement: "right", flip: false, centered: true, w: "auto", "data-testid": testId }, { children: [_jsxs(Wrapper, __assign({ isOpen: isOpen, onClick: function () { return !isDisabled && handleWrapperClick(); }, disabledWhen: isDisabled }, { children: [_jsx(IconWrapper, { children: _jsx(SearchIcon, {}) }), _jsx(Input, { isOpen: isOpen, ref: inputRef, value: _value, onChange: handleInputChange, onBlur: handleInputOnBlur, type: "text", placeholder: t("table_actions.search_rows.placeholder") }), _jsxs(ActionsWrapper, __assign({ "data-cy": "open-find-replace", ref: actionsRef, onClick: function () { return setFindAndReplaceModalOpen(true); }, tabIndex: 0 }, { children: [_jsx(ResultsText, { children: t("table_actions.search_rows.number_of_results", {
71
+ length: value ? filteredDataIds.length : 0,
72
+ }) }), _jsx(IconWrapper, { children: _jsx(ReplaceIcon, {}) })] }))] })), findAndReplaceModalOpen && (_jsx(FindAndReplaceModal, { initialText: value, onClose: function () { return setFindAndReplaceModalOpen(false); } }))] })));
65
73
  };
66
74
  export var SearchRows = function (_a) {
67
75
  var _b = _a.testId, testId = _b === void 0 ? "ta-search-rows" : _b;
@@ -70,6 +78,6 @@ export var SearchRows = function (_a) {
70
78
  var handleChangeInputValue = function (value) {
71
79
  setFilteredInputValue(value);
72
80
  };
73
- return (_jsx(SearchInput, { testId: testId, value: filteredInputValue, onChange: handleChangeInputValue, isDisabled: isTransformTooltipOpened }));
81
+ return (_jsx(_Fragment, { children: _jsx(SearchInput, { testId: testId, value: filteredInputValue, onChange: handleChangeInputValue, isDisabled: isTransformTooltipOpened }) }));
74
82
  };
75
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
83
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -4,7 +4,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
4
4
  };
5
5
  import styled from "styled-components";
6
6
  import { Div } from "../../../styled/utils";
7
- export var TableActionsContainer = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border-top: 1px solid ", ";\n display: flex;\n justify-content: space-between;\n padding: 8px 32px;\n width: 100%;\n\n * {\n box-sizing: content-box;\n }\n"], ["\n align-items: center;\n background: ", ";\n border-top: 1px solid ", ";\n display: flex;\n justify-content: space-between;\n padding: 8px 32px;\n width: 100%;\n\n * {\n box-sizing: content-box;\n }\n"])), function (_a) {
7
+ export var TableActionsContainer = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border-top: 1px solid ", ";\n display: flex;\n justify-content: space-between;\n padding: 8px 32px;\n width: 100%;\n"], ["\n align-items: center;\n background: ", ";\n border-top: 1px solid ", ";\n display: flex;\n justify-content: space-between;\n padding: 8px 32px;\n width: 100%;\n"])), function (_a) {
8
8
  var theme = _a.theme;
9
9
  return theme.colors.white;
10
10
  }, function (_a) {
@@ -4,3 +4,4 @@ export declare const SearchIcon: () => JSX.Element;
4
4
  export declare const DownloadIcon: () => JSX.Element;
5
5
  export declare const CheckIcon: () => JSX.Element;
6
6
  export declare const ActionPlus: () => JSX.Element;
7
+ export declare const ReplaceIcon: () => JSX.Element;
@@ -16,3 +16,4 @@ export var SearchIcon = function () { return (_jsxs("svg", __assign({ width: "24
16
16
  export var DownloadIcon = function () { return (_jsxs("svg", __assign({ width: "36", height: "36", viewBox: "0 0 36 36", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M10.0834 18C9.66675 16.75 9.66675 15.5 9.66675 14.6303C9.66675 11.7319 12.2621 8.83337 15.4637 8.83337C17.6094 8.83337 19.4828 9.99914 20.4852 11.7319H21.2607C23.6619 11.7319 25.9167 13.4167 25.9167 15.5C25.9167 16.3334 25.9167 17.1667 25.5001 18", stroke: "#262626", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M14.1807 23.2764L17.5834 26.5416L20.9862 23.2764", stroke: "#262626", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M17.5833 25.6827L17.5833 16.4375", stroke: "#262626", strokeWidth: "2", strokeLinecap: "round" })] }))); };
17
17
  export var CheckIcon = function () { return (_jsxs("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", width: "53", height: "53", viewBox: "0 0 53 53", fill: "none" }, { children: [_jsx("rect", { width: "53", height: "53", fill: "white" }), _jsx("g", __assign({ style: { mixBlendMode: "multiply" } }, { children: _jsx("path", { d: "M40.6023 5.38665C41.3381 4.56281 42.6024 4.49142 43.4263 5.22719L51.5083 12.4453C52.3321 13.181 52.4035 14.4454 51.6677 15.2692L23.539 46.7647C22.8032 47.5885 21.5389 47.6599 20.7151 46.9242L12.6331 39.7061C11.8092 38.9703 11.7378 37.706 12.4736 36.8822L40.6023 5.38665Z", fill: "url(#paint0_linear_643_341)" }) })), _jsx("g", __assign({ style: { mixBlendMode: "darken" } }, { children: _jsx("rect", { x: "32.0707", y: "37.1587", width: "14.836", height: "29.7113", rx: "2", transform: "rotate(131.582 32.0707 37.1587)", fill: "url(#paint1_linear_643_341)" }) })), _jsxs("defs", { children: [_jsxs("linearGradient", __assign({ id: "paint0_linear_643_341", x1: "15.4625", y1: "39.0861", x2: "31.139", y2: "48.4231", gradientUnits: "userSpaceOnUse" }, { children: [_jsx("stop", { stopColor: "#D0A617" }), _jsx("stop", { offset: "1", stopColor: "#FEE18F" })] })), _jsxs("linearGradient", __assign({ id: "paint1_linear_643_341", x1: "39.4887", y1: "37.1587", x2: "29.9147", y2: "74.1394", gradientUnits: "userSpaceOnUse" }, { children: [_jsx("stop", { stopColor: "#6BEEFF" }), _jsx("stop", { offset: "1", stopColor: "#08CABE" })] }))] })] }))); };
18
18
  export var ActionPlus = function () { return (_jsx("svg", __assign({ width: "16", height: "17", viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsxs("g", __assign({ id: "Actions Plus" }, { children: [_jsx("path", { id: "Vector 4", d: "M8 2.91602V14.916", stroke: "#909090", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { id: "Vector 5", d: "M2 8.91602L14 8.91602", stroke: "#909090", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] })) }))); };
19
+ export var ReplaceIcon = function () { return (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M19.5 15.6666V6.33334C19.5 5.04467 18.4553 4 17.1666 4H10.75M19.5 15.6666L16 12.1667M19.5 15.6666L23 12.1667M5.5 8.66665V18C5.5 19.2887 6.54469 20.3333 7.83332 20.3333H14.25M5.5 8.66665L9.00001 12.1667M5.5 8.66665L2 12.1667", stroke: "#262626", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))); };
@@ -0,0 +1,5 @@
1
+ import { Record } from "../../../types";
2
+ declare const useFindAndReplace: () => {
3
+ replaceInRecord: (record: Record, searchText: string, replaceText: string, matchCase: boolean, useRegex: boolean) => boolean;
4
+ };
5
+ export default useFindAndReplace;
@@ -0,0 +1,45 @@
1
+ import { useSpreadsheetContext } from "../../../Importer";
2
+ var useFindAndReplace = function () {
3
+ var fields = useSpreadsheetContext().fields;
4
+ var replaceTextWithRegex = function (value, searchText, replaceText, matchCase) {
5
+ var regex = new RegExp(searchText, matchCase ? "g" : "ig");
6
+ return value.replace(regex, replaceText);
7
+ };
8
+ var replaceCaseInsensitive = function (str, searchText, rby) {
9
+ var pos = str.toLowerCase().indexOf(searchText.toLowerCase());
10
+ return pos == -1
11
+ ? str
12
+ : str.substring(0, pos) + rby + str.substring(pos + searchText.length);
13
+ };
14
+ var replaceTextWithoutRegex = function (value, searchText, replaceText, matchCase) {
15
+ if (matchCase) {
16
+ return value.replace(searchText, replaceText);
17
+ }
18
+ else {
19
+ return replaceCaseInsensitive(value, searchText, replaceText);
20
+ }
21
+ };
22
+ var replaceInRecord = function (record, searchText, replaceText, matchCase, useRegex) {
23
+ var textFound = false;
24
+ fields.forEach(function (f) {
25
+ if (!record[f.name])
26
+ return;
27
+ var newValue;
28
+ if (useRegex) {
29
+ newValue = replaceTextWithRegex(record[f.name].toString(), searchText, replaceText, matchCase);
30
+ }
31
+ else {
32
+ newValue = replaceTextWithoutRegex(record[f.name].toString(), searchText, replaceText, matchCase);
33
+ }
34
+ if (record[f.name] !== newValue) {
35
+ record[f.name] = newValue;
36
+ textFound = true;
37
+ }
38
+ });
39
+ return textFound;
40
+ };
41
+ return {
42
+ replaceInRecord: replaceInRecord,
43
+ };
44
+ };
45
+ export default useFindAndReplace;
@@ -1,4 +1,35 @@
1
- import { ToastOptions, ToastType } from "react-hot-toast";
2
- export declare const addToast: (msg: JSX.Element | string, type?: ToastType, toastOptions?: ToastOptions) => void;
3
- declare const Toast: () => JSX.Element;
1
+ import { ToastOptions } from "react-hot-toast";
2
+ type ToastProps = {
3
+ zIndex?: number;
4
+ };
5
+ type ToastTypes = keyof typeof toastTypeStyles;
6
+ export declare const addToast: (msg: JSX.Element | string, type?: ToastTypes, toastOptions?: ToastOptions) => void;
7
+ declare const toastTypeStyles: {
8
+ error: {
9
+ color: string;
10
+ backgroundColor: string;
11
+ icon: JSX.Element;
12
+ };
13
+ warning: {
14
+ color: string;
15
+ backgroundColor: string;
16
+ icon: JSX.Element;
17
+ };
18
+ success: {
19
+ color: string;
20
+ backgroundColor: string;
21
+ icon: JSX.Element;
22
+ };
23
+ information: {
24
+ color: string;
25
+ backgroundColor: string;
26
+ icon: JSX.Element;
27
+ };
28
+ notification: {
29
+ color: string;
30
+ backgroundColor: string;
31
+ icon: JSX.Element;
32
+ };
33
+ };
34
+ declare const Toast: ({ zIndex }: ToastProps) => JSX.Element;
4
35
  export { Toast };
@@ -16,19 +16,22 @@ var __assign = (this && this.__assign) || function () {
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  import toast, { ToastBar, Toaster, } from "react-hot-toast";
18
18
  import styled from "styled-components";
19
- import { defaultCheckIcon, greenCheckIcon, redXIcon } from "./icons";
20
19
  import { colors } from "../styled/theme/colorPalette";
21
20
  import { Div } from "../styled/utils";
21
+ import { greenCheckIcon, infoIcon, notificationCheckIcon, redXIcon, warningIcon, } from "./icons";
22
22
  var defaultDuration = 5000;
23
23
  var defaultPosition = "bottom-right";
24
24
  var toastBorderRadius = 4;
25
25
  var toastMaxWidth = "85%";
26
26
  export var addToast = function (msg, type, toastOptions) {
27
- if (type === void 0) { type = "blank"; }
27
+ if (type === void 0) { type = "notification"; }
28
28
  if (toastOptions === void 0) { toastOptions = {}; }
29
- var _toastOptions = __assign({ duration: defaultDuration, position: defaultPosition }, toastOptions);
30
- var toastFn = type === "blank" ? toast : toast[type];
31
- toastFn(msg, _toastOptions);
29
+ var stylingByType = toastTypeStyles[type];
30
+ var _toastOptions = __assign({ duration: defaultDuration, position: defaultPosition, style: {
31
+ background: stylingByType.backgroundColor,
32
+ color: stylingByType.color,
33
+ }, icon: stylingByType.icon }, toastOptions);
34
+ toast(msg, _toastOptions);
32
35
  };
33
36
  var toastContainerCss = {
34
37
  padding: 0,
@@ -38,27 +41,40 @@ var toastContainerCss = {
38
41
  maxWidth: toastMaxWidth,
39
42
  };
40
43
  var toastTypeStyles = {
44
+ error: {
45
+ color: colors.black,
46
+ backgroundColor: colors.red250,
47
+ icon: redXIcon,
48
+ },
49
+ warning: {
50
+ color: colors.black,
51
+ backgroundColor: colors.orange1100,
52
+ icon: warningIcon,
53
+ },
41
54
  success: {
42
- backgroundColor: colors.blue50,
43
55
  color: colors.text,
56
+ backgroundColor: colors.blue50,
44
57
  icon: greenCheckIcon,
45
58
  },
46
- error: {
47
- color: colors.red800,
48
- backgroundColor: colors.red100,
49
- icon: redXIcon,
59
+ information: {
60
+ color: colors.black,
61
+ backgroundColor: colors.blue100,
62
+ icon: infoIcon,
50
63
  },
51
- blank: {
52
- backgroundColor: colors.white,
53
- color: colors.text,
54
- icon: defaultCheckIcon,
64
+ notification: {
65
+ color: colors.white,
66
+ backgroundColor: colors.black,
67
+ icon: notificationCheckIcon,
55
68
  },
56
69
  };
57
70
  var ToastWrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 10px;\n box-shadow: 0px 2px 8px 1px rgba(0, 0, 0, 0.1);\n border-radius: ", "px;\n ", ";\n"], ["\n padding: 10px;\n box-shadow: 0px 2px 8px 1px rgba(0, 0, 0, 0.1);\n border-radius: ", "px;\n ", ";\n"])), toastBorderRadius, function (p) { return p.theme.css.alignCenter; });
58
71
  var IconWrapper = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-right: 10px;\n"], ["\n margin-right: 10px;\n"])));
59
- var Toast = function () {
72
+ var Toast = function (_a) {
73
+ var zIndex = _a.zIndex;
60
74
  return (_jsx(Toaster, __assign({ toastOptions: {
61
75
  style: toastContainerCss,
76
+ }, containerStyle: {
77
+ zIndex: zIndex,
62
78
  } }, { children: function (t) { return (_jsx(ToastBar, __assign({ toast: t }, { children: function (_a) {
63
79
  var message = _a.message, hotToastIcon = _a.icon;
64
80
  var _b = toastTypeStyles[t.type] || {}, icon = _b.icon, color = _b.color, backgroundColor = _b.backgroundColor;
@@ -24,4 +24,3 @@ export declare const allowedPatterns: {
24
24
  label: string;
25
25
  }[];
26
26
  };
27
- export declare const allowedPatternValues: string[];
@@ -1,12 +1,3 @@
1
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
- if (ar || !(i in from)) {
4
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
- ar[i] = from[i];
6
- }
7
- }
8
- return to.concat(ar || Array.prototype.slice.call(from));
9
- };
10
1
  export var datePatterns = [
11
2
  {
12
3
  value: "MM/dd/yyyy",
@@ -334,4 +325,3 @@ export var allowedPatterns = {
334
325
  datetime: dateTimePatterns,
335
326
  time: timePatterns,
336
327
  };
337
- export var allowedPatternValues = __spreadArray(__spreadArray(__spreadArray([], datePatterns, true), dateTimePatterns, true), timePatterns, true).map(function (pattern) { return pattern.value; });
@@ -3,6 +3,9 @@ export declare const closeIconCondensed: JSX.Element;
3
3
  export declare const checkIcon: JSX.Element;
4
4
  export declare const greenCheckIcon: JSX.Element;
5
5
  export declare const redXIcon: JSX.Element;
6
+ export declare const warningIcon: JSX.Element;
7
+ export declare const infoIcon: JSX.Element;
8
+ export declare const notificationCheckIcon: JSX.Element;
6
9
  export declare const defaultCheckIcon: JSX.Element;
7
10
  export declare const WhiteCheckIcon: () => JSX.Element;
8
11
  export declare const chevronLeftIcon: JSX.Element;
@@ -14,8 +14,11 @@ import { useTheme } from "styled-components";
14
14
  export var closeIcon = (_jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M6 6.00003L18.7742 18.7742", stroke: "black", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M6 18.7742L18.7742 6.00001", stroke: "black", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] })));
15
15
  export var closeIconCondensed = (_jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("path", { d: "M6 6.00003L18.7742 18.7742", stroke: "#333333", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M6 18.7742L18.7742 6.00001", stroke: "#333333", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] })));
16
16
  export var checkIcon = (_jsx("svg", __assign({ width: "12", height: "10", viewBox: "0 0 12 10", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M1.37805 5.80142L3.94469 8.28708L10.6827 1.52003", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })));
17
- export var greenCheckIcon = (_jsx("svg", __assign({ width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11 22C17.0751 22 22 17.0751 22 11C22 4.92487 17.0751 0 11 0C4.92487 0 0 4.92487 0 11C0 17.0751 4.92487 22 11 22ZM8.70711 10.2426C8.31658 9.85208 7.68342 9.85208 7.29289 10.2426C6.90237 10.6331 6.90237 11.2663 7.29289 11.6568L9.41421 13.7781L10.1213 14.4852L10.8284 13.7781L15.0711 9.53549C15.4616 9.14497 15.4616 8.5118 15.0711 8.12128C14.6805 7.73076 14.0474 7.73076 13.6569 8.12128L10.1213 11.6568L8.70711 10.2426Z", fill: "#00D085" }) })));
18
- export var redXIcon = (_jsxs("svg", __assign({ width: "19", height: "18", viewBox: "0 0 19 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("circle", { cx: "9.49967", cy: "8.99992", r: "7.79167", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("path", { d: "M7.375 6.875L11.625 11.125", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M7.375 11.125L11.625 6.875", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })));
17
+ export var greenCheckIcon = (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM9.70711 11.2426C9.31658 10.8521 8.68342 10.8521 8.29289 11.2426C7.90237 11.6331 7.90237 12.2663 8.29289 12.6568L10.4142 14.7781L11.1213 15.4852L11.8284 14.7781L16.0711 10.5355C16.4616 10.145 16.4616 9.5118 16.0711 9.12128C15.6805 8.73076 15.0474 8.73076 14.6569 9.12128L11.1213 12.6568L9.70711 11.2426Z", fill: "#025F40" }) })));
18
+ export var redXIcon = (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L10.5858 12L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289C8.68342 7.90237 9.31658 7.90237 9.70711 8.29289L12 10.5858L14.2929 8.29289C14.6834 7.90237 15.3166 7.90237 15.7071 8.29289C16.0976 8.68342 16.0976 9.31658 15.7071 9.70711L13.4142 12L15.7071 14.2929C16.0976 14.6834 16.0976 15.3166 15.7071 15.7071C15.3166 16.0976 14.6834 16.0976 14.2929 15.7071L12 13.4142L9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071Z", fill: "#5C1008" }) })));
19
+ export var warningIcon = (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM12 6C12.5523 6 13 6.44772 13 7V12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12V7C11 6.44772 11.4477 6 12 6ZM12 15C12.5523 15 13 15.4477 13 16V16.5C13 17.0523 12.5523 17.5 12 17.5C11.4477 17.5 11 17.0523 11 16.5V16C11 15.4477 11.4477 15 12 15Z", fill: "#78430D" }) })));
20
+ export var infoIcon = (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M12 17.5C12.3117 17.5 12.5729 17.3946 12.7837 17.1838C12.9946 16.9729 13.1 16.7117 13.1 16.4V12C13.1 11.6883 12.9946 11.4271 12.7837 11.2163C12.5729 11.0054 12.3117 10.9 12 10.9C11.6883 10.9 11.4271 11.0054 11.2163 11.2163C11.0054 11.4271 10.9 11.6883 10.9 12V16.4C10.9 16.7117 11.0054 16.9729 11.2163 17.1838C11.4271 17.3946 11.6883 17.5 12 17.5ZM12 8.7C12.3117 8.7 12.5729 8.59458 12.7837 8.38375C12.9946 8.17292 13.1 7.91167 13.1 7.6C13.1 7.28833 12.9946 7.02708 12.7837 6.81625C12.5729 6.60542 12.3117 6.5 12 6.5C11.6883 6.5 11.4271 6.60542 11.2163 6.81625C11.0054 7.02708 10.9 7.28833 10.9 7.6C10.9 7.91167 11.0054 8.17292 11.2163 8.38375C11.4271 8.59458 11.6883 8.7 12 8.7ZM12 23C10.4783 23 9.04833 22.7113 7.71 22.1337C6.37167 21.5562 5.2075 20.7725 4.2175 19.7825C3.2275 18.7925 2.44375 17.6283 1.86625 16.29C1.28875 14.9517 1 13.5217 1 12C1 10.4783 1.28875 9.04833 1.86625 7.71C2.44375 6.37167 3.2275 5.2075 4.2175 4.2175C5.2075 3.2275 6.37167 2.44375 7.71 1.86625C9.04833 1.28875 10.4783 1 12 1C13.5217 1 14.9517 1.28875 16.29 1.86625C17.6283 2.44375 18.7925 3.2275 19.7825 4.2175C20.7725 5.2075 21.5562 6.37167 22.1337 7.71C22.7113 9.04833 23 10.4783 23 12C23 13.5217 22.7113 14.9517 22.1337 16.29C21.5562 17.6283 20.7725 18.7925 19.7825 19.7825C18.7925 20.7725 17.6283 21.5562 16.29 22.1337C14.9517 22.7113 13.5217 23 12 23Z", fill: "#025B5B" }) })));
21
+ export var notificationCheckIcon = (_jsx("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M4 12.3137L9.65685 17.9706L20.9706 6.65687", stroke: "white", "stroke-width": "2", "stroke-linecap": "round" }) })));
19
22
  export var defaultCheckIcon = (_jsxs("svg", __assign({ width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: [_jsx("circle", { cx: "12", cy: "12", r: "11", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "M9 11.9497L11.1213 14.071L15.364 9.82839", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] })));
20
23
  export var WhiteCheckIcon = function () {
21
24
  var theme = useTheme();
@@ -6,6 +6,7 @@ type Props = {
6
6
  onChange?: (isChecked: boolean) => void;
7
7
  onShiftKeyPressed?: () => void;
8
8
  isDisabled?: boolean;
9
+ label?: string;
9
10
  } & DivCSSProps;
10
- declare const Checkbox: ({ isChecked, isIndeterminate, icon, onChange, onShiftKeyPressed, isDisabled, ...props }: Props) => JSX.Element;
11
+ declare const Checkbox: ({ isChecked, isIndeterminate, icon, onChange, onShiftKeyPressed, isDisabled, label, ...props }: Props) => JSX.Element;
11
12
  export { Checkbox };
@@ -24,17 +24,19 @@ var __rest = (this && this.__rest) || function (s, e) {
24
24
  }
25
25
  return t;
26
26
  };
27
- import { jsx as _jsx } from "react/jsx-runtime";
27
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
28
  import styled, { css } from "styled-components";
29
29
  import { Div } from "../../styled/utils";
30
- var Container = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 20px;\n width: 20px;\n border: 1px solid ", ";\n background-color: ", ";\n border-radius: 4px;\n ", ";\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n ", "\n"], ["\n height: 20px;\n width: 20px;\n border: 1px solid ", ";\n background-color: ", ";\n border-radius: 4px;\n ", ";\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n ", "\n"])), function (props) { return props.theme.colors.gray400; }, function (props) { return props.theme.colors.white; }, function (props) {
31
- return (props.isChecked || props.isIndeterminate) && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: 1px solid white;\n background-color: ", ";\n "], ["\n border: 1px solid white;\n background-color: ", ";\n "])), props.theme.colors.pink500);
30
+ var Container = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n gap: 8px;\n cursor: pointer;\n"], ["\n display: flex;\n gap: 8px;\n cursor: pointer;\n"])));
31
+ var IconContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 20px;\n width: 20px;\n border-radius: 4px;\n border: 1px solid ", ";\n background-color: ", ";\n ", ";\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n ", "\n"], ["\n height: 20px;\n width: 20px;\n border-radius: 4px;\n border: 1px solid ", ";\n background-color: ", ";\n ", ";\n\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n ", "\n"])), function (props) { return props.theme.colors.gray400; }, function (props) { return props.theme.colors.white; }, function (props) {
32
+ return (props.isChecked || props.isIndeterminate) && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border: 1px solid white;\n background-color: ", ";\n "], ["\n border: 1px solid white;\n background-color: ", ";\n "])), props.theme.colors.pink500);
32
33
  }, function (_a) {
33
34
  var isDisabled = _a.isDisabled;
34
- return isDisabled && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n opacity: 0.6;\n\n :hover {\n cursor: not-allowed;\n }\n "], ["\n opacity: 0.6;\n\n :hover {\n cursor: not-allowed;\n }\n "])));
35
+ return isDisabled && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n opacity: 0.6;\n\n :hover {\n cursor: not-allowed;\n }\n "], ["\n opacity: 0.6;\n\n :hover {\n cursor: not-allowed;\n }\n "])));
35
36
  });
37
+ var Label = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n font-size: 14px;\n line-height: 20px;\n"], ["\n font-size: 14px;\n line-height: 20px;\n"])));
36
38
  var Checkbox = function (_a) {
37
- var isChecked = _a.isChecked, isIndeterminate = _a.isIndeterminate, _b = _a.icon, icon = _b === void 0 ? null : _b, onChange = _a.onChange, onShiftKeyPressed = _a.onShiftKeyPressed, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, props = __rest(_a, ["isChecked", "isIndeterminate", "icon", "onChange", "onShiftKeyPressed", "isDisabled"]);
39
+ var isChecked = _a.isChecked, isIndeterminate = _a.isIndeterminate, _b = _a.icon, icon = _b === void 0 ? null : _b, onChange = _a.onChange, onShiftKeyPressed = _a.onShiftKeyPressed, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.label, label = _d === void 0 ? null : _d, props = __rest(_a, ["isChecked", "isIndeterminate", "icon", "onChange", "onShiftKeyPressed", "isDisabled", "label"]);
38
40
  var handleOnChange = function (event) {
39
41
  if (!onChange)
40
42
  return;
@@ -45,9 +47,9 @@ var Checkbox = function (_a) {
45
47
  var newValue = !isChecked || isIndeterminate;
46
48
  onChange(newValue);
47
49
  };
48
- return (_jsx(Container, __assign({}, __assign({ isChecked: isChecked, isDisabled: isDisabled, isIndeterminate: isIndeterminate, onClick: handleOnChange }, props), { "data-test-id": "checkbox" }, { children: isIndeterminate ? (_jsx(IndeterminateIcon, {})) : (_jsx(Div, __assign({ centered: true }, { children: isChecked && (icon || checkIcon) }))) })));
50
+ return (_jsxs(Container, __assign({ "data-test-id": "checkbox", onClick: handleOnChange }, { children: [_jsx(IconContainer, __assign({}, __assign({ isChecked: isChecked, isDisabled: isDisabled, isIndeterminate: isIndeterminate }, props), { children: isIndeterminate ? (_jsx(IndeterminateIcon, {})) : (_jsx(Div, __assign({ centered: true }, { children: isChecked && (icon || checkIcon) }))) })), label && _jsx(Label, { children: label })] })));
49
51
  };
50
52
  var checkIcon = (_jsx("svg", __assign({ width: "14", height: "10", viewBox: "0 0 14 10", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M1.10254 4.74355L5.2051 8.84612L12.8974 1.15381", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })));
51
53
  var IndeterminateIcon = function () { return (_jsx("svg", __assign({ width: "14", height: "2", viewBox: "0 0 14 2", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: _jsx("path", { d: "M1 1H13", stroke: "white", strokeWidth: "2", strokeLinecap: "round" }) }))); };
52
54
  export { Checkbox };
53
- var templateObject_1, templateObject_2, templateObject_3;
55
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -63,6 +63,7 @@ declare const _default: {
63
63
  search_rows: {
64
64
  tooltip: string;
65
65
  placeholder: string;
66
+ number_of_results: string;
66
67
  };
67
68
  filter_by_errors: {
68
69
  search_or_select: string;
@@ -106,6 +107,18 @@ declare const _default: {
106
107
  continue: string;
107
108
  submit: string;
108
109
  };
110
+ find_and_replace_modal: {
111
+ cancel: string;
112
+ description: string;
113
+ find: string;
114
+ no_records_found: string;
115
+ records_replaced: string;
116
+ replace_with: string;
117
+ submit: string;
118
+ title: string;
119
+ use_case_sensitive: string;
120
+ use_regex: string;
121
+ };
109
122
  unmatched_headers_modal: {
110
123
  title: string;
111
124
  description_singular: string;