@natoora-libs/core 0.1.16-dev-doug-9 → 0.1.16-dev-doug-11

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.
@@ -939,7 +939,7 @@ interface SmartTableHeaderProps {
939
939
  order: Order;
940
940
  orderBy: string;
941
941
  headCells: HeadCell[];
942
- numSelected: number;
942
+ numSelectedRows: number;
943
943
  numRows: number;
944
944
  enableCheckboxSelection?: boolean;
945
945
  headerFilters: HeaderFilters;
@@ -987,7 +987,7 @@ type TableDesktopEditableComponentProps = {
987
987
  validateInput?: HeadCell["validateInput"];
988
988
  onUpdateEditableCell?: HeadCell["onUpdateEditableCell"];
989
989
  };
990
- declare const TableDesktopEditableComponent: FC<TableDesktopEditableComponentProps>;
990
+ declare const TableDesktopEditableComponent: React.NamedExoticComponent<TableDesktopEditableComponentProps>;
991
991
 
992
992
  type TableDesktopCellProps = {
993
993
  editableCellType?: EditableCellType;
@@ -939,7 +939,7 @@ interface SmartTableHeaderProps {
939
939
  order: Order;
940
940
  orderBy: string;
941
941
  headCells: HeadCell[];
942
- numSelected: number;
942
+ numSelectedRows: number;
943
943
  numRows: number;
944
944
  enableCheckboxSelection?: boolean;
945
945
  headerFilters: HeaderFilters;
@@ -987,7 +987,7 @@ type TableDesktopEditableComponentProps = {
987
987
  validateInput?: HeadCell["validateInput"];
988
988
  onUpdateEditableCell?: HeadCell["onUpdateEditableCell"];
989
989
  };
990
- declare const TableDesktopEditableComponent: FC<TableDesktopEditableComponentProps>;
990
+ declare const TableDesktopEditableComponent: React.NamedExoticComponent<TableDesktopEditableComponentProps>;
991
991
 
992
992
  type TableDesktopCellProps = {
993
993
  editableCellType?: EditableCellType;
@@ -6923,7 +6923,7 @@ var SmartTableHeader = ({
6923
6923
  order,
6924
6924
  orderBy,
6925
6925
  headCells,
6926
- numSelected,
6926
+ numSelectedRows,
6927
6927
  numRows,
6928
6928
  enableCheckboxSelection = false,
6929
6929
  headerFilters,
@@ -6943,8 +6943,8 @@ var SmartTableHeader = ({
6943
6943
  {
6944
6944
  color: "primary",
6945
6945
  disableRipple: true,
6946
- indeterminate: numSelected > 0 && numSelected < numRows,
6947
- checked: numRows > 0 && numSelected === numRows,
6946
+ indeterminate: numSelectedRows > 0 && numSelectedRows < numRows,
6947
+ checked: numRows > 0 && numSelectedRows === numRows,
6948
6948
  onChange: onSelectAllClick
6949
6949
  }
6950
6950
  ) }) : null,
@@ -7585,15 +7585,19 @@ var TableDesktop = ({
7585
7585
  () => rowsPerPage - numRows,
7586
7586
  [rowsPerPage, numRows]
7587
7587
  );
7588
+ const numSelectedRows = useMemo3(() => {
7589
+ const currentPageIds = new Set(data.map((row) => row[keyField]));
7590
+ return [...selectedRows].filter((id) => currentPageIds.has(id)).length;
7591
+ }, [data, selectedRows, keyField]);
7588
7592
  const isEveryRowInPageSelected = useMemo3(
7589
- () => numRows > 0 && selectedRows.size === numRows,
7593
+ () => numRows > 0 && numSelectedRows === numRows,
7590
7594
  [selectedRows, numRows]
7591
7595
  );
7592
7596
  const visibleHeadCells = useMemo3(
7593
7597
  () => headCells.filter((headCell) => headCell?.enabled ?? true),
7594
7598
  [headCells]
7595
7599
  );
7596
- const handleRequestSort = (event, property) => {
7600
+ const handleRequestSort = (_event, property) => {
7597
7601
  const isAsc = orderBy === property && order === "asc";
7598
7602
  const orderDir = isAsc ? "desc" : "asc";
7599
7603
  setOrder(orderDir);
@@ -7603,7 +7607,7 @@ var TableDesktop = ({
7603
7607
  }
7604
7608
  };
7605
7609
  const selectAllRowsInPage = () => {
7606
- const allRowsIds = new Set(data.map((n) => n[keyField]));
7610
+ const allRowsIds = new Set(data.map((obj) => obj[keyField]));
7607
7611
  ;
7608
7612
  setSelectedRows(allRowsIds);
7609
7613
  };
@@ -7644,23 +7648,21 @@ var TableDesktop = ({
7644
7648
  resetSelectedRows();
7645
7649
  onApplyFilters?.(updatedFilters, shouldSave);
7646
7650
  };
7647
- const handlePageChange = (event, page) => {
7648
- resetSelectedRows();
7649
- footerProps?.onPageChange?.(event, page);
7650
- };
7651
7651
  useEffect11(() => {
7652
7652
  if (!enableCheckboxSelection) {
7653
7653
  resetSelectedRows();
7654
7654
  }
7655
7655
  }, [enableCheckboxSelection]);
7656
+ useEffect11(() => {
7657
+ if (isRowsFromAllPagesSelected) {
7658
+ selectAllRowsInPage();
7659
+ }
7660
+ }, [data, isRowsFromAllPagesSelected, keyField]);
7656
7661
  useEffect11(() => {
7657
7662
  if (isEveryRowInPageSelected || isRowsFromAllPagesSelected) {
7658
- const rowsIdsSet = new Set(data.map((obj) => obj[keyField]));
7659
- setSelectedRows(
7660
- (prev) => new Set([...prev].filter((value) => rowsIdsSet.has(value)))
7661
- );
7663
+ setSelectedRows((prev) => new Set(prev));
7662
7664
  }
7663
- }, [data, setSelectedRows, isEveryRowInPageSelected, isRowsFromAllPagesSelected]);
7665
+ }, [isEveryRowInPageSelected, isRowsFromAllPagesSelected]);
7664
7666
  const renderBody = useMemo3(
7665
7667
  () => rowsPerPage !== emptyRows ? /* @__PURE__ */ jsx119(
7666
7668
  TableDesktopRows,
@@ -7740,7 +7742,7 @@ var TableDesktop = ({
7740
7742
  {
7741
7743
  isEveryRowInPageSelected,
7742
7744
  isRowsFromAllPagesSelected,
7743
- numSelectedRows: selectedRows.size,
7745
+ numSelectedRows,
7744
7746
  totalRowCount: totalDataCount ?? 0,
7745
7747
  onSelectRowsFromAllPagesClick: handleSelectRowsFromAllPagesClick,
7746
7748
  onClearSelectionClick: handleClearSelectionClick
@@ -7786,7 +7788,7 @@ var TableDesktop = ({
7786
7788
  headCells: visibleHeadCells,
7787
7789
  order,
7788
7790
  orderBy,
7789
- numSelected: selectedRows.size,
7791
+ numSelectedRows,
7790
7792
  numRows,
7791
7793
  enableCheckboxSelection,
7792
7794
  headerFilters: headerFilters ?? {},
@@ -7811,7 +7813,7 @@ var TableDesktop = ({
7811
7813
  }
7812
7814
  ),
7813
7815
  children,
7814
- footerProps ? /* @__PURE__ */ jsx119(TableDesktopFooter, { ...footerProps, onPageChange: handlePageChange }) : null
7816
+ footerProps ? /* @__PURE__ */ jsx119(TableDesktopFooter, { ...footerProps }) : null
7815
7817
  ]
7816
7818
  }
7817
7819
  )
@@ -7820,6 +7822,7 @@ var TableDesktop = ({
7820
7822
  };
7821
7823
 
7822
7824
  // src/components/TableDesktopEditableComponent/TableDesktopEditableComponent.tsx
7825
+ import { memo as memo23 } from "react";
7823
7826
  import { Checkbox as Checkbox6, FormControlLabel as FormControlLabel4 } from "@mui/material";
7824
7827
 
7825
7828
  // src/components/TableDesktopEditableComponent/TableDesktopNumericField.tsx
@@ -8011,7 +8014,7 @@ var TableDesktopTextField = ({
8011
8014
 
8012
8015
  // src/components/TableDesktopEditableComponent/TableDesktopEditableComponent.tsx
8013
8016
  import { jsx as jsx123 } from "react/jsx-runtime";
8014
- var TableDesktopEditableComponent = ({
8017
+ var TableDesktopEditableComponentBase = ({
8015
8018
  editInitialValue,
8016
8019
  rowId,
8017
8020
  field,
@@ -8097,6 +8100,7 @@ var TableDesktopEditableComponent = ({
8097
8100
  };
8098
8101
  return editableComponents[editableCellType];
8099
8102
  };
8103
+ var TableDesktopEditableComponent = memo23(TableDesktopEditableComponentBase);
8100
8104
 
8101
8105
  // src/components/TableDesktopCell/TableDesktopCell.tsx
8102
8106
  import { useEffect as useEffect13, useRef as useRef7, useState as useState21 } from "react";
@@ -8234,7 +8238,7 @@ var TableDesktopCell = ({
8234
8238
  };
8235
8239
 
8236
8240
  // src/components/TableHeader/TableHeader.tsx
8237
- import { memo as memo23, useEffect as useEffect14, useState as useState22 } from "react";
8241
+ import { memo as memo24, useEffect as useEffect14, useState as useState22 } from "react";
8238
8242
  import { ImportExport as ImportExportIcon } from "@mui/icons-material";
8239
8243
  import { TableCell as TableCell7, TableHead as TableHead3, TableRow as TableRow6, TableSortLabel as TableSortLabel3 } from "@mui/material";
8240
8244
  import { makeStyles as makeStyles49 } from "tss-react/mui";
@@ -8294,7 +8298,7 @@ var TableHeader = ({ cells, onSort = null }) => {
8294
8298
  }
8295
8299
  ) : cell.label }, cell.label || key)) }) });
8296
8300
  };
8297
- var TableHeader_default = memo23(TableHeader);
8301
+ var TableHeader_default = memo24(TableHeader);
8298
8302
 
8299
8303
  // src/components/TextDivider/TextDivider.tsx
8300
8304
  import { Box as Box36, Typography as Typography30, Divider as Divider10, Button as Button16 } from "@mui/material";
@@ -8471,7 +8475,7 @@ var ThemedDateRangePicker = ({
8471
8475
  var ThemedDateRangePicker_default = ThemedDateRangePicker;
8472
8476
 
8473
8477
  // src/components/TheToolbar/TheToolbar.tsx
8474
- import { memo as memo24 } from "react";
8478
+ import { memo as memo25 } from "react";
8475
8479
  import { AppBar, Box as Box37, Toolbar } from "@mui/material";
8476
8480
  import { makeStyles as makeStyles52 } from "tss-react/mui";
8477
8481
  import { jsx as jsx128, jsxs as jsxs84 } from "react/jsx-runtime";
@@ -8520,7 +8524,7 @@ var TheToolbar = ({
8520
8524
  LeftDrawer
8521
8525
  ] });
8522
8526
  };
8523
- var TheToolbar_default = memo24(TheToolbar);
8527
+ var TheToolbar_default = memo25(TheToolbar);
8524
8528
 
8525
8529
  // src/components/ToastMessage/ToastMessage.tsx
8526
8530
  import { Alert as MuiAlert, Snackbar } from "@mui/material";
@@ -8671,7 +8675,7 @@ var TwoButtonDialog = ({
8671
8675
  var TwoButtonDialog_default = TwoButtonDialog;
8672
8676
 
8673
8677
  // src/components/UserBust/UserBust.tsx
8674
- import { memo as memo25 } from "react";
8678
+ import { memo as memo26 } from "react";
8675
8679
  import { Avatar as Avatar2, Typography as Typography32 } from "@mui/material";
8676
8680
  import { jsx as jsx131, jsxs as jsxs86 } from "react/jsx-runtime";
8677
8681
  var UserBust = ({ user, avatarProps, typographyProps }) => /* @__PURE__ */ jsxs86("div", { children: [
@@ -8688,7 +8692,7 @@ var UserBust = ({ user, avatarProps, typographyProps }) => /* @__PURE__ */ jsxs8
8688
8692
  /* @__PURE__ */ jsx131(Typography32, { ...typographyProps.username, children: user.username })
8689
8693
  ] })
8690
8694
  ] });
8691
- var UserBust_default = memo25(UserBust);
8695
+ var UserBust_default = memo26(UserBust);
8692
8696
 
8693
8697
  // src/components/icons/IconChart.tsx
8694
8698
  import { jsx as jsx132 } from "react/jsx-runtime";