@bluemarble/bm-components 0.0.50 → 0.0.52

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 (43) hide show
  1. package/dist/esm/index.js +131 -117
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/esm/types/components/Autocomplete/index.d.ts +3 -3
  4. package/dist/esm/types/components/BaseGrid/Pagination/index.d.ts +1 -1
  5. package/dist/esm/types/components/BaseGrid/index.d.ts +4 -4
  6. package/dist/esm/types/components/Checkbox/index.d.ts +3 -3
  7. package/dist/esm/types/components/Dialog/index.d.ts +16 -0
  8. package/dist/esm/types/components/EditableGrid/GridCell.d.ts +3 -3
  9. package/dist/esm/types/components/EditableGrid/GridInput/index.d.ts +4 -4
  10. package/dist/esm/types/components/EditableGrid/GridInputAutocomplete/index.d.ts +1 -1
  11. package/dist/esm/types/components/EditableGrid/GridInputText/index.d.ts +2 -2
  12. package/dist/esm/types/components/EditableGrid/GridSelect/index.d.ts +1 -1
  13. package/dist/esm/types/components/EditableGrid/NewRow/index.d.ts +2 -2
  14. package/dist/esm/types/components/EditableGrid/index.d.ts +7 -7
  15. package/dist/esm/types/components/Grid/AutoCreatedRows.d.ts +2 -2
  16. package/dist/esm/types/components/Grid/EditableTableCell/DefaultInput.d.ts +3 -3
  17. package/dist/esm/types/components/Grid/EditableTableCell/InputMask.d.ts +3 -3
  18. package/dist/esm/types/components/Grid/EditableTableCell/index.d.ts +2 -2
  19. package/dist/esm/types/components/Grid/Filters.d.ts +1 -1
  20. package/dist/esm/types/components/Grid/Grid.d.ts +3 -3
  21. package/dist/esm/types/components/Grid/Header.d.ts +3 -3
  22. package/dist/esm/types/components/Grid/Td.d.ts +2 -2
  23. package/dist/esm/types/components/Grid/Tr.d.ts +3 -3
  24. package/dist/esm/types/components/Grid/index.d.ts +6 -6
  25. package/dist/esm/types/components/Grid/utils.d.ts +1 -1
  26. package/dist/esm/types/components/Input/index.d.ts +2 -2
  27. package/dist/esm/types/components/InputMask/index.d.ts +2 -2
  28. package/dist/esm/types/components/LargeButton/index.d.ts +2 -2
  29. package/dist/esm/types/components/Modal/index.d.ts +1 -1
  30. package/dist/esm/types/components/Radio/index.d.ts +3 -3
  31. package/dist/esm/types/components/Select/index.d.ts +3 -3
  32. package/dist/esm/types/components/Switch/index.d.ts +3 -3
  33. package/dist/esm/types/components/TabPanel/index.d.ts +2 -2
  34. package/dist/esm/types/components/hooks/useEditableGrid.d.ts +1 -1
  35. package/dist/esm/types/components/hooks/useFilter.d.ts +1 -1
  36. package/dist/esm/types/components/hooks/useGrid.d.ts +12 -11
  37. package/dist/esm/types/components/index.d.ts +18 -17
  38. package/dist/esm/types/components/utils/DateFormat.d.ts +269 -0
  39. package/dist/esm/types/components/utils/GetInputLabel.d.ts +1 -1
  40. package/dist/esm/types/components/utils/RouteHelper.d.ts +13 -0
  41. package/dist/esm/types/index.d.ts +1 -1
  42. package/dist/index.d.ts +36 -21
  43. package/package.json +2 -1
package/dist/esm/index.js CHANGED
@@ -1,37 +1,37 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { memo, useState, useRef, useMemo, useEffect, useCallback } from 'react';
3
- import { TableHead, TableRow, TableCell, TableSortLabel, Chip, Tooltip, IconButton, Paper, LinearProgress, TableContainer, Table, TableBody, TablePagination, Popover, Box as Box$2, Typography, Autocomplete as Autocomplete$1, TextField, Button, FormControl, Select as Select$1, InputLabel, FormControlLabel, Checkbox as Checkbox$1, Switch as Switch$1, FormLabel, RadioGroup, Radio as Radio$1, CircularProgress, Stack, MenuItem, Modal as Modal$1 } from '@mui/material';
3
+ import { TableHead, TableRow, TableCell, TableSortLabel, Chip, Tooltip, IconButton, Paper, LinearProgress, TableContainer, Table, TableBody, TablePagination, Popover, Box as Box$2, Typography, Autocomplete as Autocomplete$1, TextField, Button, FormControl, Select as Select$1, InputLabel, FormControlLabel, Checkbox as Checkbox$1, Switch as Switch$1, FormLabel, RadioGroup, Radio as Radio$1, CircularProgress, Stack, MenuItem, Modal as Modal$1, Dialog as Dialog$1, DialogTitle, DialogContentText, DialogActions } from '@mui/material';
4
4
  import emStyled from '@emotion/styled';
5
5
  import '@emotion/react';
6
6
  import { Field, useField } from 'formik';
7
7
 
