@stella-source/stellasource-dsl 0.2.8 → 1.2.9

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.
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import { TableProps } from "./types";
3
- declare function Table<T>({ columns, data, isLoading, serverSide, onPageChange, onSortChange, onFilterChange, onRowSelect, rowStatuses, showSelection, showRowOptions, showPagination, variant, paginationDetails, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, resetTrigger, emptyTableState, }: TableProps<T>): React.JSX.Element;
3
+ declare function Table<T>({ columns, data, isLoading, serverSide, onPageChange, onSortChange, onFilterChange, onRowSelect, onRowClick, rowStatuses, showSelection, showRowOptions, showPagination, variant, paginationDetails, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, resetTrigger, emptyTableState, }: TableProps<T>): React.JSX.Element;
4
4
  export default Table;
@@ -18,7 +18,9 @@ declare const StyledTable: import("styled-components/dist/types").IStyledCompone
18
18
  declare const CustomIconButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<import("../IconButton/types").IconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>, HeaderIconButtonProps>> & string & Omit<import("react").ForwardRefExoticComponent<Omit<import("../IconButton/types").IconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>, keyof import("react").Component<any, {}, any>>;
19
19
  declare const SortButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<Omit<import("../IconButton/types").IconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>, keyof HeaderIconButtonProps> & HeaderIconButtonProps, HeaderIconButtonProps>> & string;
20
20
  declare const HeaderRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, never>> & string;
21
- declare const CellRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, never>> & string;
21
+ declare const CellRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {
22
+ $isClickable: boolean;
23
+ }>> & string;
22
24
  declare const FilterMenu: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
23
25
  declare const Checkbox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>>, never>, never>> & string;
24
26
  declare const MenuItemGroup: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -21,6 +21,7 @@ export interface TableProps<T> {
21
21
  }[]) => void;
22
22
  onFilterChange?: (filters: ColumnFiltersState) => void;
23
23
  onRowSelect?: (rows: T[]) => void;
24
+ onRowClick?: (row: T) => void;
24
25
  showSelection?: boolean;
25
26
  showRowOptions?: boolean;
26
27
  showPagination?: boolean;
