@bwp-web/components 1.3.0 → 1.3.2

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.
@@ -41,10 +41,14 @@ type SelectionExpandingProps = {
41
41
  enableRowSelection?: boolean;
42
42
  /** When true, renders an expand/collapse toggle column for rows that have sub-rows. */
43
43
  enableExpanding?: boolean;
44
+ /** When true with `enableExpanding`, all rows stay expanded and the expand/collapse toggles are not rendered. */
45
+ alwaysExpanded?: boolean;
44
46
  /** When true, hides the "select all" header checkbox while keeping individual row checkboxes. Only applies when `enableRowSelection` is true. */
45
47
  hideSelectAll?: boolean;
46
48
  /** When true, selecting a parent row also selects/deselects its children. Only applies when both `enableRowSelection` and `enableExpanding` are true. @default false */
47
49
  selectChildrenWithParent?: boolean;
50
+ /** When true, draws non-interactive tree-style guidelines connecting parent rows to their child rows. Only applies when `alwaysExpanded` is also true. */
51
+ showExpandGuidelines?: boolean;
48
52
  };
49
53
  export type BiampTableProps<TData> = BoxProps & RowClickProps<TData> & SelectionExpandingProps & {
50
54
  /** TanStack Table instance to connect to. */
@@ -57,6 +61,15 @@ export type BiampTableProps<TData> = BoxProps & RowClickProps<TData> & Selection
57
61
  empty?: boolean | ReactNode;
58
62
  /** Returns a human-readable name for a row, used in ARIA labels (e.g. "Select: Conference Room A"). Falls back to row index. */
59
63
  getRowLabel?: (row: TData) => string;
64
+ /**
65
+ * Returns a background color for a row (any valid CSS color). Applied to
66
+ * the row and to all sticky cells (selection column, sticky action columns)
67
+ * so the row reads as a single tinted band. Hover and selected backgrounds
68
+ * override the custom color — whatever the theme defines for those states
69
+ * wins. Use opaque colors so sticky cells fully cover scrolled content.
70
+ * Return `undefined` to leave a row at its default color.
71
+ */
72
+ setRowColor?: (row: TData) => string | undefined;
60
73
  /**
61
74
  * Per-slot props merged onto the internal MUI elements (`table`, `head`, `body`,
62
75
  * `headerRow`, `headerCell`, `row`, `cell`). `sx` composes with the defaults
@@ -66,6 +79,6 @@ export type BiampTableProps<TData> = BoxProps & RowClickProps<TData> & Selection
66
79
  */
67
80
  slotProps?: BiampTableSlotProps<TData>;
68
81
  };
69
- export declare function BiampTable<TData>({ table, onRowClick, isRowClickable, loading, error, empty, enableRowSelection, enableExpanding, hideSelectAll, selectChildrenWithParent, getRowLabel, slotProps, sx, ...boxProps }: BiampTableProps<TData>): import("react/jsx-runtime").JSX.Element;
82
+ export declare function BiampTable<TData>({ table, onRowClick, isRowClickable, loading, error, empty, enableRowSelection, enableExpanding, alwaysExpanded, hideSelectAll, selectChildrenWithParent, showExpandGuidelines, getRowLabel, setRowColor, slotProps, sx, ...boxProps }: BiampTableProps<TData>): import("react/jsx-runtime").JSX.Element;
70
83
  export {};
71
84
  //# sourceMappingURL=BiampTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BiampTable.d.ts","sourceRoot":"","sources":["../../src/BiampTable/BiampTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BiampTable.d.ts","sourceRoot":"","sources":["../../src/BiampTable/BiampTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type Row } from '@tanstack/react-table';
