@vendorflow/components 2.0.95 → 2.0.97

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 (66) hide show
  1. package/lib/TempHooks.d.ts +9 -0
  2. package/lib/TempHooks.js +25 -0
  3. package/lib/components/InfiniteScroll/InfiniteScroll.d.ts +16 -0
  4. package/lib/components/InfiniteScroll/InfiniteScroll.js +159 -0
  5. package/lib/components/InfiniteScroll/index.d.ts +1 -0
  6. package/lib/components/InfiniteScroll/index.js +8 -0
  7. package/lib/components/blueprint/InputGroup/InputGroup.d.ts +20 -0
  8. package/lib/components/blueprint/InputGroup/InputGroup.js +13 -0
  9. package/lib/components/blueprint/InputGroup/InputGroup.story.d.ts +2 -0
  10. package/lib/components/blueprint/InputGroup/InputGroup.story.js +11 -0
  11. package/lib/components/blueprint/InputGroup/index.d.ts +1 -0
  12. package/lib/components/blueprint/InputGroup/index.js +4 -0
  13. package/lib/components/blueprint/InputSelect/InputSelect.d.ts +51 -0
  14. package/lib/components/blueprint/InputSelect/InputSelect.js +98 -0
  15. package/lib/components/blueprint/InputSelect/InputSelect.story.d.ts +3 -0
  16. package/lib/components/blueprint/InputSelect/InputSelect.story.js +19 -0
  17. package/lib/components/blueprint/InputSelect/index.d.ts +1 -0
  18. package/lib/components/blueprint/InputSelect/index.js +4 -0
  19. package/lib/components/blueprint/InputTime/InputTime.d.ts +24 -0
  20. package/lib/components/blueprint/InputTime/InputTime.js +28 -0
  21. package/lib/components/blueprint/InputTime/InputTime.story.d.ts +2 -0
  22. package/lib/components/blueprint/InputTime/InputTime.story.js +11 -0
  23. package/lib/components/blueprint/InputTime/index.d.ts +1 -0
  24. package/lib/components/blueprint/InputTime/index.js +4 -0
  25. package/lib/components/material-ui/ChatInterface/ActionsMenu.d.ts +4 -0
  26. package/lib/components/material-ui/ChatInterface/ActionsMenu.js +37 -0
  27. package/lib/components/material-ui/ChatInterface/ChatInterface.d.ts +33 -0
  28. package/lib/components/material-ui/ChatInterface/ChatInterface.js +109 -0
  29. package/lib/components/material-ui/ChatInterface/ChatInterface.story.d.ts +1 -0
  30. package/lib/components/material-ui/ChatInterface/ChatInterface.story.js +134 -0
  31. package/lib/components/material-ui/ChatInterface/MessageInput.d.ts +9 -0
  32. package/lib/components/material-ui/ChatInterface/MessageInput.js +53 -0
  33. package/lib/components/material-ui/ChatInterface/MessageItem.d.ts +8 -0
  34. package/lib/components/material-ui/ChatInterface/MessageItem.js +71 -0
  35. package/lib/components/material-ui/ChatInterface/MessageThread.d.ts +6 -0
  36. package/lib/components/material-ui/ChatInterface/MessageThread.js +119 -0
  37. package/lib/components/material-ui/ChatInterface/index.d.ts +1 -0
  38. package/lib/components/material-ui/ChatInterface/index.js +8 -0
  39. package/lib/components/material-ui/ColorPicker/styles.d.ts +1 -1
  40. package/lib/components/material-ui/DataTable/AppliedFilters.d.ts +12 -0
  41. package/lib/components/material-ui/DataTable/AppliedFilters.js +26 -0
  42. package/lib/components/material-ui/DataTable/GlobalSearchFilter.d.ts +10 -0
  43. package/lib/components/material-ui/DataTable/GlobalSearchFilter.js +49 -0
  44. package/lib/components/material-ui/DataTable/IndeterminateCheckbox.d.ts +4 -0
  45. package/lib/components/material-ui/DataTable/IndeterminateCheckbox.js +65 -0
  46. package/lib/components/material-ui/DataTable/SortIndicator.d.ts +10 -0
  47. package/lib/components/material-ui/DataTable/SortIndicator.js +33 -0
  48. package/lib/components/material-ui/DataTable/Toolbar.d.ts +24 -0
  49. package/lib/components/material-ui/DataTable/Toolbar.js +63 -0
  50. package/lib/components/material-ui/DataTable/Utils.d.ts +25 -0
  51. package/lib/components/material-ui/DataTable/Utils.js +119 -0
  52. package/lib/components/material-ui/DataTable/ViewColumnTool.d.ts +11 -0
  53. package/lib/components/material-ui/DataTable/ViewColumnTool.js +76 -0
  54. package/lib/components/material-ui/ErrorBoundary/ErrorBoundary.d.ts +7 -0
  55. package/lib/components/material-ui/ErrorBoundary/ErrorBoundary.js +20 -0
  56. package/lib/components/material-ui/ErrorBoundary/index.d.ts +1 -0
  57. package/lib/components/material-ui/ErrorBoundary/index.js +8 -0
  58. package/lib/components/material-ui/InputCheckboxGroup/InputCheckboxGroup.d.ts +1 -0
  59. package/lib/components/material-ui/InputCheckboxGroup/InputCheckboxGroup.js +3 -3
  60. package/lib/components/material-ui/InputRadioGroup/InputRadioGroup.d.ts +1 -0
  61. package/lib/components/material-ui/InputRadioGroup/InputRadioGroup.js +3 -3
  62. package/lib/components/material-ui/InputSearchDropdown/InputSearchDropdown.d.ts +2 -1
  63. package/lib/components/material-ui/InputSearchDropdown/InputSearchDropdown.js +2 -2
  64. package/lib/services/Select.service.d.ts +5 -0
  65. package/lib/services/Select.service.js +67 -0
  66. package/package.json +1 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __read = (this && this.__read) || function (o, n) {
7
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
8
+ if (!m) return o;
9
+ var i = m.call(o), r, ar = [], e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ }
13
+ catch (error) { e = { error: error }; }
14
+ finally {
15
+ try {
16
+ if (r && !r.done && (m = i["return"])) m.call(i);
17
+ }
18
+ finally { if (e) throw e.error; }
19
+ }
20
+ return ar;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ /** @jsxRuntime classic */
24
+ /** @jsx jsx */
25
+ var react_1 = require("@emotion/react");
26
+ var material_1 = require("@mui/material");
27
+ var icons_material_1 = require("@mui/icons-material");
28
+ var react_table_1 = require("react-table");
29
+ var react_2 = require("react");
30
+ function GlobalSearchFilter(_a) {
31
+ var globalFilter = _a.globalFilter, setGlobalFilter = _a.setGlobalFilter, setShowSearch = _a.setShowSearch;
32
+ var _b = __read((0, react_2.useState)(globalFilter), 2), value = _b[0], setValue = _b[1];
33
+ var onChange = (0, react_table_1.useAsyncDebounce)(function (value) {
34
+ setGlobalFilter(value || undefined);
35
+ }, 300);
36
+ return ((0, react_1.jsx)("div", { css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n max-width: 100%;\n min-width: 20rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n "], ["\n max-width: 100%;\n min-width: 20rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n "]))), "data-testid": "globalSearchFilter" },
37
+ (0, react_1.jsx)(icons_material_1.Search, null),
38
+ (0, react_1.jsx)(material_1.TextField, { value: value || '', onChange: function (evt) {
39
+ setValue(evt.target.value);
40
+ onChange(evt.target.value);
41
+ }, fullWidth: true, variant: "standard", autoFocus: true }),
42
+ (0, react_1.jsx)(material_1.IconButton, { onClick: function () {
43
+ setGlobalFilter(null);
44
+ setShowSearch(false);
45
+ } },
46
+ (0, react_1.jsx)(icons_material_1.Close, null))));
47
+ }
48
+ exports.default = GlobalSearchFilter;
49
+ var templateObject_1;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const CHECKBOX_WIDTH = 32;
3
+ declare const IndeterminateCheckbox: import("react").ForwardRefExoticComponent<HTMLInputElement & import("react").RefAttributes<HTMLInputElement>>;
4
+ export default IndeterminateCheckbox;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __rest = (this && this.__rest) || function (s, e) {
18
+ var t = {};
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
20
+ t[p] = s[p];
21
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
22
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
24
+ t[p[i]] = s[p[i]];
25
+ }
26
+ return t;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.CHECKBOX_WIDTH = void 0;
30
+ /** @jsxRuntime classic */
31
+ /** @jsx jsx */
32
+ var react_1 = require("@emotion/react");
33
+ var react_2 = require("react");
34
+ var material_1 = require("@mui/material");
35
+ exports.CHECKBOX_WIDTH = 32;
36
+ // eslint-disable-next-line react/display-name
37
+ var IndeterminateCheckbox = (0, react_2.forwardRef)(function (_a, ref) {
38
+ var indeterminate = _a.indeterminate, restOfProps = __rest(_a, ["indeterminate"]);
39
+ var resolvedRef = useForwardedRef(ref);
40
+ (0, react_2.useEffect)(function () {
41
+ if (resolvedRef.current) {
42
+ resolvedRef.current.indeterminate = indeterminate;
43
+ }
44
+ }, [resolvedRef, indeterminate]);
45
+ return ((0, react_1.jsx)(react_2.Fragment, null,
46
+ (0, react_1.jsx)(material_1.Checkbox, __assign({ css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n "], ["\n width: ", "px;\n height: ", "px;\n "])), exports.CHECKBOX_WIDTH, exports.CHECKBOX_WIDTH),
47
+ //@ts-ignore
48
+ ref: resolvedRef }, restOfProps, { indeterminate: indeterminate }))));
49
+ });
50
+ exports.default = IndeterminateCheckbox;
51
+ function useForwardedRef(ref) {
52
+ var innerRef = (0, react_2.useRef)(null);
53
+ (0, react_2.useEffect)(function () {
54
+ if (!ref)
55
+ return;
56
+ if (typeof ref === 'function') {
57
+ ref(innerRef.current);
58
+ }
59
+ else {
60
+ ref.current = innerRef.current;
61
+ }
62
+ }, []);
63
+ return innerRef;
64
+ }
65
+ var templateObject_1;
@@ -0,0 +1,10 @@
1
+ /** @jsxRuntime classic */
2
+ /** @jsx jsx */
3
+ import { jsx } from '@emotion/react';
4
+ interface Props {
5
+ canSort?: boolean;
6
+ isSorted?: boolean;
7
+ isSortedDesc?: boolean;
8
+ }
9
+ export default function SortIndicator({ canSort, isSorted, isSortedDesc }: Props): jsx.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ /** @jsxRuntime classic */
8
+ /** @jsx jsx */
9
+ var react_1 = require("@emotion/react");
10
+ var icons_material_1 = require("@mui/icons-material");
11
+ var iconStyle = (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-left: 0.25rem;\n color: #b2b2b2;\n line-height: 0;\n\n && {\n font-size: 1rem;\n }\n"], ["\n margin-left: 0.25rem;\n color: #b2b2b2;\n line-height: 0;\n\n && {\n font-size: 1rem;\n }\n"])));
12
+ var smallIconStyle = (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n && {\n font-size: 0.75rem;\n }\n"], ["\n ", ";\n && {\n font-size: 0.75rem;\n }\n"])), iconStyle);
13
+ var wrapperStyle = (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n line-height: 0;\n flex: none;\n"], ["\n line-height: 0;\n flex: none;\n"])));
14
+ var stackedWrapperStyle = (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n flex: none;\n display: inline-flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"], ["\n ", ";\n flex: none;\n display: inline-flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])), wrapperStyle);
15
+ function SortIndicator(_a) {
16
+ var canSort = _a.canSort, isSorted = _a.isSorted, isSortedDesc = _a.isSortedDesc;
17
+ if (!canSort) {
18
+ return null;
19
+ }
20
+ if (!isSorted) {
21
+ return ((0, react_1.jsx)("span", { css: stackedWrapperStyle },
22
+ (0, react_1.jsx)(icons_material_1.ArrowUpward, { css: smallIconStyle }),
23
+ (0, react_1.jsx)(icons_material_1.ArrowDownward, { css: smallIconStyle })));
24
+ }
25
+ if (isSortedDesc) {
26
+ return ((0, react_1.jsx)("span", { css: wrapperStyle },
27
+ (0, react_1.jsx)(icons_material_1.ArrowDownward, { css: iconStyle })));
28
+ }
29
+ return ((0, react_1.jsx)("span", { css: wrapperStyle },
30
+ (0, react_1.jsx)(icons_material_1.ArrowUpward, { css: iconStyle })));
31
+ }
32
+ exports.default = SortIndicator;
33
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -0,0 +1,24 @@
1
+ /** @jsxRuntime classic */
2
+ /** @jsx jsx */
3
+ import { jsx } from '@emotion/react';
4
+ import { ReactNode } from 'react';
5
+ import { SimpleMap } from '../../../types/Internal.types';
6
+ import { EnhancedHeader } from './DataTable';
7
+ import { UseFiltersInstanceProps } from 'react-table';
8
+ interface Props<D extends object> {
9
+ title?: string;
10
+ allColumns: EnhancedHeader<D>[];
11
+ columnNameById: SimpleMap<string>;
12
+ enableFilters?: boolean;
13
+ enableGlobalSearch?: boolean;
14
+ enableHideColumns?: boolean;
15
+ hasRowsSelected: boolean;
16
+ numRowsSelected: number;
17
+ globalFilter: string;
18
+ renderActions?: () => ReactNode;
19
+ renderRowSelectActions?: () => ReactNode;
20
+ setAllFilters: UseFiltersInstanceProps<D>['setAllFilters'];
21
+ setGlobalFilter: (filterValue: any) => void | Promise<void>;
22
+ }
23
+ export default function Toolbar<D extends object>({ title, allColumns, columnNameById, enableFilters, enableGlobalSearch, enableHideColumns, hasRowsSelected, numRowsSelected, globalFilter, renderActions, renderRowSelectActions, setAllFilters, setGlobalFilter, }: Props<D>): jsx.JSX.Element;
24
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __read = (this && this.__read) || function (o, n) {
7
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
8
+ if (!m) return o;
9
+ var i = m.call(o), r, ar = [], e;
10
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ }
13
+ catch (error) { e = { error: error }; }
14
+ finally {
15
+ try {
16
+ if (r && !r.done && (m = i["return"])) m.call(i);
17
+ }
18
+ finally { if (e) throw e.error; }
19
+ }
20
+ return ar;
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ /** @jsxRuntime classic */
27
+ /** @jsx jsx */
28
+ var react_1 = require("@emotion/react");
29
+ var material_1 = require("@mui/material");
30
+ var ViewColumnTool_1 = __importDefault(require("./ViewColumnTool"));
31
+ var icons_material_1 = require("@mui/icons-material");
32
+ var react_2 = require("react");
33
+ var GlobalSearchFilter_1 = __importDefault(require("./GlobalSearchFilter"));
34
+ var FilterTool_1 = __importDefault(require("./FilterTool"));
35
+ function Toolbar(_a) {
36
+ var title = _a.title, allColumns = _a.allColumns, columnNameById = _a.columnNameById, enableFilters = _a.enableFilters, enableGlobalSearch = _a.enableGlobalSearch, enableHideColumns = _a.enableHideColumns, hasRowsSelected = _a.hasRowsSelected, numRowsSelected = _a.numRowsSelected, globalFilter = _a.globalFilter, renderActions = _a.renderActions, renderRowSelectActions = _a.renderRowSelectActions, setAllFilters = _a.setAllFilters, setGlobalFilter = _a.setGlobalFilter;
37
+ var _b = __read((0, react_2.useState)(false), 2), showSearch = _b[0], setShowSearch = _b[1];
38
+ return ((0, react_1.jsx)(material_1.Toolbar, { sx: hasRowsSelected ? { backgroundColor: function (theme) { return (0, material_1.lighten)(theme.palette.primary.light, 0.85); } } : undefined }, hasRowsSelected ? ((0, react_1.jsx)(material_1.Grid, { container: true, spacing: 2 },
39
+ (0, react_1.jsx)(material_1.Grid, { item: true, sm: 6 },
40
+ (0, react_1.jsx)(material_1.Stack, { height: "100%", direction: "row", alignContent: "center" },
41
+ (0, react_1.jsx)(material_1.Typography, { css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: 1.125rem;\n margin-top: 4px;\n "], ["\n font-size: 1.125rem;\n margin-top: 4px;\n "]))) },
42
+ numRowsSelected,
43
+ " selected"))),
44
+ (0, react_1.jsx)(material_1.Grid, { item: true, sm: 6 },
45
+ (0, react_1.jsx)(material_1.Stack, { direction: "row", justifyContent: "flex-end", css: (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: 100%;\n "], ["\n width: 100%;\n "]))) }, renderRowSelectActions && renderRowSelectActions())))) : ((0, react_1.jsx)(material_1.Grid, { container: true, spacing: 2 },
46
+ (0, react_1.jsx)(material_1.Grid, { item: true, sm: 6 },
47
+ (0, react_1.jsx)(material_1.Stack, { direction: "row" }, enableGlobalSearch && showSearch ? ((0, react_1.jsx)(GlobalSearchFilter_1.default, { globalFilter: globalFilter, setGlobalFilter: setGlobalFilter, setShowSearch: setShowSearch })) : ((0, react_1.jsx)(material_1.Typography, { css: (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-size: 1.125rem;\n margin-top: 6px;\n "], ["\n font-size: 1.125rem;\n margin-top: 6px;\n "]))) }, title || '')))),
48
+ (0, react_1.jsx)(material_1.Grid, { item: true, sm: 6 },
49
+ (0, react_1.jsx)(material_1.Stack, { direction: "row", justifyContent: "flex-end", css: (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 100%;\n "], ["\n width: 100%;\n "]))) },
50
+ enableGlobalSearch && ((0, react_1.jsx)(material_1.Tooltip, { title: "Search" },
51
+ (0, react_1.jsx)(material_1.IconButton, { onClick: function () {
52
+ if (showSearch) {
53
+ setGlobalFilter(null);
54
+ }
55
+ setShowSearch(!showSearch);
56
+ } },
57
+ (0, react_1.jsx)(icons_material_1.Search, null)))),
58
+ enableHideColumns && (0, react_1.jsx)(ViewColumnTool_1.default, { allColumns: allColumns, columnNameById: columnNameById }),
59
+ enableFilters && ((0, react_1.jsx)(FilterTool_1.default, { allColumns: allColumns, columnNameById: columnNameById, setAllFilters: setAllFilters })),
60
+ renderActions && renderActions()))))));
61
+ }
62
+ exports.default = Toolbar;
63
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import short from 'short-uuid';
3
+ import { EnhancedRow } from './DataTable';
4
+ /**
5
+ * This custom hook is designed to replace the `<CellMeasurer />` component in `react-virtualized`
6
+ * in `react-window`
7
+ *
8
+ * This hook returns props to be given to the `<VariableSizeList />` component in `react-window`
9
+ *
10
+ * `items` are react elements
11
+ */
12
+ export default function useCellMeasurer({ items, renderItem, }: {
13
+ items: any[];
14
+ renderItem: (item: EnhancedRow<any>) => JSX.Element;
15
+ }): {
16
+ innerRef: import("react").RefObject<HTMLDivElement>;
17
+ itemSize: (index: any) => number;
18
+ itemCount: number;
19
+ key: short.SUUID;
20
+ style: {
21
+ visibility?: undefined;
22
+ } | {
23
+ visibility: string;
24
+ };
25
+ };
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __importDefault = (this && this.__importDefault) || function (mod) {
19
+ return (mod && mod.__esModule) ? mod : { "default": mod };
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ var react_1 = require("react");
23
+ var short_uuid_1 = __importDefault(require("short-uuid"));
24
+ var server_1 = require("react-dom/server");
25
+ var resize_observer_polyfill_1 = __importDefault(require("resize-observer-polyfill"));
26
+ /**
27
+ * This custom hook is designed to replace the `<CellMeasurer />` component in `react-virtualized`
28
+ * in `react-window`
29
+ *
30
+ * This hook returns props to be given to the `<VariableSizeList />` component in `react-window`
31
+ *
32
+ * `items` are react elements
33
+ */
34
+ function useCellMeasurer(_a) {
35
+ var items = _a.items, renderItem = _a.renderItem;
36
+ // create a ref to get the `div` element the `VariableSizeList` uses
37
+ var innerRef = (0, react_1.useRef)(null);
38
+ // create a unique ID for this cell measurer instance
39
+ var id = (0, react_1.useMemo)(function () { return short_uuid_1.default.generate(); }, []);
40
+ // create a "hidden sizing element" in state.
41
+ //
42
+ // when the innerRef element mounts, the width of the innerRef will be used for width of
43
+ // the hidden sizing element
44
+ var _b = __read((0, react_1.useState)(null), 2), hiddenSizingEl = _b[0], setHiddenSizingEl = _b[1];
45
+ // this width is used to determine whether the list needs to be re-rendered due to a resize
46
+ var _c = __read((0, react_1.useState)(0), 2), width = _c[0], setWidth = _c[1];
47
+ // `itemSize` is a function required by `VariableSizeList`. This function is called when it needs
48
+ // to get the height of the item inside it.
49
+ // note: the result of this function is memoized by `react-window` so it will only be called once
50
+ // to get the item size
51
+ var itemSize = (0, react_1.useCallback)(function (index) {
52
+ if (!hiddenSizingEl)
53
+ return 0;
54
+ // get the item (which is a react node)
55
+ var item = items[index];
56
+ // then render the react node to a string synchronously with `react-dom/server`
57
+ hiddenSizingEl.innerHTML = (0, server_1.renderToString)(renderItem(item));
58
+ // get and return the size of the hidden sizing element
59
+ return hiddenSizingEl.clientHeight || 0;
60
+ }, [hiddenSizingEl, items]);
61
+ // this effects adds the hidden sizing element to the DOM
62
+ (0, react_1.useEffect)(function () {
63
+ /** @type {HTMLElement} */
64
+ var innerEl = innerRef.current;
65
+ if (!innerEl)
66
+ return;
67
+ if (hiddenSizingEl)
68
+ return;
69
+ var newHiddenSizingEl = document.createElement('div');
70
+ var width = innerEl.clientWidth;
71
+ newHiddenSizingEl.classList.add("hidden-sizing-element-" + id);
72
+ newHiddenSizingEl.style.position = 'absolute';
73
+ newHiddenSizingEl.style.top = '0';
74
+ newHiddenSizingEl.style.width = width + "px";
75
+ newHiddenSizingEl.style.pointerEvents = 'none';
76
+ newHiddenSizingEl.style.visibility = 'hidden';
77
+ setHiddenSizingEl(newHiddenSizingEl);
78
+ document.body.appendChild(newHiddenSizingEl);
79
+ }, [hiddenSizingEl, id]);
80
+ // this removes all hidden sizing elements on unmount
81
+ (0, react_1.useEffect)(function () {
82
+ // returning a function from `useEffect` is the "clean-up" phase
83
+ return function () {
84
+ var hiddenSizingElement = document.querySelector(".hidden-sizing-element-" + id);
85
+ if (hiddenSizingElement) {
86
+ document.body.removeChild(hiddenSizingElement);
87
+ }
88
+ };
89
+ }, [id]);
90
+ // this is used to watch for changes in the size of the list element and sets the width
91
+ (0, react_1.useEffect)(function () {
92
+ var el = innerRef.current;
93
+ if (!el)
94
+ return;
95
+ function handleResize() {
96
+ var width = ((el === null || el === void 0 ? void 0 : el.getBoundingClientRect()) || { width: 0 }).width;
97
+ setWidth(width);
98
+ }
99
+ var resizeObserver = new resize_observer_polyfill_1.default(handleResize);
100
+ resizeObserver.observe(el);
101
+ return function () { return resizeObserver.disconnect(); };
102
+ }, []);
103
+ // this key is used to re-render the list when the dependencies array changes
104
+ var key = (0, react_1.useMemo)(function () { return short_uuid_1.default.generate(); }, [itemSize, hiddenSizingEl, width]);
105
+ // while there is no hidden sizing element, hide the list element
106
+ var style = hiddenSizingEl
107
+ ? {}
108
+ : {
109
+ visibility: 'hidden',
110
+ };
111
+ return {
112
+ innerRef: innerRef,
113
+ itemSize: itemSize,
114
+ itemCount: items.length,
115
+ key: key,
116
+ style: style,
117
+ };
118
+ }
119
+ exports.default = useCellMeasurer;
@@ -0,0 +1,11 @@
1
+ /** @jsxRuntime classic */
2
+ /** @jsx jsx */
3
+ import { jsx } from '@emotion/react';
4
+ import { ColumnInstance } from 'react-table';
5
+ import { SimpleMap } from '../../../types/Internal.types';
6
+ interface Props<D extends object> {
7
+ allColumns: ColumnInstance<D>[];
8
+ columnNameById: SimpleMap<string>;
9
+ }
10
+ export default function ViewColumnTool<D extends object>({ allColumns, columnNameById }: Props<D>): jsx.JSX.Element;
11
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __read = (this && this.__read) || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o), r, ar = [], e;
21
+ try {
22
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
+ }
24
+ catch (error) { e = { error: error }; }
25
+ finally {
26
+ try {
27
+ if (r && !r.done && (m = i["return"])) m.call(i);
28
+ }
29
+ finally { if (e) throw e.error; }
30
+ }
31
+ return ar;
32
+ };
33
+ var __importDefault = (this && this.__importDefault) || function (mod) {
34
+ return (mod && mod.__esModule) ? mod : { "default": mod };
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ /** @jsxRuntime classic */
38
+ /** @jsx jsx */
39
+ var react_1 = require("@emotion/react");
40
+ var react_2 = require("react");
41
+ var material_1 = require("@mui/material");
42
+ var icons_material_1 = require("@mui/icons-material");
43
+ var nanoid_1 = require("nanoid");
44
+ var IndeterminateCheckbox_1 = __importDefault(require("./IndeterminateCheckbox"));
45
+ function ViewColumnTool(_a) {
46
+ var allColumns = _a.allColumns, columnNameById = _a.columnNameById;
47
+ var id = (0, react_2.useMemo)(function () { return (0, nanoid_1.nanoid)(); }, []);
48
+ var _b = __read((0, react_2.useState)(null), 2), anchorEl = _b[0], setAnchorEl = _b[1];
49
+ var open = !!anchorEl;
50
+ function handleClick(evt) {
51
+ setAnchorEl(evt.currentTarget);
52
+ }
53
+ function handleClose() {
54
+ setAnchorEl(null);
55
+ }
56
+ return ((0, react_1.jsx)(react_2.Fragment, null,
57
+ (0, react_1.jsx)(material_1.Tooltip, { title: "Show Columns" },
58
+ (0, react_1.jsx)(material_1.IconButton, { "aria-describedby": id, onClick: handleClick },
59
+ (0, react_1.jsx)(icons_material_1.ViewColumn, null))),
60
+ (0, react_1.jsx)(material_1.Popover, { id: id, open: open, anchorEl: anchorEl, onClose: handleClose, anchorOrigin: { vertical: 'bottom', horizontal: 'center' } },
61
+ (0, react_1.jsx)("div", { css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 0.5rem;\n "], ["\n padding: 0.5rem;\n "]))) },
62
+ (0, react_1.jsx)("div", { css: (0, react_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n "], ["\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n "]))) },
63
+ (0, react_1.jsx)(material_1.Typography, { css: (0, react_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-size: 14px;\n color: rgba(0, 0, 0, 0.54);\n "], ["\n font-size: 14px;\n color: rgba(0, 0, 0, 0.54);\n "]))) }, "Show Columns"),
64
+ (0, react_1.jsx)(material_1.Tooltip, { title: "Close" },
65
+ (0, react_1.jsx)(material_1.IconButton, { onClick: handleClose },
66
+ (0, react_1.jsx)(icons_material_1.Close, null)))),
67
+ (0, react_1.jsx)("div", { css: (0, react_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n "], ["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n "]))) }, allColumns
68
+ .filter(function (column) { return column.id !== 'custom'; })
69
+ .map(function (column) {
70
+ return ((0, react_1.jsx)(material_1.FormControlLabel, { key: column.id, label: columnNameById[column.id],
71
+ // @ts-ignore
72
+ control: (0, react_1.jsx)(IndeterminateCheckbox_1.default, __assign({}, column.getToggleHiddenProps())) }));
73
+ }))))));
74
+ }
75
+ exports.default = ViewColumnTool;
76
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -0,0 +1,7 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ import { ReactNode } from 'react';
4
+ export default function ErrorBoundary({ children, onReset, }: {
5
+ children: ReactNode;
6
+ onReset: (...args: Array<unknown>) => void | Promise<void>;
7
+ }): jsx.JSX.Element;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ /** @jsx jsx */
8
+ var react_1 = require("@emotion/react");
9
+ var material_1 = require("@mui/material");
10
+ var react_error_boundary_1 = require("react-error-boundary");
11
+ function ErrorFallback(_a) {
12
+ var resetErrorBoundary = _a.resetErrorBoundary;
13
+ return ((0, react_1.jsx)(material_1.Alert, { css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n "], ["\n width: 100%;\n "]))), severity: "error", action: (0, react_1.jsx)(material_1.Button, { color: "inherit", size: "small", onClick: resetErrorBoundary }, "Reload") }, "Something went wrong when trying to load this view's data. Please try to reload the data again."));
14
+ }
15
+ function ErrorBoundary(_a) {
16
+ var children = _a.children, onReset = _a.onReset;
17
+ return ((0, react_1.jsx)(react_error_boundary_1.ErrorBoundary, { FallbackComponent: ErrorFallback, onReset: onReset }, children));
18
+ }
19
+ exports.default = ErrorBoundary;
20
+ var templateObject_1;
@@ -0,0 +1 @@
1
+ export { default } from './ErrorBoundary';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = void 0;
7
+ var ErrorBoundary_1 = require("./ErrorBoundary");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(ErrorBoundary_1).default; } });
@@ -12,6 +12,7 @@ interface Props {
12
12
  options: BasicOption[];
13
13
  values: string[];
14
14
  multi?: boolean;
15
+ size?: 'small' | 'medium';
15
16
  }
16
17
  export default function InputCheckboxGroup(props: Props): JSX.Element;
17
18
  export {};
@@ -43,8 +43,8 @@ var immer_1 = __importDefault(require("immer"));
43
43
  var lodash_1 = require("lodash");
44
44
  var material_1 = require("@mui/material");
45
45
  function InputCheckboxGroup(props) {
46
- var className = props.className, style = props.style, _a = props.color, color = _a === void 0 ? 'primary' : _a, disabled = props.disabled, error = props.error, helperText = props.helperText, label = props.label, name = props.name, onChange = props.onChange, options = props.options, _b = props.multi, multi = _b === void 0 ? true : _b;
47
- var _c = __read((0, react_1.useState)({}), 2), values = _c[0], setValues = _c[1];
46
+ var className = props.className, style = props.style, _a = props.color, color = _a === void 0 ? 'primary' : _a, disabled = props.disabled, error = props.error, helperText = props.helperText, label = props.label, name = props.name, onChange = props.onChange, options = props.options, _b = props.multi, multi = _b === void 0 ? true : _b, _c = props.size, size = _c === void 0 ? 'small' : _c;
47
+ var _d = __read((0, react_1.useState)({}), 2), values = _d[0], setValues = _d[1];
48
48
  (0, react_1.useEffect)(function () {
49
49
  var newValues = {};
50
50
  options.forEach(function (_a) {
@@ -88,7 +88,7 @@ function InputCheckboxGroup(props) {
88
88
  function renderOptions() {
89
89
  return options.map(function (_a) {
90
90
  var label = _a.label, value = _a.value;
91
- return (react_1.default.createElement(material_1.FormControlLabel, { key: label, label: label, control: react_1.default.createElement(material_1.Checkbox, { color: color, disabled: disabled, onChange: handleOnChange, checked: values[value] || false, name: label }) }));
91
+ return (react_1.default.createElement(material_1.FormControlLabel, { key: label, label: label, control: react_1.default.createElement(material_1.Checkbox, { color: color, disabled: disabled, onChange: handleOnChange, checked: values[value] || false, name: label, size: size }) }));
92
92
  });
93
93
  }
94
94
  return (react_1.default.createElement(material_1.FormControl, { className: className, style: style, component: "fieldset", error: error },
@@ -12,6 +12,7 @@ interface Props {
12
12
  options: BasicOption[];
13
13
  value: string | null;
14
14
  row?: boolean;
15
+ size?: 'small' | 'medium';
15
16
  }
16
17
  export default function InputRadioGroup(props: Props): JSX.Element;
17
18
  export {};
@@ -60,8 +60,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
60
60
  var react_1 = __importStar(require("react"));
61
61
  var material_1 = require("@mui/material");
62
62
  function InputRadioGroup(props) {
63
- var _a = props.color, color = _a === void 0 ? 'primary' : _a, disabled = props.disabled, error = props.error, helperText = props.helperText, label = props.label, name = props.name, onChange = props.onChange, options = props.options, _b = props.row, row = _b === void 0 ? false : _b, restOfProps = __rest(props, ["color", "disabled", "error", "helperText", "label", "name", "onChange", "options", "row"]);
64
- var _c = __read((0, react_1.useState)(null), 2), value = _c[0], setValue = _c[1];
63
+ var _a = props.color, color = _a === void 0 ? 'primary' : _a, disabled = props.disabled, error = props.error, helperText = props.helperText, label = props.label, name = props.name, onChange = props.onChange, options = props.options, _b = props.row, row = _b === void 0 ? false : _b, _c = props.size, size = _c === void 0 ? 'small' : _c, restOfProps = __rest(props, ["color", "disabled", "error", "helperText", "label", "name", "onChange", "options", "row", "size"]);
64
+ var _d = __read((0, react_1.useState)(null), 2), value = _d[0], setValue = _d[1];
65
65
  (0, react_1.useEffect)(function () {
66
66
  if (props.value !== value) {
67
67
  setValue(props.value);
@@ -72,7 +72,7 @@ function InputRadioGroup(props) {
72
72
  onChange({ target: { name: name, value: value } });
73
73
  }
74
74
  function renderOptions() {
75
- return options.map(function (option) { return (react_1.default.createElement(material_1.FormControlLabel, { key: option.label, value: option.value, label: option.label, control: react_1.default.createElement(material_1.Radio, { color: color, disabled: disabled }) })); });
75
+ return options.map(function (option) { return (react_1.default.createElement(material_1.FormControlLabel, { key: option.label, value: option.value, label: option.label, control: react_1.default.createElement(material_1.Radio, { size: size, color: color, disabled: disabled }) })); });
76
76
  }
77
77
  return (react_1.default.createElement(material_1.FormControl, __assign({ component: "fieldset", error: error }, restOfProps),
78
78
  react_1.default.createElement(material_1.FormLabel, { component: "legend" }, label),
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, ReactNode } from 'react';
1
+ import { ChangeEvent, ReactNode, Ref } from 'react';
2
2
  import { AutocompleteProps, AutocompleteChangeReason, AutocompleteRenderInputParams } from '@mui/material';
3
3
  import { Variant } from '../../../types';
4
4
  declare type MaybeBoolean = boolean | undefined;
@@ -17,6 +17,7 @@ declare type Props<T> = {
17
17
  count?: number;
18
18
  onChange: (event: ChangeEvent<any>, value: any, reason: AutocompleteChangeReason) => void;
19
19
  getKey?: (value: T) => string;
20
+ mRef?: Ref<HTMLElement>;
20
21
  } & Omit<AutocompleteProps<T, MaybeBoolean, MaybeBoolean, MaybeBoolean, any>, 'onChange' | 'renderInput' | 'id'>;
21
22
  export default function InputSearchDropdown<T>(props: Props<T>): JSX.Element;
22
23
  export {};