@@ -38,7 +39,7 @@ export interface TableProps<T> {
38
39
  paginationDetails?: PaginationDetails;
39
40
  rowStatuses?: Record<number | string, RowStatus>;
40
41
  resetTrigger?: number;
41
- emptyTableState: {
42
+ emptyTableState?: {
42
43
  header: string;
43
44
  subHeader?: string;
44
45
  showClearFilterButton?: boolean;
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
- import { TableUnitsAndTotals as TableUnitsAndTotalsProps } from "./types";
3
- declare const TableUnitsAndTotals: ({ id, className, value, subValue, variant, leftCategory, rightCategory, }: TableUnitsAndTotalsProps) => React.JSX.Element;
2
+ import { TableUnitsAndTotalsProps } from "./types";
3
+ declare const TableUnitsAndTotals: ({ id, className, value, subValue, valueRightCategory, valueLeftCategory, subValueRightCategory, subValueLeftCategory }: TableUnitsAndTotalsProps) => React.JSX.Element;
4
4
  export default TableUnitsAndTotals;
@@ -1,32 +1,19 @@
1
- export declare enum QuoteVariants {
2
- TOTAL_PRICE = "total-price",
3
- TOTAL_WEIGHT = "total-weight"
4
- }
5
- export declare enum QuoteCategory {
6
- ITEM = "/item",
7
- HOUR = "/hr",
8
- CWT = "CWT",
9
- LBS = "lbs",
10
- KG = "kg",
11
- TON = "ton"
12
- }
13
- interface TableUnitsAndTotalsProps {
1
+ interface TableUnitsAndTotalsCoreProps {
14
2
  id?: string;
15
3
  className?: string;
16
4
  value: number | string;
17
- subValue?: number | string;
18
- rightCategory?: `${QuoteCategory}`;
19
- }
20
- interface TotalPriceProps {
21
- variant: `${QuoteVariants.TOTAL_PRICE}`;
22
- leftCategory?: `${TableUnitsAndTotalsLeftCategory}`;
5
+ valueRightCategory?: string;
6
+ valueLeftCategory?: string;
23
7
  }
24
- interface TotalWeightProps {
25
- variant: `${QuoteVariants.TOTAL_WEIGHT}`;
26
- leftCategory?: never;
8
+ interface TableUnitsAndTotalsSubValueProps {
9
+ subValue: number | string;
10
+ subValueRightCategory?: string;
11
+ subValueLeftCategory?: string;
27
12
  }
28
- export type TableUnitsAndTotals = TableUnitsAndTotalsProps & (TotalPriceProps | TotalWeightProps);
29
- export declare enum TableUnitsAndTotalsLeftCategory {
30
- US_CURRENCY = "$"
13
+ interface TableUnitsAndTotalsWithoutSubValueProps {
14
+ subValue?: never;
15
+ subValueRightCategory?: never;
16
+ subValueLeftCategory?: never;
31
17
  }
18
+ export type TableUnitsAndTotalsProps = TableUnitsAndTotalsCoreProps & (TableUnitsAndTotalsSubValueProps | TableUnitsAndTotalsWithoutSubValueProps);
32
19
  export {};
@@ -20808,6 +20808,7 @@ const HeaderRow = styled.tr `
20808
20808
  const CellRow = styled.tr `
20809
20809
  min-height: 50px;
20810
20810
  height: 50px;
20811
+ cursor: ${({ $isClickable }) => ($isClickable ? "pointer" : "default")};
20811
20812
  &:hover {
20812
20813
  & > td {
20813
20814
  background-color: ${Styles.color.blue.pale};
@@ -21253,8 +21254,7 @@ const EmptyTableState = ({ id, className, header, subHeader, showClearFilterButt
21253
21254
  a__default.createElement(ClearFilterButtonRow, null, showClearFilterButton && (a__default.createElement(StellaButton, { label: "Clear Filters", onClick: () => onClearFilters?.(), variant: "secondary" })))))));
21254
21255
  };
21255
21256
 
21256
- // DataTable.tsx
21257
- function Table({ columns, data, isLoading, serverSide = false, onPageChange, onSortChange, onFilterChange, onRowSelect, rowStatuses, showSelection = false, showRowOptions = false, showPagination = true, variant, paginationDetails = {
21257
+ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onSortChange, onFilterChange, onRowSelect, onRowClick, rowStatuses, showSelection = false, showRowOptions = false, showPagination = true, variant, paginationDetails = {
21258
21258
  startingPage: 1,
21259
21259
  rowsPerPage: 10,
21260
21260
  totalRows: data.length,
@@ -21481,8 +21481,8 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
21481
21481
  } }));
21482
21482
  }))))),