2
+ export declare function ExpandGuidelines<TData>({ row }: {
3
+ row: Row<TData>;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=BiampTableExpandGuidelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BiampTableExpandGuidelines.d.ts","sourceRoot":"","sources":["../../src/BiampTable/BiampTableExpandGuidelines.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AA6CjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;CAAE,2CAwFnE"}
@@ -0,0 +1,28 @@
1
+ import { type TableCellProps as MuiTableCellProps, type TableRowProps as MuiTableRowProps } from '@mui/material';
2
+ import { type Cell, type Row } from '@tanstack/react-table';
3
+ import { type SlotPropsOrFn } from './slotProps';
4
+ export type BiampTableRowProps<TData> = {
5
+ row: Row<TData>;
6
+ isExpanded: boolean;
7
+ isSelected: boolean;
8
+ onRowClick?: (row: TData) => void;
9
+ isRowClickable?: (row: TData) => boolean;
10
+ enableRowSelection: boolean;
11
+ enableExpanding: boolean;
12
+ alwaysExpanded: boolean;
13
+ selectChildrenWithParent: boolean;
14
+ showExpandGuidelines: boolean;
15
+ getRowLabel?: (row: TData) => string;
16
+ hasExpandableRows: boolean;
17
+ customColor?: string;
18
+ rowSlotProps?: SlotPropsOrFn<MuiTableRowProps, {
19
+ row: Row<TData>;
20
+ }>;
21
+ cellSlotProps?: SlotPropsOrFn<MuiTableCellProps, {
22
+ cell: Cell<TData, unknown>;
23
+ }>;
24
+ };
25
+ declare function BiampTableRowInner<TData>({ row, isExpanded, isSelected, onRowClick, isRowClickable, enableRowSelection, enableExpanding, alwaysExpanded, selectChildrenWithParent, showExpandGuidelines, getRowLabel, hasExpandableRows, customColor, rowSlotProps, cellSlotProps, }: BiampTableRowProps<TData>): import("react/jsx-runtime").JSX.Element;
26
+ export declare const BiampTableRow: typeof BiampTableRowInner;
27
+ export {};
28
+ //# sourceMappingURL=BiampTableRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BiampTableRow.d.ts","sourceRoot":"","sources":["../../src/BiampTable/BiampTableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,IAAI,iBAAiB,EAExC,KAAK,aAAa,IAAI,gBAAgB,EACvC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAyIvE,MAAM,MAAM,kBAAkB,CAAC,KAAK,IAAI;IACtC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IACzC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,wBAAwB,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,aAAa,CAAC,gBAAgB,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;KAAE,CAAC,CAAC;IACpE,aAAa,CAAC,EAAE,aAAa,CAC3B,iBAAiB,EACjB;QAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;KAAE,CAC/B,CAAC;CACH,CAAC;AAEF,iBAAS,kBAAkB,CAAC,KAAK,EAAE,EACjC,GAAG,EACH,UAAU,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE,kBAAkB,CAAC,KAAK,CAAC,2CA2H3B;AA2BD,eAAO,MAAM,aAAa,EAGrB,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type Theme } from '@mui/material';
2
+ export declare const stickyHoverBg: {
3
+ readonly '.MuiTableRow-hover:hover > &, .Mui-selected > &': {
4
+ readonly bgcolor: ({ palette }: Theme) => string;
5
+ };
6
+ };
7
+ export declare function cellSx(sticky: 'left' | 'right' | undefined, minWidth: number | string | undefined, zIndex: number): {
8
+ readonly '.MuiTableRow-hover:hover > &, .Mui-selected > &'?: {
9
+ readonly bgcolor: ({ palette }: Theme) => string;
10
+ } | undefined;
11
+ readonly position: "sticky";
12
+ readonly zIndex: number;
13
+ readonly width: 0;
14
+ readonly whiteSpace: "nowrap";
15
+ readonly textAlign: "center";
16
+ readonly bgcolor: "background.paper";
17
+ minWidth?: undefined;
18
+ '&:has([data-truncate])'?: undefined;
19
+ } | {
20
+ minWidth: string | number;
21
+ whiteSpace: string;
22
+ '&:has([data-truncate])': {
23
+ maxWidth: string | number;
24
+ whiteSpace: string;
25
+ };
26
+ };
27
+ //# sourceMappingURL=cellSx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellSx.d.ts","sourceRoot":"","sources":["../../src/BiampTable/cellSx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,aAAa;;wCAEC,KAAK;;CAGtB,CAAC;AAEX,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EACpC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACrC,MAAM,EAAE,MAAM;;wCARW,KAAK;;;;;;;;;;;;;;;;;EA4B/B"}