8
- const GridHeader = ({ setOrder, setOrderBy, order, orderBy, titles = [], }) => {
8
+ const GridHeader = ({ setOrder, setOrderBy, order, orderBy, titles = [] }) => {
9
9
  function onRequestSort(title) {
10
10
  if (title !== orderBy) {
11
11
  setOrderBy(title);
12
- return setOrder("desc");
12
+ return setOrder('desc');
13
13
  }
14
14
  switch (order) {
15
- case "desc":
16
- setOrder("asc");
15
+ case 'desc':
16
+ setOrder('asc');
17
17
  setOrderBy(title);
18
18
  break;
19
- case "asc":
19
+ case 'asc':
20
20
  setOrder(undefined);
21
- setOrderBy("");
21
+ setOrderBy('');
22
22
  break;
23
23
  default:
24
- setOrder("desc");
24
+ setOrder('desc');
25
25
  setOrderBy(title);
26
26
  break;
27
27
  }
28
28
  }
29
29
  return (React__default.createElement(TableHead, null,
30
- React__default.createElement(TableRow, { sx: { backgroundColor: "background.default" } }, titles.map((title) => {
31
- return (React__default.createElement(TableCell, { key: title.name, sortDirection: orderBy === title.name ? order : false, sx: Object.assign({ fontWeight: "bold" }, title.sx) },
32
- React__default.createElement(TableSortLabel, { onClick: () => onRequestSort(title.name), active: orderBy === title.name, direction: orderBy === title.name ? order : "asc", sx: {
33
- position: "relative",
34
- svg: { position: "absolute", right: "27px" },
30
+ React__default.createElement(TableRow, { sx: { backgroundColor: 'background.default' } }, titles.map((title) => {
31
+ return (React__default.createElement(TableCell, { key: title.name, sortDirection: orderBy === title.name ? order : false, sx: Object.assign({ fontWeight: 'bold' }, title.sx) },
32
+ React__default.createElement(TableSortLabel, { onClick: () => onRequestSort(title.name), active: orderBy === title.name, direction: orderBy === title.name ? order : 'asc', sx: {
33
+ position: 'relative',
34
+ svg: { position: 'absolute', right: '27px' }
35
35
  } }, title.label)));
36
36
  }))));
37
37
  };
@@ -3773,24 +3773,24 @@ function MdSearch (props) {
3773
3773
  return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"fill":"none","d":"M0 0h24v24H0z"}},{"tag":"path","attr":{"d":"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}]})(props);
3774
3774
  }
3775
3775
 
3776
- const FiltersBar = ({ customButtons, selectedFilters, handleCloseFilter, noFilterButtons, searchAnchorEl, setOpenSearch, setAnchorEl, noFilters, }) => {
3776
+ const FiltersBar = ({ customButtons, selectedFilters, handleCloseFilter, noFilterButtons, searchAnchorEl, setOpenSearch, setAnchorEl, noFilters }) => {
3777
3777
  return (React__default.createElement(Box$1, { sx: {
3778
- display: "flex",
3779
- justifyContent: "space-between",
3780
- alignItems: "center",
3781
- width: "100%",
3778
+ display: 'flex',
3779
+ justifyContent: 'space-between',
3780
+ alignItems: 'center',
3781
+ width: '100%'
3782
3782
  } },
3783
3783
  !noFilters && (React__default.createElement(Box$1, { sx: { pl: 1 } }, selectedFilters.map((item, index) => {
3784
3784
  return (React__default.createElement(Chip, { key: index, label: item.value, onDelete: () => handleCloseFilter(item) }));
3785
3785
  }))),
3786
- React__default.createElement(Box$1, { ref: searchAnchorEl, sx: { minHeight: 30, width: "100%" } },
3786
+ React__default.createElement(Box$1, { ref: searchAnchorEl, sx: { minHeight: 30, width: '100%' } },
3787
3787
  customButtons,
3788
3788
  !noFilterButtons && (React__default.createElement(React__default.Fragment, null,
3789
3789
  React__default.createElement(Tooltip, { title: "Buscar" },
3790
3790
  React__default.createElement(IconButton, { onClick: () => setOpenSearch(true) },
3791
3791
  React__default.createElement(MdSearch, { size: 8 * 3 }))),
3792
3792
  React__default.createElement(Tooltip, { title: "Filtrar" },
3793
- React__default.createElement(IconButton, { sx: { position: "relative" }, onClick: ({ currentTarget }) => setAnchorEl(currentTarget) },
3793
+ React__default.createElement(IconButton, { sx: { position: 'relative' }, onClick: ({ currentTarget }) => setAnchorEl(currentTarget) },
3794
3794
  React__default.createElement(MdFilterList, { size: 8 * 3 }))))))));
3795
3795
  };
3796
3796
 
@@ -3816,7 +3816,7 @@ function getPropertyValue(obj, property) {
3816
3816
  return String(property.split('.').reduce((o, k) => o && o[k], obj));
3817
3817
  }
3818
3818
 
3819
- /*! *****************************************************************************
3819
+ /******************************************************************************
3820
3820
  Copyright (c) Microsoft Corporation.
3821
3821
 
3822
3822
  Permission to use, copy, modify, and/or distribute this software for any
@@ -3851,13 +3851,13 @@ const Td = memo(CustomTableCell);
3851
3851
 
3852
3852
  const CustomTableRow = (props) => {
3853
3853
  const { children, sx, striped = true, bordered = undefined } = props, rest = __rest(props, ["children", "sx", "striped", "bordered"]);
3854
- return (React__default.createElement(TableRow, Object.assign({ sx: Object.assign({ "&:nth-of-type(even)": { bgcolor: striped ? "action.selected" : "" } }, sx) }, rest), React__default.Children.map(children, (child) => React__default.cloneElement(child, {
3855
- bordered,
3854
+ return (React__default.createElement(TableRow, Object.assign({ sx: Object.assign({ '&:nth-of-type(even)': { bgcolor: striped ? 'action.selected' : '' } }, sx) }, rest), React__default.Children.map(children, (child) => React__default.cloneElement(child, {
3855
+ bordered
3856
3856
  }))));
3857
3857
  };
3858
3858
  const Tr = memo(CustomTableRow);
3859
3859
 
3860
- const AutoCreatedRows = ({ tableData, columns, primaryKey, }) => {
3860
+ const AutoCreatedRows = ({ tableData, columns, primaryKey }) => {
3861
3861
  return (React__default.createElement(React__default.Fragment, null, tableData.map((row) => (React__default.createElement(Tr, { key: row[primaryKey] }, columns.map((column) => {
3862
3862
  const cellValue = column.transformer
3863
3863
  ? column.transformer(row[column.name])
@@ -3867,16 +3867,16 @@ const AutoCreatedRows = ({ tableData, columns, primaryKey, }) => {
3867
3867
  };
3868
3868
 
3869
3869
  const Grid = (props) => {
3870
- const { columnTitles, isLoading, footer, noFilterButtons = false, selectedFilters, customButtons, setSelectedFilters, defaultData, setTableData, updateFilters, tableData, rowOptions = [60, 100, 150], noPagination, primaryKey, noFilters, } = props;
3870
+ const { columnTitles, isLoading, footer, noFilterButtons = false, selectedFilters, customButtons, setSelectedFilters, defaultData, setTableData, updateFilters, tableData, rowOptions = [60, 100, 150], noPagination, primaryKey, noFilters } = props;
3871
3871
  const [order, setOrder] = useState(undefined);
3872
- const [orderBy, setOrderBy] = useState("");
3872
+ const [orderBy, setOrderBy] = useState('');
3873
3873
  const [page, setPage] = useState(0);
3874
3874
  const [rowsPerPage, setRowsPerPage] = useState(rowOptions[0]);
3875
3875
  const [selectedTitle, setSelectedTitle] = useState(undefined);
3876
3876
  const [selectedFilterValue, setSelectedFilterValue] = useState(undefined);
3877
3877
  const [valuesToFilter, setValuesToFilter] = useState([]);
3878
3878
  const [anchorEl, setAnchorEl] = useState(null);
3879
- const [searchText, setSearchText] = useState("");
3879
+ const [searchText, setSearchText] = useState('');
3880
3880
  const [openSearch, setOpenSearch] = useState(false);
3881
3881
  const searchAnchorEl = useRef(null);
3882
3882
  const countRows = useMemo(() => {
@@ -3888,7 +3888,7 @@ const Grid = (props) => {
3888
3888
  return defaultData.length;
3889
3889
  }
3890
3890
  }, [searchText, tableData]);
3891
- const handleChangeRowsPerPage = ({ target, }) => {
3891
+ const handleChangeRowsPerPage = ({ target }) => {
3892
3892
  setRowsPerPage(parseInt(target.value));
3893
3893
  const maxPage = Math.floor(countRows / rowsPerPage);
3894
3894
  if (page > maxPage)
@@ -3903,14 +3903,14 @@ const Grid = (props) => {
3903
3903
  const y = b[orderBy];
3904
3904
  return x < y ? -1 : x > y ? 1 : 0;
3905
3905
  });
3906
- return order === "asc" ? sortable : sortable.reverse();
3906
+ return order === 'asc' ? sortable : sortable.reverse();
3907
3907
  }
3908
3908
  function handleAddFilter() {
3909
3909
  const [column] = columnTitles.filter((item) => item.label === selectedTitle);
3910
3910
  const newFilter = {
3911
3911
  column: column.name,
3912
- value: selectedFilterValue || "",
3913
- transformer: column.transformer,
3912
+ value: selectedFilterValue || '',
3913
+ transformer: column.transformer
3914
3914
  };
3915
3915
  const filterAlreadyExists = selectedFilters.some((filter) => filter.column === column.name && filter.value === selectedFilterValue);
3916
3916
  if (filterAlreadyExists)
@@ -4017,45 +4017,45 @@ const Grid = (props) => {
4017
4017
  setPage(newPage);
4018
4018
  }, onRowsPerPageChange: handleChangeRowsPerPage })),
4019
4019
  React__default.createElement(Popover, { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), anchorOrigin: {
4020
- vertical: "top",
4021
- horizontal: "right",
4020
+ vertical: 'top',
4021
+ horizontal: 'right'
4022
4022
  }, transformOrigin: {
4023
- vertical: "top",
4024
- horizontal: "right",
4023
+ vertical: 'top',
4024
+ horizontal: 'right'
4025
4025
  } },
4026
4026
  React__default.createElement(Box$2, { sx: { minWidth: 300, padding: 2 } },
4027
4027
  React__default.createElement(Typography, { fontWeight: "bold", variant: "body2" }, "Filtrar por:"),
4028
- React__default.createElement(Autocomplete$1, { value: selectedTitle || "", onChange: ({ target }) => {
4029
- !target.innerHTML.includes("path")
4028
+ React__default.createElement(Autocomplete$1, { value: selectedTitle || '', onChange: ({ target }) => {
4029
+ !target.innerHTML.includes('path')
4030
4030
  ? setSelectedTitle(target.innerHTML)
4031
4031
  : setSelectedTitle(undefined);
4032
4032
  }, options: columnTitles.map((title) => title.label), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Coluna" }))) }),
4033
- React__default.createElement(Autocomplete$1, { value: selectedFilterValue || "", onChange: ({ target }) => {
4034
- !target.innerHTML.includes("path")
4033
+ React__default.createElement(Autocomplete$1, { value: selectedFilterValue || '', onChange: ({ target }) => {
4034
+ !target.innerHTML.includes('path')
4035
4035
  ? setSelectedFilterValue(target.innerHTML)
4036
4036
  : setSelectedFilterValue(undefined);
4037
4037
  }, disabled: valuesToFilter.length < 1, options: valuesToFilter.map((title) => title), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Valor" }))) }),
4038
4038
  React__default.createElement(Box$2, { sx: { py: 1 } }),
4039
4039
  React__default.createElement(Button, { disabled: !selectedFilterValue, onClick: handleAddFilter, fullWidth: true }, "Adicionar filtro"))),
4040
4040
  React__default.createElement(Popover, { anchorEl: searchAnchorEl.current, open: openSearch, onClose: () => setOpenSearch(false), anchorOrigin: {
4041
- vertical: "top",
4042
- horizontal: "left",
4041
+ vertical: 'top',
4042
+ horizontal: 'left'
4043
4043
  }, transformOrigin: {
4044
- vertical: "top",
4045
- horizontal: "left",
4044
+ vertical: 'top',
4045
+ horizontal: 'left'
4046
4046
  } },
4047
4047
  React__default.createElement(Box$2, { sx: {
4048
4048
  minWidth: 300,
4049
4049
  px: 2,
4050
4050
  pb: 1,
4051
- display: "grid",
4052
- gridTemplateColumns: "1fr 30px",
4053
- alignItems: "flex-end",
4051
+ display: 'grid',
4052
+ gridTemplateColumns: '1fr 30px',
4053
+ alignItems: 'flex-end'
4054
4054
  } },
4055
4055
  React__default.createElement(TextField, { variant: "standard", margin: "dense", label: "Buscar", value: searchText, onChange: ({ currentTarget }) => setSearchText(currentTarget.value) }),
4056
4056
  React__default.createElement(Box$2, null,
4057
4057
  React__default.createElement(IconButton, { onClick: () => {
4058
- setSearchText("");
4058
+ setSearchText('');
4059
4059
  setOpenSearch(false);
4060
4060
  } },
4061
4061
  React__default.createElement(MdClose, { size: 8 * 3 })))))));
@@ -9746,15 +9746,15 @@ var moment = moment$1.exports;
9746
9746
 
9747
9747
  const DefaultInput = (allProps) => {
9748
9748
  var _a;
9749
- const { TextFieldProps, onSave, name, onUpdateValue, rowData, type = "text", fullWidth = true, isEditing, formatInputDefautvalue, setIsEditing, handleCancelEditing, } = allProps;
9749
+ const { TextFieldProps, onSave, name, onUpdateValue, rowData, type = 'text', fullWidth = true, isEditing, formatInputDefautvalue, setIsEditing, handleCancelEditing } = allProps;
9750
9750
  const formatDefaultValue = (value) => {
9751
9751
  if (formatInputDefautvalue)
9752
9752
  return formatInputDefautvalue(value);
9753
9753
  switch (type) {
9754
- case "date":
9755
- return moment(value).format("YYYY-MM-DD");
9756
- case "datetime-local":
9757
- return moment(value).format("YYYY-MM-DDTHH:mm:ss");
9754
+ case 'date':
9755
+ return moment(value).format('YYYY-MM-DD');
9756
+ case 'datetime-local':
9757
+ return moment(value).format('YYYY-MM-DDTHH:mm:ss');
9758
9758
  default:
9759
9759
  return String(value);
9760
9760
  }
@@ -9767,22 +9767,22 @@ const DefaultInput = (allProps) => {
9767
9767
  name,
9768
9768
  event,
9769
9769
  value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
9770
- data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value }),
9770
+ data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
9771
9771
  };
9772
9772
  onSave(response);
9773
9773
  };
9774
9774
  const onKeyDown = (ev) => {
9775
- if (ev.code === "Enter")
9775
+ if (ev.code === 'Enter')
9776
9776
  handleSave(ev);
9777
- if (ev.code === "Escape")
9777
+ if (ev.code === 'Escape')
9778
9778
  handleCancelEditing();
9779
9779
  };
9780
- return (React__default.createElement(TextField, Object.assign({ name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, type: type, size: "small", defaultValue: formatDefaultValue(rowData === null || rowData === void 0 ? void 0 : rowData[name]), sx: Object.assign({ width: fullWidth ? "100%" : "intial" }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
9780
+ return (React__default.createElement(TextField, Object.assign({ name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, type: type, size: "small", defaultValue: formatDefaultValue(rowData === null || rowData === void 0 ? void 0 : rowData[name]), sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
9781
9781
  style: {
9782
9782
  paddingBottom: 6,
9783
- paddingTop: 6,
9783
+ paddingTop: 6
9784
9784
  },
9785
- onKeyDown,
9785
+ onKeyDown
9786
9786
  }, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
9787
9787
  };
9788
9788
 
@@ -14713,7 +14713,7 @@ function useIMask(opts) {
14713
14713
 
14714
14714
  const InputMask$1 = (allProps) => {
14715
14715
  var _a;
14716
- const { TextFieldProps, onSave, name, rowData, mask, fullWidth = true, isEditing, handleCancelEditing, setIsEditing, } = allProps;
14716
+ const { TextFieldProps, onSave, name, rowData, mask, fullWidth = true, isEditing, handleCancelEditing, setIsEditing } = allProps;
14717
14717
  const { ref, unmaskedValue, setValue } = useIMask(mask);
14718
14718
  const handleSave = (event) => {
14719
14719
  var _a, _b, _c;
@@ -14724,26 +14724,26 @@ const InputMask$1 = (allProps) => {
14724
14724
  event,
14725
14725
  value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
14726
14726
  unmaskedValue,
14727
- data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value }),
14727
+ data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
14728
14728
  };
14729
14729
  onSave(response);
14730
14730
  };
14731
14731
  const onKeyDown = (ev) => {
14732
- if (ev.code === "Enter")
14732
+ if (ev.code === 'Enter')
14733
14733
  handleSave(ev);
14734
- if (ev.code === "Escape")
14734
+ if (ev.code === 'Escape')
14735
14735
  handleCancelEditing();
14736
14736
  };
14737
14737
  useEffect(() => {
14738
14738
  if (rowData === null || rowData === void 0 ? void 0 : rowData[name])
14739
14739
  setValue(String(rowData === null || rowData === void 0 ? void 0 : rowData[name]));
14740
14740
  }, [rowData === null || rowData === void 0 ? void 0 : rowData[name]]);
14741
- return (React__default.createElement(TextField, Object.assign({ inputRef: ref, name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, size: "small", sx: Object.assign({ width: fullWidth ? "100%" : "intial" }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
14741
+ return (React__default.createElement(TextField, Object.assign({ inputRef: ref, name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, size: "small", sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
14742
14742
  style: {
14743
14743
  paddingBottom: 6,
14744
- paddingTop: 6,
14744
+ paddingTop: 6
14745
14745
  },
14746
- onKeyDown,
14746
+ onKeyDown
14747
14747
  }, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
14748
14748
  };
14749
14749
 
@@ -14756,7 +14756,7 @@ const EditableTableCell = (allProps) => {
14756
14756
  if (onCancel)
14757
14757
  onCancel();
14758
14758
  };
14759
- return (React__default.createElement(TableCell, Object.assign({}, props, { sx: Object.assign(Object.assign({}, props.sx), { p: isEditing ? 0 : "intial", border: bordered ? "1px solid" : "initial", borderColor: "divider" }), onDoubleClick: () => setIsEditing(true) }), isEditing ? (React__default.createElement(React__default.Fragment, null, mask ? (React__default.createElement(InputMask$1, { mask: mask, isEditing: isEditing, setIsEditing: setIsEditing, name: name, rowData: rowData, onSave: (props) => {
14759
+ return (React__default.createElement(TableCell, Object.assign({}, props, { sx: Object.assign(Object.assign({}, props.sx), { p: isEditing ? 0 : 'intial', border: bordered ? '1px solid' : 'initial', borderColor: 'divider' }), onDoubleClick: () => setIsEditing(true) }), isEditing ? (React__default.createElement(React__default.Fragment, null, mask ? (React__default.createElement(InputMask$1, { mask: mask, isEditing: isEditing, setIsEditing: setIsEditing, name: name, rowData: rowData, onSave: (props) => {
14760
14760
  setValue(props.value);
14761
14761
  onSave(props);
14762
14762
  }, handleCancelEditing: handleCancelEditing, formatInputDefautvalue: formatInputDefautvalue })) : (React__default.createElement(DefaultInput, { onUpdateValue: (newValue) => {
@@ -14836,7 +14836,7 @@ const BaseSelect = (_a) => {
14836
14836
  return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
14837
14837
  React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
14838
14838
  React__default.createElement(Select$1, Object.assign({ name: name, inputProps: {
14839
- name,
14839
+ name
14840
14840
  }, label: label }, rest), children)));
14841
14841
  };
14842
14842
  const FormikSelect = (_a) => {
@@ -14848,7 +14848,7 @@ const FormikSelect = (_a) => {
14848
14848
  return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
14849
14849
  React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
14850
14850
  React__default.createElement(Select$1, Object.assign({ inputProps: {
14851
- name,
14851
+ name
14852
14852
  }, label: label }, rest, field, { defaultValue: value, onChange: onChange }), children)));
14853
14853
  };
14854
14854
 
@@ -14866,7 +14866,7 @@ function BaseInput(props) {
14866
14866
  function FormikAutocomplete(_a) {
14867
14867
  var { getOptionValue, option } = _a, props = __rest(_a, ["getOptionValue", "option"]);
14868
14868
  const [_b, , { setValue }] = useField({
14869
- name: props.name,
14869
+ name: props.name
14870
14870
  }), { value: defaultValue } = _b, field = __rest(_b, ["value"]);
14871
14871
  const defaultOption = useMemo(() => {
14872
14872
  const key = option === null || option === void 0 ? void 0 : option.key;
@@ -14891,7 +14891,7 @@ function FormikAutocomplete(_a) {
14891
14891
  return props.getOptionLabel(item);
14892
14892
  else if (option === null || option === void 0 ? void 0 : option.label)
14893
14893
  return String(item[option.label]);
14894
- return "[getOptionLabel] error";
14894
+ return '[getOptionLabel] error';
14895
14895
  };
14896
14896
  const isOptionEqualToValue = (a, b) => {
14897
14897
  const key = option === null || option === void 0 ? void 0 : option.key;
@@ -14918,7 +14918,7 @@ const BaseCheckbox = (_a) => {
14918
14918
  const FormikCheckbox = (_a) => {
14919
14919
  var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
14920
14920
  const [_b, , { setValue }] = useField({
14921
- name,
14921
+ name
14922
14922
  }), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
14923
14923
  const onChange = (_, value) => {
14924
14924
  setValue(value);
@@ -14940,7 +14940,7 @@ const BaseSwitch = (_a) => {
14940
14940
  const FormikSwitch = (_a) => {
14941
14941
  var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
14942
14942
  const [_b, , { setValue }] = useField({
14943
- name,
14943
+ name
14944
14944
  }), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
14945
14945
  const onChange = (_, value) => {
14946
14946
  setValue(value);
@@ -14973,13 +14973,13 @@ const FormikRadio = (_a) => {
14973
14973
 
14974
14974
  const LargeButton = (_a) => {
14975
14975
  var { loading, children, CircularProgressProps, sx } = _a, rest = __rest(_a, ["loading", "children", "CircularProgressProps", "sx"]);
14976
- return (React__default.createElement(Button, Object.assign({ variant: "contained", fullWidth: true, sx: Object.assign({ color: "#fff", fontWeight: "bold" }, sx), disabled: rest.disabled || loading }, rest), loading ? (React__default.createElement(CircularProgress, Object.assign({ size: 25, color: "inherit" }, CircularProgressProps))) : (children)));
14976
+ return (React__default.createElement(Button, Object.assign({ variant: "contained", fullWidth: true, sx: Object.assign({ color: '#fff', fontWeight: 'bold' }, sx), disabled: rest.disabled || loading }, rest), loading ? (React__default.createElement(CircularProgress, Object.assign({ size: 25, color: "inherit" }, CircularProgressProps))) : (children)));
14977
14977
  };
14978
14978
 
14979
14979
  function getTabProps(index) {
14980
14980
  return {
14981
14981
  id: `tab-${index}`,
14982
- "aria-controls": `tabpanel-${index}`,
14982
+ 'aria-controls': `tabpanel-${index}`
14983
14983
  };
14984
14984
  }
14985
14985
  const TabPanel = (props) => {
@@ -14987,11 +14987,11 @@ const TabPanel = (props) => {
14987
14987
  return (React__default.createElement("div", Object.assign({ role: "tabpanel", hidden: value !== index, id: `tabpanel-${index}`, "aria-labelledby": `tab-${index}` }, other), value === index && React__default.createElement(React__default.Fragment, null, children)));
14988
14988
  };
14989
14989
 
14990
- const GridPagination = ({ currentPage, totalNumberOfPages, onPageChange, rowsPerPageOptions, setRowsPerPage, rowsPerPage, dense, }) => {
14990
+ const GridPagination = ({ currentPage, totalNumberOfPages, onPageChange, rowsPerPageOptions, setRowsPerPage, rowsPerPage, dense }) => {
14991
14991
  return (React__default.createElement(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "100%", py: dense ? 0.5 : 1 },
14992
14992
  React__default.createElement(Box$2, null),
14993
14993
  React__default.createElement(Stack, { direction: "row", alignItems: "center" },
14994
- React__default.createElement(Select$1, { variant: "standard", size: "small", margin: "dense", sx: { width: 60, mr: 2, textAlign: "center", fontSize: 13 }, value: rowsPerPage, onChange: ({ target }) => setRowsPerPage(parseInt(target.value)) }, rowsPerPageOptions.map((option) => (React__default.createElement(MenuItem, { key: option, value: option }, option)))),
14994
+ React__default.createElement(Select$1, { variant: "standard", size: "small", margin: "dense", sx: { width: 60, mr: 2, textAlign: 'center', fontSize: 13 }, value: rowsPerPage, onChange: ({ target }) => setRowsPerPage(parseInt(target.value)) }, rowsPerPageOptions.map((option) => (React__default.createElement(MenuItem, { key: option, value: option }, option)))),
14995
14995
  React__default.createElement(Typography, { variant: "body2" },
14996
14996
  currentPage + 1,
14997
14997
  " de ",
@@ -15002,19 +15002,19 @@ const GridPagination = ({ currentPage, totalNumberOfPages, onPageChange, rowsPer
15002
15002
  React__default.createElement(MdArrowForwardIos, { size: 8 * 2 })))));
15003
15003
  };
15004
15004
 
15005
- function BaseGrid({ columns, children, fixedColumns, paperProps, tableBodyProps, tableHeadProps, tableProps, sortedDirection, sortedBy, onSortBy, dense = true, striped, bordered, currentPage, totalNumberOfPages, onPageChange, rowsPerPage, setRowsPerPage, rowsPerPageOptions, }) {
15006
- return (React__default.createElement(Paper, Object.assign({}, paperProps, { sx: Object.assign({ "tr td": {
15005
+ function BaseGrid({ columns, children, fixedColumns, paperProps, tableBodyProps, tableHeadProps, tableProps, sortedDirection, sortedBy, onSortBy, dense = true, striped, bordered, currentPage, totalNumberOfPages, onPageChange, rowsPerPage, setRowsPerPage, rowsPerPageOptions }) {
15006
+ return (React__default.createElement(Paper, Object.assign({}, paperProps, { sx: Object.assign({ 'tr td': {
15007
15007
  py: dense ? 0.23 : 0.7,
15008
- border: bordered ? "1px solid" : "",
15009
- borderColor: "divider",
15010
- }, "tr:nth-of-type(even)": {
15011
- transition: "background-color ease 200ms",
15012
- bgcolor: striped ? "divider" : "initial",
15013
- }, width: fixedColumns ? "fit-content" : "100" }, paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx) }),
15008
+ border: bordered ? '1px solid' : '',
15009
+ borderColor: 'divider'
15010
+ }, 'tr:nth-of-type(even)': {
15011
+ transition: 'background-color ease 200ms',
15012
+ bgcolor: striped ? 'divider' : 'initial'
15013
+ }, width: fixedColumns ? 'fit-content' : '100' }, paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx) }),
15014
15014
  React__default.createElement(Table, Object.assign({ size: "small", stickyHeader: true }, tableProps, { sx: Object.assign({}, tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) }),
15015
15015
  React__default.createElement(TableHead, Object.assign({}, tableHeadProps),
15016
- React__default.createElement(TableRow, null, columns.map((column) => (React__default.createElement(TableCell, { key: column.name, padding: dense ? "none" : "normal", sx: Object.assign({ pl: 2 }, column === null || column === void 0 ? void 0 : column.sx) },
15017
- React__default.createElement(TableSortLabel, { active: sortedBy === column.name, direction: sortedDirection, onClick: () => onSortBy(column.name), disabled: column.canSort === false, sx: { position: "relative", right: "-9px" } }, column.label)))))),
15016
+ React__default.createElement(TableRow, null, columns.map((column) => (React__default.createElement(TableCell, { key: column.name, padding: dense ? 'none' : 'normal', sx: Object.assign({ pl: 2 }, column === null || column === void 0 ? void 0 : column.sx) },
15017
+ React__default.createElement(TableSortLabel, { active: sortedBy === column.name, direction: sortedDirection, onClick: () => onSortBy(column.name), disabled: column.canSort === false, sx: { position: 'relative', right: '-9px' } }, column.label)))))),
15018
15018
  React__default.createElement(TableBody, Object.assign({}, tableBodyProps), children)),
15019
15019
  React__default.createElement(GridPagination, { rowsPerPageOptions: rowsPerPageOptions, currentPage: currentPage, totalNumberOfPages: totalNumberOfPages, onPageChange: onPageChange, setRowsPerPage: setRowsPerPage, rowsPerPage: rowsPerPage, dense: dense })));
15020
15020
  }
@@ -15022,13 +15022,13 @@ function BaseGrid({ columns, children, fixedColumns, paperProps, tableBodyProps,
15022
15022
  function useFilter() {
15023
15023
  const [selectedFilters, setSelectedFilters] = useState([]);
15024
15024
  const filterBy = (newFilter) => {
15025
- const propToCompare = newFilter.id ? "id" : "prop";
15025
+ const propToCompare = newFilter.id ? 'id' : 'prop';
15026
15026
  function removeRepeatedFilters(filter) {
15027
15027
  return filter[propToCompare] !== newFilter[propToCompare];
15028
15028
  }
15029
15029
  setSelectedFilters((filters) => [
15030
15030
  ...filters.filter(removeRepeatedFilters),
15031
- newFilter,
15031
+ newFilter
15032
15032
  ]);
15033
15033
  };
15034
15034
  const removeFilter = (prop) => {
@@ -15042,37 +15042,37 @@ function useFilter() {
15042
15042
  filterBy,
15043
15043
  removeFilter,
15044
15044
  createFilter,
15045
- clearAllFilters,
15045
+ clearAllFilters
15046
15046
  };
15047
15047
  }
15048
15048
  function getObjectValue(obj) {
15049
- return (prop) => prop.split(".").reduce((o, k) => o[k], obj);
15049
+ return (prop) => prop.split('.').reduce((o, k) => o[k], obj);
15050
15050
  }
15051
15051
  function isDate(date) {
15052
15052
  if (date instanceof Date)
15053
15053
  return true;
15054
- else if (String(date).endsWith("Z"))
15054
+ else if (String(date).endsWith('Z'))
15055
15055
  return true;
15056
15056
  return false;
15057
15057
  }
15058
15058
  function compareFilter(item, filter) {
15059
15059
  const itemValue = getObjectValue(item)(filter.prop);
15060
15060
  switch (filter.compareType) {
15061
- case "equal":
15061
+ case 'equal':
15062
15062
  return itemValue === filter.value;
15063
- case "gte":
15063
+ case 'gte':
15064
15064
  return isDate(itemValue)
15065
15065
  ? moment(String(itemValue)).isSameOrAfter(filter.value)
15066
15066
  : itemValue >= filter.value;
15067
- case "gt":
15067
+ case 'gt':
15068
15068
  return isDate(itemValue)
15069
15069
  ? moment(String(itemValue)).isAfter(filter.value)
15070
15070
  : itemValue > filter.value;
15071
- case "lte":
15071
+ case 'lte':
15072
15072
  return isDate(itemValue)
15073
15073
  ? moment(String(itemValue)).isSameOrBefore(filter.value)
15074
15074
  : itemValue <= filter.value;
15075
- case "lt":
15075
+ case 'lt':
15076
15076
  return isDate(itemValue)
15077
15077
  ? moment(String(itemValue)).isBefore(filter.value)
15078
15078
  : itemValue < filter.value;
@@ -15089,35 +15089,35 @@ function createFilter(filters) {
15089
15089
  return satisfiedFilters === filters.length;
15090
15090
  }
15091
15091
  return {
15092
- apply,
15092
+ apply
15093
15093
  };
15094
15094
  }
15095
15095
 
15096
- function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100], }) {
15096
+ function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100] }) {
15097
15097
  const [defaultData, setDefaultData] = useState([]);
15098
- const [sortedBy, setSortedBy] = useState("");
15099
- const [sortedDirection, setSortedDirection] = useState("desc");
15098
+ const [sortedBy, setSortedBy] = useState('');
15099
+ const [sortedDirection, setSortedDirection] = useState('desc');
15100
15100
  const [currentPage, setCurrentPage] = useState(0);
15101
15101
  const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageOptions[0]);
15102
15102
  const toggleSortedDirection = () => {
15103
- if (sortedDirection === "desc")
15104
- setSortedDirection("asc");
15105
- if (sortedDirection === "asc")
15106
- setSortedDirection("desc");
15103
+ if (sortedDirection === 'desc')
15104
+ setSortedDirection('asc');
15105
+ if (sortedDirection === 'asc')
15106
+ setSortedDirection('desc');
15107
15107
  };
15108
15108
  const onSortBy = (prop) => {
15109
15109
  if (!prop)
15110
15110
  return;
15111
15111
  if (prop === sortedBy) {
15112
- if (sortedDirection === "asc") {
15112
+ if (sortedDirection === 'asc') {
15113
15113
  toggleSortedDirection();
15114
- setSortedBy("");
15114
+ setSortedBy('');
15115
15115
  }
15116
15116
  else
15117
15117
  toggleSortedDirection();
15118
15118
  }
15119
15119
  else {
15120
- setSortedDirection("desc");
15120
+ setSortedDirection('desc');
15121
15121
  setSortedBy(prop);
15122
15122
  }
15123
15123
  };
@@ -15128,7 +15128,7 @@ function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100], })
15128
15128
  if (sortedBy) {
15129
15129
  return data.sort((a, b) => {
15130
15130
  const compare = b[sortedBy] > a[sortedBy];
15131
- if (sortedDirection === "asc")
15131
+ if (sortedDirection === 'asc')
15132
15132
  return compare ? 1 : -1;
15133
15133
  return compare ? -1 : 1;
15134
15134
  });
@@ -15175,7 +15175,7 @@ function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100], })
15175
15175
  onPageChange,
15176
15176
  setRowsPerPage: onChangeRowsPerPage,
15177
15177
  rowsPerPageOptions,
15178
- rowsPerPage,
15178
+ rowsPerPage
15179
15179
  };
15180
15180
  }
15181
15181
 
@@ -15205,13 +15205,13 @@ const Modal = (_a) => {
15205
15205
  var { open, onClose } = _a, rest = __rest(_a, ["open", "onClose"]);
15206
15206
  return (React__default.createElement(Modal$1, Object.assign({ open: open, onClose: onClose, disableEnforceFocus: true }, rest),
15207
15207
  React__default.createElement(Box$2, { sx: {
15208
- outline: "none",
15209
- backgroundColor: "white",
15210
- position: "absolute",
15211
- top: "50%",
15212
- left: "50%",
15213
- transform: "translate(-50%, -50%)",
15214
- borderRadius: 1,
15208
+ outline: 'none',
15209
+ backgroundColor: 'white',
15210
+ position: 'absolute',
15211
+ top: '50%',
15212
+ left: '50%',
15213
+ transform: 'translate(-50%, -50%)',
15214
+ borderRadius: 1
15215
15215
  } },
15216
15216
  React__default.createElement(React__default.Fragment, null, rest.children))));
15217
15217
  };
@@ -15223,5 +15223,19 @@ function GetInputLabel(columns) {
15223
15223
  };
15224
15224
  }
15225
15225
 
15226
- export { Autocomplete, BaseGrid, Checkbox, EditableTableCell, GetInputLabel, Grid, Input, InputMask, LargeButton, Modal, Radio, Select, Switch, TabPanel, Td, Tr, createFilter, filterData, getTabProps, useEvent, useFilter, useGrid, useLoading };
15226
+ const Dialog = (_a) => {
15227
+ var { open, title, loading, body, options } = _a, rest = __rest(_a, ["open", "title", "loading", "body", "options"]);
15228
+ return (React__default.createElement(Dialog$1, Object.assign({ open: open }, rest),
15229
+ React__default.createElement(Box$2, { sx: { p: 2 } },
15230
+ React__default.createElement(DialogTitle, { sx: { fontWeight: "bold" } }, title),
15231
+ React__default.createElement(DialogContentText, { sx: { px: "10px", textAlign: "center", mb: 2 } }, body),
15232
+ React__default.createElement(DialogActions, null, options.map((option, index) => {
15233
+ return (React__default.createElement(Button, { key: index, onClick: () => option.cb(option.label), variant: option.focus ? "contained" : "text", sx: {
15234
+ fontWeight: option.focus ? "bold" : "normal",
15235
+ color: option.focus ? "#fff" : "primary.main",
15236
+ }, disableElevation: true, disabled: loading }, loading && option.focus ? (React__default.createElement(CircularProgress, { size: 25, color: "inherit" })) : (React__default.createElement(React__default.Fragment, null, option.label))));
15237
+ })))));
15238
+ };
15239
+
15240
+ export { Autocomplete, BaseGrid, Checkbox, Dialog, EditableTableCell, GetInputLabel, Grid, Input, InputMask, LargeButton, Modal, Radio, Select, Switch, TabPanel, Td, Tr, createFilter, filterData, getTabProps, useEvent, useFilter, useGrid, useLoading };
15227
15241
  //# sourceMappingURL=index.js.map