21483
21483
  a__default.createElement("tbody", null,
21484
- table.getRowModel().rows.length === 0 && (a__default.createElement(EmptyTableState, { header: emptyTableState.header, subHeader: emptyTableState.subHeader, showClearFilterButton: emptyTableState.showClearFilterButton, onClearFilters: resetTable, colSpan: table.getVisibleLeafColumns().length, size: "large" })),
21485
- table.getRowModel().rows.map((row) => (a__default.createElement(CellRow, { key: row.id }, row.getVisibleCells().map((cell) => {
21484
+ table.getRowModel().rows.length === 0 && (a__default.createElement(EmptyTableState, { header: emptyTableState?.header || "No data available.", subHeader: emptyTableState?.subHeader, showClearFilterButton: emptyTableState?.showClearFilterButton, onClearFilters: resetTable, colSpan: table.getVisibleLeafColumns().length, size: "large" })),
21485
+ table.getRowModel().rows.map((row) => (a__default.createElement(CellRow, { key: row.id, onClick: () => onRowClick?.(row.original), "$isClickable": !!onRowClick }, row.getVisibleCells().map((cell) => {
21486
21486
  const value = flexRender(cell.column.columnDef.cell, {
21487
21487
  ...cell.getContext(),
21488
21488
  localValue: rowState[row.id]?.[cell.column.id],
@@ -21589,25 +21589,6 @@ const Sync = ({ dataTestId, onClick, className, id, showTime = false, labelPosit
21589
21589
  a__default.createElement(CustomLabel, { htmlFor: id, id: `${id}-label`, labelValue: showTime ? `Last Updated at ${time}` : "" })));
21590
21590
  };
21591
21591
 
21592
- var QuoteVariants;
21593
- (function (QuoteVariants) {
21594
- QuoteVariants["TOTAL_PRICE"] = "total-price";
21595
- QuoteVariants["TOTAL_WEIGHT"] = "total-weight";
21596
- })(QuoteVariants || (QuoteVariants = {}));
21597
- var QuoteCategory;
21598
- (function (QuoteCategory) {
21599
- QuoteCategory["ITEM"] = "/item";
21600
- QuoteCategory["HOUR"] = "/hr";
21601
- QuoteCategory["CWT"] = "CWT";
21602
- QuoteCategory["LBS"] = "lbs";
21603
- QuoteCategory["KG"] = "kg";
21604
- QuoteCategory["TON"] = "ton";
21605
- })(QuoteCategory || (QuoteCategory = {}));
21606
- var TableUnitsAndTotalsLeftCategory;
21607
- (function (TableUnitsAndTotalsLeftCategory) {
21608
- TableUnitsAndTotalsLeftCategory["US_CURRENCY"] = "$";
21609
- })(TableUnitsAndTotalsLeftCategory || (TableUnitsAndTotalsLeftCategory = {}));
21610
-
21611
21592
  const Container = styled.div `
21612
21593
  display: flex;
21613
21594
  justify-content: space-between;
@@ -21640,18 +21621,18 @@ const SubHeaderText = styled.span `
21640
21621
  line-height: normal;
21641
21622
  `;
21642
21623
 
21643
- const TableUnitsAndTotals = ({ id, className, value, subValue, variant, leftCategory = TableUnitsAndTotalsLeftCategory.US_CURRENCY, rightCategory, }) => {
21644
- const isWeight = variant === QuoteVariants.TOTAL_WEIGHT;
21645
- const leftCategoryValue = isWeight ? "" : leftCategory;
21646
- const header = `${leftCategoryValue ?? ""}${value} ${rightCategory && isWeight ? ` ${rightCategory}` : ""}`;
21647
- const subHeader = subValue
21648
- ? `${leftCategoryValue ?? ""}${subValue} ${rightCategory ? ` ${rightCategory}` : ""}`
21649
- : undefined;
21624
+ const TableUnitsAndTotals = ({ id, className, value, subValue, valueRightCategory, valueLeftCategory, subValueRightCategory, subValueLeftCategory }) => {
21625
+ let header = valueLeftCategory ?? "";
21626
+ header += value;
21627
+ header += valueRightCategory ? ` ${valueRightCategory}` : "";
21628
+ let subHeader = subValueLeftCategory ?? "";
21629
+ subHeader += subValue;
21630
+ subHeader += subValueRightCategory ? ` ${subValueRightCategory}` : "";
21650
21631
  return (a__default.createElement(Container, { id: id, className: className },
21651
21632
  a__default.createElement(Column, { "$align": "right" },
21652
21633
  a__default.createElement(HeaderText, null, header),
21653
- subHeader && a__default.createElement(SubHeaderText, null, subHeader))));
21634
+ subValue && a__default.createElement(SubHeaderText, null, subHeader))));
21654
21635
  };
21655
21636
 
21656
- export { HelperText, IconButton, Label, Loader, NumberInput, Pagination, PasswordInput, QuoteCategory, QuoteVariants, StellaButton, StellaButtonVariant, StellaIcon, Styles, Sync, Table, TableUnitsAndTotals, TableUnitsAndTotalsLeftCategory, TextInput, Tooltip };
21637
+ export { HelperText, IconButton, Label, Loader, NumberInput, Pagination, PasswordInput, StellaButton, StellaButtonVariant, StellaIcon, Styles, Sync, Table, TableUnitsAndTotals, TextInput, Tooltip };
21657
21638
  //# sourceMappingURL=index.esm.js.map