fuse-importer 0.23.3 → 0.23.6
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.
- package/README.md +1 -1
- package/lib/esm/Importer/FuseApi.js +1 -1
- package/lib/esm/Importer/ImporterContextProvider.d.ts +2 -0
- package/lib/esm/Importer/ImporterContextProvider.js +4 -1
- package/lib/esm/Importer/Review/index.js +1 -1
- package/lib/esm/Importer/SpreadsheetReviewContextProvider.d.ts +2 -1
- package/lib/esm/Importer/SpreadsheetReviewContextProvider.js +20 -9
- package/lib/esm/Importer/Stepper.js +4 -2
- package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.js +1 -1
- package/lib/esm/Importer/Uploader/HeadersPreview.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.d.ts +1 -0
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider.js +81 -61
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetRowNumbers.d.ts +3 -3
- package/lib/esm/Importer/common/Spreadsheet/SpreadsheetRowNumbers.js +10 -10
- package/lib/esm/Importer/common/Spreadsheet/common/fields/index.d.ts +2 -2
- package/lib/esm/Importer/common/Spreadsheet/common/fields/index.js +32 -47
- package/lib/esm/Importer/common/Spreadsheet/common/index.js +1 -1
- package/lib/esm/Importer/common/Spreadsheet/index.js +18 -57
- package/lib/esm/Importer/index.js +2 -2
- package/lib/esm/api/index.d.ts +1 -0
- package/lib/esm/api/index.js +3 -3
- package/lib/esm/common/Modal.d.ts +7 -4
- package/lib/esm/common/Modal.js +2 -2
- package/lib/esm/common/Table/TableDataProvider.js +24 -23
- package/lib/esm/common/Table/TableView/TableHeaders.d.ts +3 -2
- package/lib/esm/common/Table/TableView/TableHeaders.js +1 -5
- package/lib/esm/common/Table/TableView/TableRow.d.ts +2 -2
- package/lib/esm/common/Table/TableView/TableRow.js +7 -10
- package/lib/esm/common/Table/TableView/index.d.ts +1 -2
- package/lib/esm/common/Table/TableView/index.js +52 -45
- package/lib/esm/common/TooltipProvider.d.ts +1 -0
- package/lib/esm/common/TooltipProvider.js +7 -7
- package/lib/esm/common/buttons.js +2 -2
- package/lib/esm/common/index.d.ts +1 -1
- package/lib/esm/common/index.js +2 -2
- package/lib/esm/common/inputs/Autocomplete.js +8 -4
- package/lib/esm/common/inputs/TextInput.d.ts +2 -1
- package/lib/esm/common/inputs/TextInput.js +3 -2
- package/lib/esm/styled/utils.d.ts +3 -0
- package/lib/esm/styled/utils.js +4 -2
- package/lib/esm/types.d.ts +11 -7
- package/lib/esm/utils/index.d.ts +1 -0
- package/lib/esm/utils/index.js +3 -0
- package/lib/main.js +1 -1
- package/lib/main.js.LICENSE.txt +9 -0
- package/package.json +18 -14
|
@@ -13,42 +13,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
};
|
|
14
14
|
return __assign.apply(this, arguments);
|
|
15
15
|
};
|
|
16
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
17
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
21
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
22
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
26
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
27
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
28
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
29
|
-
function step(op) {
|
|
30
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
31
|
-
while (_) try {
|
|
32
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
33
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
34
|
-
switch (op[0]) {
|
|
35
|
-
case 0: case 1: t = op; break;
|
|
36
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
37
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
38
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
39
|
-
default:
|
|
40
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
41
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
42
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
43
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
44
|
-
if (t[2]) _.ops.pop();
|
|
45
|
-
_.trys.pop(); continue;
|
|
46
|
-
}
|
|
47
|
-
op = body.call(thisArg, _);
|
|
48
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
49
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
16
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
53
17
|
var t = {};
|
|
54
18
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -63,6 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
63
27
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
64
28
|
import { useEffect, useMemo, useRef, useState, useCallback, } from "react";
|
|
65
29
|
import styled from "styled-components";
|
|
30
|
+
import { debounce } from "lodash";
|
|
66
31
|
import { getTableHeight } from "..";
|
|
67
32
|
import { TableView as TableViewBase, TableViewCellContainer, TableViewRow, } from "../../../common/Table/TableView";
|
|
68
33
|
import { colors } from "../../../styled/theme/colorPalette";
|
|
@@ -78,7 +43,7 @@ import { inputTypes } from "./inputs";
|
|
|
78
43
|
var SpreadSheetWrapper = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border: solid 1px ", ";\n border-radius: 8px;\n background: ", ";\n overflow: hidden !important;\n"], ["\n border: solid 1px ", ";\n border-radius: 8px;\n background: ", ";\n overflow: hidden !important;\n"])), function (p) { return p.theme.colors.gray300; }, function (p) { return p.theme.colors.white; });
|
|
79
44
|
var TableView = styled(TableViewBase)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 100%;\n border: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n overflow: hidden;\n background-color: ", ";\n ", " {\n border-bottom: none;\n height: 40px;\n }\n ", " {\n padding: 0;\n border-right: 1px solid ", ";\n }\n"], ["\n width: 100%;\n border: none;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n overflow: hidden;\n background-color: ", ";\n ", " {\n border-bottom: none;\n height: 40px;\n }\n ", " {\n padding: 0;\n border-right: 1px solid ", ";\n }\n"])), function (p) { return p.theme.colors.gray50; }, TableViewRow, TableViewCellContainer, function (p) { return p.theme.colors.gray300; });
|
|
80
45
|
var Spreadsheet = function (_a) {
|
|
81
|
-
var isReadOnly = _a.isReadOnly, initialData = _a.initialData, rowWidth = _a.rowWidth, fields = _a.fields, appResponse = _a.appResponse,
|
|
46
|
+
var isReadOnly = _a.isReadOnly, initialData = _a.initialData, rowWidth = _a.rowWidth, fields = _a.fields, appResponse = _a.appResponse, _b = _a.options, options = _b === void 0 ? {} : _b, _c = _a.onValidateRecord, onValidateRecord = _c === void 0 ? null : _c, submittedData = _a.submittedData, setReviewedData = _a.setReviewedData, _d = _a.onValidateBatch, onValidateBatch = _d === void 0 ? null : _d, _e = _a.highlightFirstRow, highlightFirstRow = _e === void 0 ? false : _e;
|
|
82
47
|
return (_jsx(SpreadsheetContextProvider, __assign({}, {
|
|
83
48
|
appResponse: appResponse,
|
|
84
49
|
submittedData: submittedData,
|
|
@@ -103,9 +68,8 @@ var SpreadSheetWithContext = function () {
|
|
|
103
68
|
var SpreadsheetData = function () {
|
|
104
69
|
var _a = useSpreadsheetReviewContext(), appResponse = _a.appResponse, isSubmitting = _a.isSubmitting;
|
|
105
70
|
var _b = useSpreadsheetContext(), fields = _b.fields, data = _b.data, isLoading = _b.isLoading, isReadOnly = _b.isReadOnly, rowWidth = _b.rowWidth, sortByFieldErrors = _b.sortByFieldErrors, setSortByFieldErrors = _b.setSortByFieldErrors, validateRenderedRecords = _b.validateRenderedRecords, setIsLoading = _b.setIsLoading;
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var _d = useState(true), isSortingTableData = _d[0], setIsSortingTableData = _d[1];
|
|
71
|
+
var _c = useState(true), isSortingTableData = _c[0], setIsSortingTableData = _c[1];
|
|
72
|
+
var rowNumbersGridRef = useRef();
|
|
109
73
|
useEffect(function () {
|
|
110
74
|
setIsSortingTableData(true);
|
|
111
75
|
setTimeout(function () {
|
|
@@ -113,23 +77,14 @@ var SpreadsheetData = function () {
|
|
|
113
77
|
setSortByFieldErrors(null);
|
|
114
78
|
}, 10);
|
|
115
79
|
}, [sortByFieldErrors]);
|
|
116
|
-
var onSectionRendered = useCallback(function (_a) {
|
|
80
|
+
var onSectionRendered = useCallback(debounce(function (_a) {
|
|
117
81
|
var data = _a.data;
|
|
118
|
-
|
|
119
|
-
return
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (validationTimeoutRef.current)
|
|
125
|
-
clearTimeout(validationTimeoutRef.current);
|
|
126
|
-
validationTimeoutRef.current = setTimeout(function () {
|
|
127
|
-
validateRenderedRecords(data);
|
|
128
|
-
}, 200);
|
|
129
|
-
return [2 /*return*/];
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
}, [isSortingTableData]);
|
|
82
|
+
if (isSortingTableData)
|
|
83
|
+
return;
|
|
84
|
+
if (!isReadOnly)
|
|
85
|
+
setIsLoading(true);
|
|
86
|
+
validateRenderedRecords(data);
|
|
87
|
+
}, 200), [isSortingTableData, validateRenderedRecords]);
|
|
133
88
|
var columns = useMemo(function () {
|
|
134
89
|
return fields.map(function (field) { return ({
|
|
135
90
|
Header: function () { return (_jsx(FieldHeader, { field: field, sortByFieldErrors: setSortByFieldErrors })); },
|
|
@@ -144,6 +99,12 @@ var SpreadsheetData = function () {
|
|
|
144
99
|
data,
|
|
145
100
|
appResponse,
|
|
146
101
|
]);
|
|
102
|
+
var onTableScroll = useCallback(function (scrollTop) {
|
|
103
|
+
if (rowNumbersGridRef.current) {
|
|
104
|
+
var grid = rowNumbersGridRef.current;
|
|
105
|
+
grid.scrollTo({ scrollTop: scrollTop });
|
|
106
|
+
}
|
|
107
|
+
}, []);
|
|
147
108
|
var spreadsheetHeight = getTableHeight({
|
|
148
109
|
headerHeight: spreadsheetHeaderHeightPx,
|
|
149
110
|
rowHeight: spreadsheetRowHeightPx,
|
|
@@ -151,7 +112,7 @@ var SpreadsheetData = function () {
|
|
|
151
112
|
minimumTableHeight: 450,
|
|
152
113
|
maxVisibleRows: 12,
|
|
153
114
|
});
|
|
154
|
-
return (_jsxs(_Fragment, { children: [_jsx(GlobalStyle, {}), !isSortingTableData && !isSubmitting && (_jsxs(SpreadSheetWrapper, __assign({ h: spreadsheetHeight, dflex: true, w: 1400 }, { children: [_jsx(SpreadsheetRowNumbers, { spreadsheetHasXScroll: rowWidth > 1,
|
|
115
|
+
return (_jsxs(_Fragment, { children: [_jsx(GlobalStyle, {}), !isSortingTableData && !isSubmitting && (_jsxs(SpreadSheetWrapper, __assign({ h: spreadsheetHeight, dflex: true, w: 1400 }, { children: [_jsx(SpreadsheetRowNumbers, { gridRef: rowNumbersGridRef, spreadsheetHasXScroll: rowWidth > 1, height: spreadsheetHeight }), _jsx(TableView, { tableHeadersHeight: spreadsheetHeaderHeightPx, highlightFirstRow: isReadOnly, rowHeight: spreadsheetRowHeightPx, onSectionRendered: onSectionRendered, onTableScroll: onTableScroll, h: spreadsheetHeight, rowWidth: rowWidth, data: unsubmittedData, columns: columns, isLoading: isLoading })] })))] }));
|
|
155
116
|
};
|
|
156
117
|
export { Spreadsheet };
|
|
157
118
|
var templateObject_1, templateObject_2;
|
|
@@ -64,12 +64,12 @@ var Importer = function (_a) {
|
|
|
64
64
|
};
|
|
65
65
|
var ImporterWithContext = function (_a) {
|
|
66
66
|
var onSubmit = _a.onSubmit;
|
|
67
|
-
var _b = useImporterContext(), inTrialMode = _b.inTrialMode, currentStepIndex = _b.currentStepIndex, matcherSubstep = _b.matcherSubstep, theme = _b.theme, logoURL = _b.logoURL,
|
|
67
|
+
var _b = useImporterContext(), inTrialMode = _b.inTrialMode, currentStepIndex = _b.currentStepIndex, matcherSubstep = _b.matcherSubstep, theme = _b.theme, logoURL = _b.logoURL, _c = _b.importerOptions, zIndex = _c.zIndex, loadingComponent = _c.loadingComponent;
|
|
68
68
|
var layoutRef = useRef(null);
|
|
69
69
|
useEffect(function () {
|
|
70
70
|
layoutRef.current.scrollTo(0, 0);
|
|
71
71
|
}, [currentStepIndex, matcherSubstep]);
|
|
72
|
-
return (_jsxs(ThemeProvider, __assign({ theme: theme }, { children: [_jsx(Toast, {}), _jsx(GlobalStyle, {}), _jsx(ImporterFonts, {}), _jsx(SpreadsheetReviewContextProvider, __assign({ onSubmit: onSubmit }, { children: _jsxs(Layout, __assign({ zIndex: zIndex, ref: layoutRef }, { children: [_jsxs(Div, { children: [_jsx(PreviewModeBanner, {}), _jsx(TrialModeBanner, {}), _jsx(Stepper, { stepLabels: steps.map(function (step) { return step.label; }), logoURL: logoURL })] }), _jsx(Content, { children: steps[currentStepIndex].component }), inTrialMode && (_jsx(Content, { children: _jsx(Footer, {}) }))] })) }))] })));
|
|
72
|
+
return (_jsxs(ThemeProvider, __assign({ theme: theme }, { children: [_jsx(Toast, {}), _jsx(GlobalStyle, {}), _jsx(ImporterFonts, {}), _jsx(SpreadsheetReviewContextProvider, __assign({ loadingComponent: loadingComponent, onSubmit: onSubmit }, { children: _jsxs(Layout, __assign({ zIndex: zIndex, ref: layoutRef }, { children: [_jsxs(Div, { children: [_jsx(PreviewModeBanner, {}), _jsx(TrialModeBanner, {}), _jsx(Stepper, { stepLabels: steps.map(function (step) { return step.label; }), logoURL: logoURL })] }), _jsx(Content, { children: steps[currentStepIndex].component }), inTrialMode && (_jsx(Content, { children: _jsx(Footer, {}) }))] })) }))] })));
|
|
73
73
|
};
|
|
74
74
|
export * from "./common/Spreadsheet";
|
|
75
75
|
export * from "./common/utils";
|
package/lib/esm/api/index.d.ts
CHANGED
package/lib/esm/api/index.js
CHANGED
|
@@ -26,20 +26,20 @@ var getTTL = function (ttl) {
|
|
|
26
26
|
};
|
|
27
27
|
var requestInterceptor = {
|
|
28
28
|
onFulFilled: function (_config) {
|
|
29
|
-
var _a;
|
|
29
|
+
var _a, _b;
|
|
30
30
|
_config.paramsSerializer = function (params) {
|
|
31
31
|
return Qs.stringify(params, {
|
|
32
32
|
arrayFormat: config.arrayFormat ? config.arrayFormat : "brackets",
|
|
33
33
|
});
|
|
34
34
|
};
|
|
35
|
-
var authToken = (_a = JSON.parse(ls === null || ls === void 0 ? void 0 : ls.getItem("user"))) === null ||
|
|
35
|
+
var authToken = (_a = _config.authToken) !== null && _a !== void 0 ? _a : (_b = JSON.parse(ls === null || ls === void 0 ? void 0 : ls.getItem("user"))) === null || _b === void 0 ? void 0 : _b.token;
|
|
36
36
|
var config = Object.assign(_config);
|
|
37
37
|
if (authToken)
|
|
38
38
|
config.headers.Authorization = "Bearer ".concat(authToken);
|
|
39
39
|
if (!config.toPublicApi)
|
|
40
40
|
config.url = "".concat(process.env.REACT_APP_API_BASE_URL || "").concat(config.url);
|
|
41
41
|
if (config.cache) {
|
|
42
|
-
var
|
|
42
|
+
var _c = getCacheKeys(config), key = _c.key, ttlKey = _c.ttlKey;
|
|
43
43
|
var ttl = ls === null || ls === void 0 ? void 0 : ls.getItem(ttlKey);
|
|
44
44
|
if (config.refresh || (ttl && ttlIsExpired(ttl))) {
|
|
45
45
|
ls === null || ls === void 0 ? void 0 : ls.removeItem(key);
|
|
@@ -3,11 +3,14 @@ export declare const ModalContainer: import("styled-components").StyledComponent
|
|
|
3
3
|
export declare const ModalBackdrop: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../styled/utils").CSSProps, never>;
|
|
4
4
|
export declare const ModalWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../styled/utils").CSSProps, never>;
|
|
5
5
|
export declare const ModalCloseIcon: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../styled/utils").CSSProps, never>;
|
|
6
|
-
|
|
6
|
+
declare type ModalProps = {
|
|
7
7
|
isOpen?: boolean;
|
|
8
|
-
onClose?:
|
|
9
|
-
children
|
|
8
|
+
onClose?: () => void | null;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
10
|
withCloseIcon?: boolean;
|
|
11
11
|
withBackdropClose?: boolean;
|
|
12
12
|
className?: string;
|
|
13
|
-
|
|
13
|
+
testId?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const Modal: ({ isOpen, onClose, children, withCloseIcon, withBackdropClose, className, testId, }: ModalProps) => JSX.Element;
|
|
16
|
+
export {};
|
package/lib/esm/common/Modal.js
CHANGED
|
@@ -22,7 +22,7 @@ export var ModalBackdrop = styled(Div)(templateObject_2 || (templateObject_2 = _
|
|
|
22
22
|
export var ModalWrapper = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background: ", ";\n padding: 32px 56px;\n border-radius: 8px;\n box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.24), 0 0 8px 0 rgba(0, 0, 0, 0.32);\n"], ["\n background: ", ";\n padding: 32px 56px;\n border-radius: 8px;\n box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.24), 0 0 8px 0 rgba(0, 0, 0, 0.32);\n"])), function (props) { return props.theme.colors.white; });
|
|
23
23
|
export var ModalCloseIcon = styled(Div)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 0;\n display: flex;\n flex-direction: row-reverse;\n"], ["\n height: 0;\n display: flex;\n flex-direction: row-reverse;\n"])));
|
|
24
24
|
export var Modal = function (_a) {
|
|
25
|
-
var _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, _c = _a.onClose, onClose = _c === void 0 ? null : _c, children = _a.children, _d = _a.withCloseIcon, withCloseIcon = _d === void 0 ? true : _d, _e = _a.withBackdropClose, withBackdropClose = _e === void 0 ? true : _e, _f = _a.className, className = _f === void 0 ? "" : _f;
|
|
26
|
-
return (_jsx(_Fragment, { children: isOpen && (_jsxs(Div, __assign({ className: className }, { children: [_jsx(ModalBackdrop, { onClick: withBackdropClose ? onClose : null }), _jsx(ModalContainer, { children: _jsxs(ModalWrapper, { children: [withCloseIcon && (_jsx(ModalCloseIcon, { children: _jsx(Div, __assign({ clickable: true, mt: -10, mr: -20, onClick: onClose }, { children: closeIcon })) })), _jsx(Div, { children: children })] }) })] }))) }));
|
|
25
|
+
var _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, _c = _a.onClose, onClose = _c === void 0 ? null : _c, children = _a.children, _d = _a.withCloseIcon, withCloseIcon = _d === void 0 ? true : _d, _e = _a.withBackdropClose, withBackdropClose = _e === void 0 ? true : _e, _f = _a.className, className = _f === void 0 ? "" : _f, testId = _a.testId;
|
|
26
|
+
return (_jsx(_Fragment, { children: isOpen && (_jsxs(Div, __assign({ className: className, "data-testid": testId }, { children: [_jsx(ModalBackdrop, { onClick: withBackdropClose ? onClose : null }), _jsx(ModalContainer, { children: _jsxs(ModalWrapper, { children: [withCloseIcon && (_jsx(ModalCloseIcon, { children: _jsx(Div, __assign({ clickable: true, mt: -10, mr: -20, onClick: onClose }, { children: closeIcon })) })), _jsx(Div, { children: children })] }) })] }))) }));
|
|
27
27
|
};
|
|
28
28
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -57,7 +57,7 @@ export var SortDirection;
|
|
|
57
57
|
var TableContext = createContext({});
|
|
58
58
|
export var TableDataProvider = function (_a) {
|
|
59
59
|
var children = _a.children, dataUrl = _a.dataUrl, _b = _a.query, query = _b === void 0 ? "" : _b, _c = _a.filters, filters = _c === void 0 ? null : _c, _d = _a.defaultSortBy, defaultSortBy = _d === void 0 ? { field: null, direction: null } : _d, _e = _a.onGetData, onGetData = _e === void 0 ? null : _e;
|
|
60
|
-
var _f = useState(
|
|
60
|
+
var _f = useState([]), data = _f[0], setData = _f[1];
|
|
61
61
|
var _g = useState(false), isLoading = _g[0], setLoading = _g[1];
|
|
62
62
|
var _h = useState(1), currentPage = _h[0], setCurrentPage = _h[1];
|
|
63
63
|
var _j = useState(null), totalPages = _j[0], setTotalPages = _j[1];
|
|
@@ -65,12 +65,15 @@ export var TableDataProvider = function (_a) {
|
|
|
65
65
|
var _l = useState(0), totalCount = _l[0], setTotalCount = _l[1];
|
|
66
66
|
var _m = useState(7), pageSize = _m[0], setPageSize = _m[1];
|
|
67
67
|
var getData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
68
|
-
var payload;
|
|
69
|
-
var _a, _b;
|
|
70
|
-
return __generator(this, function (
|
|
71
|
-
switch (
|
|
68
|
+
var payload, e_1;
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
return __generator(this, function (_d) {
|
|
71
|
+
switch (_d.label) {
|
|
72
72
|
case 0:
|
|
73
73
|
setLoading(true);
|
|
74
|
+
_d.label = 1;
|
|
75
|
+
case 1:
|
|
76
|
+
_d.trys.push([1, 3, , 4]);
|
|
74
77
|
return [4 /*yield*/, api.get(dataUrl, {
|
|
75
78
|
params: {
|
|
76
79
|
query: query,
|
|
@@ -81,33 +84,31 @@ export var TableDataProvider = function (_a) {
|
|
|
81
84
|
filters: filters || {},
|
|
82
85
|
},
|
|
83
86
|
})];
|
|
84
|
-
case
|
|
85
|
-
payload = (
|
|
87
|
+
case 2:
|
|
88
|
+
payload = (_d.sent()).data;
|
|
89
|
+
if (((_a = payload === null || payload === void 0 ? void 0 : payload.data) === null || _a === void 0 ? void 0 : _a.length) === 0 && currentPage > 1) {
|
|
90
|
+
setCurrentPage(function (oldValue) { return oldValue - 1; });
|
|
91
|
+
return [2 /*return*/];
|
|
92
|
+
}
|
|
86
93
|
if (onGetData) {
|
|
87
94
|
onGetData(payload);
|
|
88
95
|
}
|
|
89
96
|
setData(payload.data);
|
|
90
|
-
setTotalPages((
|
|
91
|
-
setTotalCount((
|
|
97
|
+
setTotalPages((_b = payload.pagination) === null || _b === void 0 ? void 0 : _b.total_pages);
|
|
98
|
+
setTotalCount((_c = payload.pagination) === null || _c === void 0 ? void 0 : _c.total_count);
|
|
99
|
+
setLoading(false);
|
|
100
|
+
return [3 /*break*/, 4];
|
|
101
|
+
case 3:
|
|
102
|
+
e_1 = _d.sent();
|
|
92
103
|
setLoading(false);
|
|
93
|
-
return [
|
|
104
|
+
return [3 /*break*/, 4];
|
|
105
|
+
case 4: return [2 /*return*/];
|
|
94
106
|
}
|
|
95
107
|
});
|
|
96
108
|
}); };
|
|
97
|
-
var resetPagination = function () {
|
|
98
|
-
setCurrentPage(null);
|
|
99
|
-
setTimeout(function () {
|
|
100
|
-
setCurrentPage(1);
|
|
101
|
-
}, 10);
|
|
102
|
-
};
|
|
103
|
-
useEffect(function () {
|
|
104
|
-
resetPagination();
|
|
105
|
-
}, [query, dataUrl, sortBy, filters, pageSize]);
|
|
106
109
|
useEffect(function () {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
}, [currentPage]);
|
|
110
|
+
getData();
|
|
111
|
+
}, [query, dataUrl, sortBy, filters, pageSize, currentPage]);
|
|
111
112
|
var value = {
|
|
112
113
|
data: data,
|
|
113
114
|
isLoading: isLoading,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { TableViewProps } from ".";
|
|
3
3
|
import { DivCSSProps } from "../../../styled/utils";
|
|
4
4
|
import { SortDirection } from "../TableDataProvider";
|
|
@@ -15,6 +15,7 @@ export declare const TableHeadersContent: import("styled-components").StyledComp
|
|
|
15
15
|
declare type TableHeadersProps = Pick<TableViewProps, "columns" | "sortBy" | "setSortBy" | "rowHeight" | "rowWidth"> & {
|
|
16
16
|
scrollLeft: number;
|
|
17
17
|
height: number;
|
|
18
|
+
containerRef: React.MutableRefObject<HTMLDivElement>;
|
|
18
19
|
} & DivCSSProps;
|
|
19
|
-
export declare const TableHeaders: ({ scrollLeft, columns, sortBy,
|
|
20
|
+
export declare const TableHeaders: ({ scrollLeft, columns, sortBy, rowHeight, containerRef, setSortBy, rowWidth, height, ...props }: TableHeadersProps) => JSX.Element;
|
|
20
21
|
export {};
|
|
@@ -25,7 +25,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
25
|
return t;
|
|
26
26
|
};
|
|
27
27
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
-
import { useRef } from "react";
|
|
29
28
|
import styled, { css } from "styled-components";
|
|
30
29
|
import { Div } from "../../../styled/utils";
|
|
31
30
|
import { chevronDown as chevronDownIcon } from "../icons";
|
|
@@ -40,10 +39,7 @@ export var SortIndicator = styled(Div)(templateObject_4 || (templateObject_4 = _
|
|
|
40
39
|
export var TableHeadersContainer = styled(Div)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n overflow-x: hidden;\n"], ["\n overflow-x: hidden;\n"])));
|
|
41
40
|
export var TableHeadersContent = styled(Div)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n /* table scrollbar offset */\n border-right: solid 10px ", ";\n"], ["\n /* table scrollbar offset */\n border-right: solid 10px ", ";\n"])), function (p) { return p.theme.colors.tableHeader; });
|
|
42
41
|
export var TableHeaders = function (_a) {
|
|
43
|
-
var _b = _a.scrollLeft, scrollLeft = _b === void 0 ? 0 : _b, columns = _a.columns, sortBy = _a.sortBy,
|
|
44
|
-
var containerRef = useRef(null);
|
|
45
|
-
if (containerRef.current)
|
|
46
|
-
containerRef.current.scrollLeft = scrollLeft;
|
|
42
|
+
var _b = _a.scrollLeft, scrollLeft = _b === void 0 ? 0 : _b, columns = _a.columns, sortBy = _a.sortBy, rowHeight = _a.rowHeight, containerRef = _a.containerRef, setSortBy = _a.setSortBy, _c = _a.rowWidth, rowWidth = _c === void 0 ? 1 : _c, _d = _a.height, height = _d === void 0 ? defaultTableHeaderHeightPx : _d, props = __rest(_a, ["scrollLeft", "columns", "sortBy", "rowHeight", "containerRef", "setSortBy", "rowWidth", "height"]);
|
|
47
43
|
return (_jsx(TableHeadersContainer, __assign({ ref: containerRef }, { children: _jsx(TableHeadersContent, __assign({ dflex: true, w: "".concat(100 * rowWidth, "%") }, { children: columns.map(function (column, index) {
|
|
48
44
|
var header = column.header, Header = column.Header;
|
|
49
45
|
var onHeaderClick = function () {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { TableViewProps } from ".";
|
|
3
3
|
import { DivCSSProps } from "../../../styled/utils";
|
|
4
|
-
export declare const Cell: (props: any) => JSX.Element
|
|
4
|
+
export declare const Cell: React.MemoExoticComponent<(props: any) => JSX.Element>;
|
|
5
5
|
declare type TableViewRowProps = {
|
|
6
6
|
isHighlighted: boolean;
|
|
7
7
|
isLast: boolean;
|
|
@@ -25,18 +25,15 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
25
|
return t;
|
|
26
26
|
};
|
|
27
27
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
28
|
-
import
|
|
28
|
+
import React from "react";
|
|
29
|
+
import { areEqual } from "react-window";
|
|
29
30
|
import styled, { css } from "styled-components";
|
|
30
31
|
import { Div } from "../../../styled/utils";
|
|
31
32
|
import { columnWidthPercentage, TableViewCellContainer } from "./common";
|
|
32
|
-
export var Cell = function (props) {
|
|
33
|
-
var
|
|
34
|
-
return
|
|
35
|
-
|
|
36
|
-
// [row, children] enables hotreloading, missing tests for optimizations
|
|
37
|
-
// should we use [row] instead of [row, children] for table optimization ?
|
|
38
|
-
[row]);
|
|
39
|
-
};
|
|
33
|
+
export var Cell = React.memo(function (props) {
|
|
34
|
+
var children = props.children, cellProps = __rest(props, ["children"]);
|
|
35
|
+
return (_jsx(TableViewCellContainer, __assign({}, cellProps, { children: children })));
|
|
36
|
+
}, areEqual);
|
|
40
37
|
export var TableViewRow = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: white;\n ", "\n ", "\n"], ["\n background-color: white;\n ", "\n ", "\n"])), function (p) {
|
|
41
38
|
return !p.isLast && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-shadow: inset 0 -1px 0 ", ";\n "], ["\n box-shadow: inset 0 -1px 0 ", ";\n "])), function (p) { return p.theme.colors.gray300; });
|
|
42
39
|
}, function (p) {
|
|
@@ -51,7 +48,7 @@ export var TableRow = function (_a) {
|
|
|
51
48
|
? function () {
|
|
52
49
|
onRowClick(row);
|
|
53
50
|
}
|
|
54
|
-
: null, w: columnWidthPercentage(column, columns) }, { children:
|
|
51
|
+
: null, w: columnWidthPercentage(column, columns) }, { children: Content ? (_jsx(Content, __assign({}, row, { rowIndex: indexI }))) : (_jsx(Div, __assign({ truncateText: true }, { children: row[column.dataAccessor] || "-" }))) }), indexJ));
|
|
55
52
|
}) })) }));
|
|
56
53
|
};
|
|
57
54
|
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -4,7 +4,6 @@ import { SortBy } from "../TableDataProvider";
|
|
|
4
4
|
export * from "./common";
|
|
5
5
|
export * from "./TableHeaders";
|
|
6
6
|
export * from "./TableRow";
|
|
7
|
-
export { TableView };
|
|
8
7
|
declare type TableViewWrapperProps = {
|
|
9
8
|
isLoading: boolean;
|
|
10
9
|
};
|
|
@@ -38,4 +37,4 @@ export declare type TableViewProps = {
|
|
|
38
37
|
onTableScroll?: (scrollTop: number) => void;
|
|
39
38
|
onRowClick?: (row: any) => void;
|
|
40
39
|
} & DivCSSProps;
|
|
41
|
-
declare const TableView: ({ data, columns, pageSize, onRowClick, sortBy, isLoading, highlightFirstRow, setSortBy, rowWidth, onSectionRendered, tableHeadersHeight, rowHeight, h, onTableScroll, ...props }: TableViewProps) => JSX.Element
|
|
40
|
+
export declare const TableView: React.MemoExoticComponent<({ data, columns, pageSize, onRowClick, sortBy, isLoading, highlightFirstRow, setSortBy, rowWidth, onSectionRendered, tableHeadersHeight, rowHeight, h, onTableScroll, ...props }: TableViewProps) => JSX.Element>;
|
|
@@ -25,8 +25,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
25
25
|
return t;
|
|
26
26
|
};
|
|
27
27
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
28
|
+
import React, { useRef, useMemo, useCallback } from "react";
|
|
29
|
+
import { FixedSizeGrid as Grid, areEqual } from "react-window";
|
|
30
|
+
import AutoSizer from "react-virtualized-auto-sizer";
|
|
30
31
|
import styled, { css } from "styled-components";
|
|
31
32
|
import { Div } from "../../../styled/utils";
|
|
32
33
|
import { Spinner } from "../../Spinner";
|
|
@@ -36,67 +37,73 @@ import { TableRow } from "./TableRow";
|
|
|
36
37
|
export * from "./common";
|
|
37
38
|
export * from "./TableHeaders";
|
|
38
39
|
export * from "./TableRow";
|
|
39
|
-
export { TableView };
|
|
40
40
|
export var TableViewWrapper = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n border-radius: 8px;\n border: solid 1px ", ";\n overflow: hidden;\n\n // prevents clipped dropdowns\n .ReactVirtualized__Grid__innerScrollContainer {\n overflow: visible !important;\n }\n .ReactVirtualized__Table__row {\n overflow: visible !important;\n }\n\n // fix scrollbar layout issues on windows/macos\n .ReactVirtualized__Grid {\n ", ";\n }\n"], ["\n ", "\n border-radius: 8px;\n border: solid 1px ", ";\n overflow: hidden;\n\n // prevents clipped dropdowns\n .ReactVirtualized__Grid__innerScrollContainer {\n overflow: visible !important;\n }\n .ReactVirtualized__Table__row {\n overflow: visible !important;\n }\n\n // fix scrollbar layout issues on windows/macos\n .ReactVirtualized__Grid {\n ", ";\n }\n"])), function (p) {
|
|
41
41
|
return p.isLoading && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n opacity: 0.5;\n "], ["\n opacity: 0.5;\n "])));
|
|
42
42
|
}, function (p) { return p.theme.colors.gray300; }, function (p) { return p.theme.css.scrollbarDark; });
|
|
43
43
|
var SpinnerWrapper = styled(Div)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n pointer-events: none;\n z-index: 100;\n"], ["\n pointer-events: none;\n z-index: 100;\n"])));
|
|
44
44
|
var tableHeaderId = "tableHeaderId";
|
|
45
|
-
var
|
|
45
|
+
var buildGridStyles = function (rowWidth) {
|
|
46
|
+
/* using style={{ willChange: "unset" }} is important for having items
|
|
47
|
+
like backdrops with position fixed inside of the table working as
|
|
48
|
+
expected. Required for dropdowns in cells */
|
|
49
|
+
var gridStyles = {
|
|
50
|
+
outline: "none",
|
|
51
|
+
willChange: "unset",
|
|
52
|
+
};
|
|
53
|
+
if (rowWidth === 1)
|
|
54
|
+
gridStyles = __assign(__assign({}, gridStyles), { overflowX: "hidden", overflowY: "auto" });
|
|
55
|
+
else if (rowWidth > 1)
|
|
56
|
+
gridStyles = __assign(__assign({}, gridStyles), { overflowX: "scroll" });
|
|
57
|
+
return gridStyles;
|
|
58
|
+
};
|
|
59
|
+
var Cell = React.memo(function (_a) {
|
|
60
|
+
var data = _a.data, rowIndex = _a.rowIndex, style = _a.style;
|
|
61
|
+
var items = data.items, onRowClick = data.onRowClick, columns = data.columns, highlightFirstRow = data.highlightFirstRow, rowHeight = data.rowHeight;
|
|
62
|
+
var item = items[rowIndex];
|
|
63
|
+
return (_jsx(Div, __assign({ style: style }, { children: _jsx(TableRow, { columns: columns, onRowClick: onRowClick, highlightFirstRow: highlightFirstRow, h: rowHeight, row: item, indexI: rowIndex, isLast: rowIndex === items.length - 1, pRelative: true }) })));
|
|
64
|
+
}, areEqual);
|
|
65
|
+
export var TableView = React.memo(function (_a) {
|
|
46
66
|
var data = _a.data, columns = _a.columns, pageSize = _a.pageSize, _b = _a.onRowClick, onRowClick = _b === void 0 ? null : _b, _c = _a.sortBy, sortBy = _c === void 0 ? { field: null, direction: null } : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.highlightFirstRow, highlightFirstRow = _e === void 0 ? false : _e, _f = _a.setSortBy, setSortBy = _f === void 0 ? null : _f, _g = _a.rowWidth, rowWidth = _g === void 0 ? 1 : _g, onSectionRendered = _a.onSectionRendered, _h = _a.tableHeadersHeight, tableHeadersHeight = _h === void 0 ? defaultTableHeaderHeightPx : _h, _j = _a.rowHeight, rowHeight = _j === void 0 ? defaultTableRowHeightPx : _j, _k = _a.h, h = _k === void 0 ? 500 : _k, _l = _a.onTableScroll, onTableScroll = _l === void 0 ? null : _l, props = __rest(_a, ["data", "columns", "pageSize", "onRowClick", "sortBy", "isLoading", "highlightFirstRow", "setSortBy", "rowWidth", "onSectionRendered", "tableHeadersHeight", "rowHeight", "h", "onTableScroll"]);
|
|
47
|
-
var _m = useState(0), scrollLeft = _m[0], setScrollLeft = _m[1];
|
|
48
67
|
/*
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
68
|
+
multiply the rowWidth by 0.95 to let the user know they can scroll
|
|
69
|
+
horizontally (will display partial column on the right)
|
|
70
|
+
*/
|
|
52
71
|
var _rowWidth = rowWidth > 1 ? rowWidth * 0.95 : rowWidth;
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
rowWidth: _rowWidth,
|
|
56
|
-
scrollLeft: scrollLeft,
|
|
57
|
-
columns: columns,
|
|
58
|
-
sortBy: sortBy,
|
|
59
|
-
setSortBy: setSortBy,
|
|
60
|
-
}))) }));
|
|
72
|
+
var headerContainerRef = useRef();
|
|
73
|
+
var tableHeadersUI = data.length > 0 && (_jsx(TableHeaders, { id: tableHeaderId, containerRef: headerContainerRef, height: tableHeadersHeight, rowHeight: rowHeight, rowWidth: _rowWidth, scrollLeft: 0, columns: columns, sortBy: sortBy, setSortBy: setSortBy }));
|
|
61
74
|
var onScroll = function (_a) {
|
|
62
|
-
var scrollTop = _a.scrollTop,
|
|
63
|
-
|
|
64
|
-
|
|
75
|
+
var scrollTop = _a.scrollTop, scrollLeft = _a.scrollLeft;
|
|
76
|
+
if (headerContainerRef.current) {
|
|
77
|
+
headerContainerRef.current.scrollLeft = scrollLeft;
|
|
78
|
+
}
|
|
79
|
+
if (onTableScroll) {
|
|
65
80
|
onTableScroll(scrollTop);
|
|
81
|
+
}
|
|
66
82
|
};
|
|
67
|
-
var
|
|
68
|
-
var rowStartIndex = _a.
|
|
69
|
-
if (onSectionRendered)
|
|
83
|
+
var onItemsRendered = useCallback(function (_a) {
|
|
84
|
+
var rowStartIndex = _a.overscanRowStartIndex, rowStopIndex = _a.overscanRowStopIndex;
|
|
85
|
+
if (onSectionRendered) {
|
|
70
86
|
onSectionRendered({
|
|
71
87
|
rowStartIndex: rowStartIndex,
|
|
72
88
|
rowStopIndex: rowStopIndex,
|
|
73
89
|
data: data.slice(rowStartIndex, rowStopIndex + 1),
|
|
74
90
|
});
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
var rowIndex = _a.rowIndex, key = _a.key, style = _a.style;
|
|
78
|
-
return (_jsx(Div, __assign({ style: style }, { children: _jsx(TableRow, __assign({}, {
|
|
79
|
-
columns: columns,
|
|
80
|
-
onRowClick: onRowClick,
|
|
81
|
-
highlightFirstRow: highlightFirstRow,
|
|
82
|
-
}, { h: rowHeight, row: data[rowIndex], indexI: rowIndex, isLast: rowIndex === data.length - 1, pRelative: true })) }), key));
|
|
83
|
-
};
|
|
91
|
+
}
|
|
92
|
+
}, [data, onSectionRendered]);
|
|
84
93
|
var loadingUI = (_jsx(_Fragment, { children: isLoading && (_jsx(SpinnerWrapper, __assign({ pRelative: true }, { children: _jsx(Div, __assign({ w100: true, h100: true, centered: true, h: 400, pAbsolute: true }, { children: _jsx(Spinner, {}) })) }))) }));
|
|
85
|
-
var tableHeight = pageSize
|
|
94
|
+
var tableHeight = pageSize
|
|
95
|
+
? pageSize * rowHeight + tableHeadersHeight
|
|
96
|
+
: h;
|
|
97
|
+
var itemData = useMemo(function () { return ({
|
|
98
|
+
items: data,
|
|
99
|
+
onRowClick: onRowClick,
|
|
100
|
+
columns: columns,
|
|
101
|
+
highlightFirstRow: highlightFirstRow,
|
|
102
|
+
rowHeight: rowHeight,
|
|
103
|
+
}); }, [data, onRowClick, columns, highlightFirstRow, rowHeight]);
|
|
86
104
|
return (_jsxs(TableViewWrapper, __assign({}, { isLoading: isLoading }, { h: tableHeight }, props, { children: [tableHeadersUI, loadingUI, _jsx(AutoSizer, { children: function (_a) {
|
|
87
105
|
var width = _a.width, height = _a.height;
|
|
88
|
-
|
|
89
|
-
like backdrops with position fixed inside of the table working as
|
|
90
|
-
expected. Required for dropdowns in cells */
|
|
91
|
-
var gridStyles = {
|
|
92
|
-
outline: "none",
|
|
93
|
-
willChange: "unset",
|
|
94
|
-
};
|
|
95
|
-
if (_rowWidth === 1)
|
|
96
|
-
gridStyles = __assign(__assign({}, gridStyles), { overflowX: "hidden", overflowY: "auto" });
|
|
97
|
-
else if (_rowWidth > 1)
|
|
98
|
-
gridStyles = __assign(__assign({}, gridStyles), { overflowX: "scroll" });
|
|
99
|
-
return (_jsx(Grid, { scrollLeft: scrollLeft, style: gridStyles, width: width, columnCount: 1, onSectionRendered: _onSectionRendered, onScroll: onScroll, columnWidth: Math.floor(width * _rowWidth), height: height - tableHeadersHeight, rowHeight: rowHeight, cellRenderer: rowRenderer, rowCount: data.length }));
|
|
106
|
+
return (_jsx(Grid, __assign({ style: buildGridStyles(_rowWidth), width: width, columnCount: 1, itemData: itemData, onItemsRendered: onItemsRendered, onScroll: onScroll, columnWidth: Math.floor(width * _rowWidth), height: height - tableHeadersHeight, rowHeight: rowHeight, rowCount: data.length }, { children: Cell })));
|
|
100
107
|
} })] })));
|
|
101
|
-
};
|
|
108
|
+
}, areEqual);
|
|
102
109
|
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -8,6 +8,7 @@ export declare const TooltipContent: import("styled-components").StyledComponent
|
|
|
8
8
|
declare type TooltipProps = {
|
|
9
9
|
tooltip: JSX.Element | string;
|
|
10
10
|
placement?: Placement;
|
|
11
|
+
isDisabled?: boolean;
|
|
11
12
|
} & DivCSSProps;
|
|
12
13
|
export declare const TooltipProvider: React.FC<TooltipProps>;
|
|
13
14
|
export {};
|
|
@@ -31,11 +31,11 @@ import styled from "styled-components";
|
|
|
31
31
|
import { Div } from "../styled/utils";
|
|
32
32
|
export var TooltipContent = styled(Div)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n color: ", ";\n background: ", ";\n border-radius: 4px;\n padding: 10px;\n pointer-events: none;\n z-index: 1000;\n"], ["\n ", ";\n color: ", ";\n background: ", ";\n border-radius: 4px;\n padding: 10px;\n pointer-events: none;\n z-index: 1000;\n"])), function (p) { return p.theme.css.body4; }, function (p) { return p.theme.colors.white; }, function (p) { return p.theme.colors.black; });
|
|
33
33
|
export var TooltipProvider = function (_a) {
|
|
34
|
-
var tooltip = _a.tooltip, _b = _a.placement, placement = _b === void 0 ? "top-start" : _b,
|
|
35
|
-
var
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var
|
|
34
|
+
var tooltip = _a.tooltip, children = _a.children, _b = _a.placement, placement = _b === void 0 ? "top-start" : _b, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, props = __rest(_a, ["tooltip", "children", "placement", "isDisabled"]);
|
|
35
|
+
var _d = useState(false), isDisplayingTooltip = _d[0], setIsDisplayingTooltip = _d[1];
|
|
36
|
+
var _e = useState(null), referenceElement = _e[0], setReferenceElement = _e[1];
|
|
37
|
+
var _f = useState(null), popperElement = _f[0], setPopperElement = _f[1];
|
|
38
|
+
var _g = usePopper(referenceElement, popperElement, {
|
|
39
39
|
placement: placement,
|
|
40
40
|
modifiers: [
|
|
41
41
|
{
|
|
@@ -45,11 +45,11 @@ export var TooltipProvider = function (_a) {
|
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
],
|
|
48
|
-
}), styles =
|
|
48
|
+
}), styles = _g.styles, attributes = _g.attributes, update = _g.update;
|
|
49
49
|
useEffect(function () {
|
|
50
50
|
if (update)
|
|
51
51
|
update();
|
|
52
52
|
}, [isDisplayingTooltip]);
|
|
53
|
-
return (_jsxs(Div, __assign({ dim: "100%", ref: setReferenceElement, onMouseOver: function () { return setIsDisplayingTooltip(true); }, onMouseOut: function () { return setIsDisplayingTooltip(false); } }, props, { children: [children, isDisplayingTooltip && tooltip && (_jsx(TooltipContent, __assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { children: tooltip })))] })));
|
|
53
|
+
return (_jsxs(Div, __assign({ dim: "100%", ref: setReferenceElement, onMouseOver: function () { return isDisabled || setIsDisplayingTooltip(true); }, onMouseOut: function () { return isDisabled || setIsDisplayingTooltip(false); } }, props, { children: [children, isDisplayingTooltip && tooltip && (_jsx(TooltipContent, __assign({ ref: setPopperElement, style: styles.popper }, attributes.popper, { children: tooltip })))] })));
|
|
54
54
|
};
|
|
55
55
|
var templateObject_1;
|
|
@@ -51,10 +51,10 @@ export var ButtonWrapper = styled(Div)(templateObject_10 || (templateObject_10 =
|
|
|
51
51
|
export var ButtonElementWrapper = styled(HTMLButton)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), commonButtonStyle);
|
|
52
52
|
export var Button = function (_a) {
|
|
53
53
|
var _b = _a.onClick, onClick = _b === void 0 ? null : _b, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.variant, variant = _d === void 0 ? "primary" : _d, _e = _a.isSmall, isSmall = _e === void 0 ? false : _e, children = _a.children, _f = _a.isButtonElement, isButtonElement = _f === void 0 ? false : _f, props = __rest(_a, ["onClick", "isDisabled", "variant", "isSmall", "children", "isButtonElement"]);
|
|
54
|
-
return (_jsx(_Fragment, { children: isButtonElement ? (_jsx(ButtonElementWrapper, __assign({ w100: true, isSmall: isSmall, isDisabled: isDisabled, variant: variant, type: "submit" }, props, { children: children }))) : (_jsx(ButtonWrapper, __assign({ w100: true, isSmall: isSmall, onKeyDown: function (_a) {
|
|
54
|
+
return (_jsx(_Fragment, { children: isButtonElement ? (_jsx(ButtonElementWrapper, __assign({ w100: true, isSmall: isSmall, isDisabled: isDisabled, disabled: isDisabled, variant: variant, type: "submit" }, props, { children: children }))) : (_jsx(ButtonWrapper, __assign({ w100: true, isSmall: isSmall, onKeyDown: function (_a) {
|
|
55
55
|
var code = _a.code;
|
|
56
56
|
if (code === "Space" || (code === "Enter" && onClick))
|
|
57
57
|
onClick();
|
|
58
|
-
}, tabIndex: 0 }, __assign({ variant: variant, isDisabled: isDisabled, onClick: onClick }, props), { children: _jsx(_Fragment, { children: children }) }))) }));
|
|
58
|
+
}, tabIndex: 0 }, __assign({ variant: variant, isDisabled: isDisabled, onClick: onClick, disabled: isDisabled }, props), { children: _jsx(_Fragment, { children: children }) }))) }));
|
|
59
59
|
};
|
|
60
60
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
|
|
@@ -8,7 +8,7 @@ export declare const MenuItem: import("styled-components").StyledComponent<"div"
|
|
|
8
8
|
declare type LabelProps = {
|
|
9
9
|
isDisabled?: boolean;
|
|
10
10
|
};
|
|
11
|
-
export declare const FormInputLabel: import("styled-components").StyledComponent<"
|
|
11
|
+
export declare const FormInputLabel: import("styled-components").StyledComponent<"label", import("styled-components").DefaultTheme, CSSProps & LabelProps, never>;
|
|
12
12
|
export declare const InfoDivider: ({ msg }: {
|
|
13
13
|
msg: any;
|
|
14
14
|
}) => JSX.Element;
|
package/lib/esm/common/index.js
CHANGED
|
@@ -15,13 +15,13 @@ var __assign = (this && this.__assign) || function () {
|
|
|
15
15
|
};
|
|
16
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
import styled, { css } from "styled-components";
|
|
18
|
-
import { Div, themeProps } from "../styled/utils";
|
|
18
|
+
import { Div, themeProps, Label } from "../styled/utils";
|
|
19
19
|
import { colors } from "../styled/theme/colorPalette";
|
|
20
20
|
export var fuseImporterId = "fuse-importer-root";
|
|
21
21
|
export var MenuItem = styled(Div)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-radius: 8px;\n padding: 12px 16px;\n display: flex;\n align-items: center;\n background: ", ";\n color: ", ";\n ", "\n ", ";\n ", "\n :hover {\n background: ", ";\n cursor: pointer;\n }\n"], ["\n border-radius: 8px;\n padding: 12px 16px;\n display: flex;\n align-items: center;\n background: ", ";\n color: ", ";\n ", "\n ", ";\n ", "\n :hover {\n background: ", ";\n cursor: pointer;\n }\n"])), function (props) { return props.theme.colors.white; }, function (props) { return props.color || props.theme.colors.text; }, function (props) { return props.theme.css.body1; }, function (p) { return p.theme.css.selectNone; }, function (p) {
|
|
22
22
|
return p.isSelected && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (p) { return p.theme.colors.blue500; });
|
|
23
23
|
}, function (props) { return props.theme.colors.blue100; });
|
|
24
|
-
export var FormInputLabel = styled(
|
|
24
|
+
export var FormInputLabel = styled(Label)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n color: ", ";\n ", "\n display: block;\n"], ["\n ", ";\n color: ", ";\n ", "\n display: block;\n"])), function (props) { return props.theme.css.body4; }, function (props) { return props.theme.colors.text; }, function (props) {
|
|
25
25
|
return props.isDisabled && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), function (props) { return props.theme.colors.gray500; });
|
|
26
26
|
});
|
|
27
27
|
export var InfoDivider = function (_a) {
|