@caratlogic/design-system 0.1.50 → 0.1.51
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.
- package/dist/components/molecules/DataEditableTable/DataEditableTable.d.ts +1 -1
- package/dist/components/molecules/DataEditableTable/DataEditableTable.d.ts.map +1 -1
- package/dist/components/molecules/DataEditableTable/DataEditableTable.types.d.ts +4 -0
- package/dist/components/molecules/DataEditableTable/DataEditableTable.types.d.ts.map +1 -1
- package/dist/components/molecules/DataEditableTable/DataEditableTable.utils.d.ts +3 -1
- package/dist/components/molecules/DataEditableTable/DataEditableTable.utils.d.ts.map +1 -1
- package/dist/components/molecules/DataEditableTable/index.d.ts +1 -1
- package/dist/components/molecules/DataEditableTable/index.d.ts.map +1 -1
- package/dist/index.cjs.js +23 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +23 -5
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DataEditableTableProps } from './DataEditableTable.types';
|
|
2
2
|
declare function DataEditableTable<T extends {
|
|
3
3
|
id: string;
|
|
4
|
-
}>({ data, columns, onRowClick, enableSelection, columnStyles, onEditChange, onSaveRow, sortBy, setSortBy, sortOrder, setSortOrder, saving, selectedRows, onSelectionChange, isArchiveView, selectionInArchiveView, permissionKey, columnWidths, onColumnResize, pagination, fetchBusinessContacts, showGrid, striped, emptyState, loading, loadingRows, filterRowLeading, onColumnReorder, }: DataEditableTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
}>({ data, columns, onRowClick, enableSelection, columnStyles, onEditChange, onSaveRow, sortBy, setSortBy, sortOrder, setSortOrder, saving, selectedRows, onSelectionChange, isArchiveView, selectionInArchiveView, permissionKey, columnWidths, onColumnResize, pagination, fetchBusinessContacts, showGrid, striped, emptyState, loading, loadingRows, filterRowLeading, onColumnReorder, getRowTone, }: DataEditableTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
export { DataEditableTable };
|
|
6
6
|
//# sourceMappingURL=DataEditableTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEditableTable.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataEditableTable.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,iBAAS,iBAAiB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,EACnD,IAAI,EACJ,OAAO,EACP,UAAU,EACV,eAAuB,EACvB,YAAiB,EACjB,YAAY,EACZ,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,YAAY,EACZ,MAAM,EACN,YAAiB,EACjB,iBAAiB,EACjB,aAAqB,EACrB,sBAA8B,EAC9B,aAAkB,EAClB,YAAY,EACZ,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,QAAe,EACf,OAAc,EACd,UAAU,EACV,OAAe,EACf,WAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,EAAE,sBAAsB,CAAC,CAAC,CAAC,2CAuX3B;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -26,6 +26,8 @@ export interface Column {
|
|
|
26
26
|
/** With `onColumnReorder`, `false` keeps this column in place: no grip, and nothing lands on it. `actions` never moves. */
|
|
27
27
|
reorderable?: boolean;
|
|
28
28
|
}
|
|
29
|
+
/** Soft row colour from the badge palette: `warning` is amber, `info` is blue. */
|
|
30
|
+
export type DataEditableTableRowTone = 'warning' | 'info';
|
|
29
31
|
export interface DataEditableTableProps<T extends {
|
|
30
32
|
id: string;
|
|
31
33
|
}> {
|
|
@@ -68,6 +70,8 @@ export interface DataEditableTableProps<T extends {
|
|
|
68
70
|
filterRowLeading?: React.ReactNode;
|
|
69
71
|
/** Turns on drag-to-reorder from a grip on each header; receives every column key in the new order. */
|
|
70
72
|
onColumnReorder?: (orderedKeys: string[]) => void;
|
|
73
|
+
/** Tints a row in a soft badge colour (e.g. by ownership); `undefined` keeps the normal row. Editing and selection colours still win. */
|
|
74
|
+
getRowTone?: (row: T) => DataEditableTableRowTone | undefined;
|
|
71
75
|
}
|
|
72
76
|
export type DropSide = 'before' | 'after';
|
|
73
77
|
export interface ColumnDropTarget {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEditableTable.types.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DataEditableTable.types.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAGjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAEpC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC;IACvC,oEAAoE;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2HAA2H;IAC3H,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IAC9D,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2GAA2G;IAC3G,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qHAAqH;IACrH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4HAA4H;IAC5H,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,uGAAuG;IACvG,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,yIAAyI;IACzI,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC/D;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;IAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,qBAAqB,EAAE,CACrB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EACnC,GAAG,EAAE,MAAM,KACR,IAAI,CAAC;CACX;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IAC3D,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,CACV,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,CAAC;IAEP,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { Column, ColumnDropTarget, ColumnRect, OptionType } from './DataEditableTable.types';
|
|
2
|
+
import type { Column, ColumnDropTarget, ColumnRect, DataEditableTableRowTone, OptionType } from './DataEditableTable.types';
|
|
3
3
|
export declare function normalizeOptions(options: (string | OptionType)[]): {
|
|
4
4
|
value: string;
|
|
5
5
|
label: string;
|
|
@@ -7,6 +7,8 @@ export declare function normalizeOptions(options: (string | OptionType)[]): {
|
|
|
7
7
|
export declare function getDisplayName(options: (string | OptionType)[] | undefined, value: string): string;
|
|
8
8
|
export declare function pinnedHeaderClass(): string;
|
|
9
9
|
export declare function pinnedCellClass(pinnedBg: string): string;
|
|
10
|
+
export declare function rowToneClass(tone: DataEditableTableRowTone): string;
|
|
11
|
+
export declare function pinnedToneClass(tone: DataEditableTableRowTone): string;
|
|
10
12
|
/** Width for a header/body/filter cell: the resized width var while resized or dragging, a fixed width for the pinned actions column. */
|
|
11
13
|
export declare function getColumnWidthStyle(key: string, isSized: boolean, isPinnedRight: boolean): React.CSSProperties | undefined;
|
|
12
14
|
export declare function hasFilterRow(columns: readonly Column[], filterRowLeading: React.ReactNode): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataEditableTable.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,GAC/B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CASpC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,SAAS,EAC5C,KAAK,EAAE,MAAM,GACZ,MAAM,CAaR;AAMD,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAID,yIAAyI;AACzI,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,GACrB,KAAK,CAAC,aAAa,GAAG,SAAS,CAYjC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS,GAChC,OAAO,CAIT;AAKD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB,MAAM,EAAE,CAeV;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,CAAC,EAAE,MAAM,GACR,MAAM,GAAG,IAAI,CASf;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB"}
|
|
1
|
+
{"version":3,"file":"DataEditableTable.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/DataEditableTable.utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,UAAU,EACV,wBAAwB,EACxB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,GAC/B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CASpC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,GAAG,SAAS,EAC5C,KAAK,EAAE,MAAM,GACZ,MAAM,CAaR;AAMD,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAaD,wBAAgB,YAAY,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAEnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAKtE;AAID,yIAAyI;AACzI,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,OAAO,GACrB,KAAK,CAAC,aAAa,GAAG,SAAS,CAYjC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS,GAChC,OAAO,CAIT;AAKD,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB,MAAM,EAAE,CAeV;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,CAAC,EAAE,MAAM,GACR,MAAM,GAAG,IAAI,CASf;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { DataEditableTable } from './DataEditableTable';
|
|
2
|
-
export type { Column, OptionType, DataEditableTableProps, } from './DataEditableTable.types';
|
|
2
|
+
export type { Column, OptionType, DataEditableTableProps, DataEditableTableRowTone, } from './DataEditableTable.types';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,MAAM,EACN,UAAU,EACV,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/DataEditableTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,MAAM,EACN,UAAU,EACV,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -26518,6 +26518,21 @@ function pinnedHeaderClass() {
|
|
|
26518
26518
|
function pinnedCellClass(pinnedBg) {
|
|
26519
26519
|
return cn('sticky right-0 z-10', PINNED_BEFORE, PINNED_SHADOW, pinnedBg);
|
|
26520
26520
|
}
|
|
26521
|
+
const ROW_TONE = {
|
|
26522
|
+
warning: 'bg-badge-amber-bg/40 hover:bg-badge-amber-bg/60',
|
|
26523
|
+
info: 'bg-badge-blue-bg/40 hover:bg-badge-blue-bg/60',
|
|
26524
|
+
};
|
|
26525
|
+
// The pinned cell must stay opaque, so the tint is an overlay painted under its content.
|
|
26526
|
+
const PINNED_TONE = {
|
|
26527
|
+
warning: 'after:bg-badge-amber-bg/40',
|
|
26528
|
+
info: 'after:bg-badge-blue-bg/40',
|
|
26529
|
+
};
|
|
26530
|
+
function rowToneClass(tone) {
|
|
26531
|
+
return ROW_TONE[tone];
|
|
26532
|
+
}
|
|
26533
|
+
function pinnedToneClass(tone) {
|
|
26534
|
+
return cn('after:pointer-events-none after:absolute after:inset-0 after:-z-10 after:content-[""]', PINNED_TONE[tone]);
|
|
26535
|
+
}
|
|
26521
26536
|
const PINNED_RIGHT_WIDTH = '72px';
|
|
26522
26537
|
/** Width for a header/body/filter cell: the resized width var while resized or dragging, a fixed width for the pinned actions column. */
|
|
26523
26538
|
function getColumnWidthStyle(key, isSized, isPinnedRight) {
|
|
@@ -27132,7 +27147,7 @@ function DocumentDetailSkeleton({ aside = 'payment', sections = 3, label = 'Load
|
|
|
27132
27147
|
return (jsxRuntime.jsxs("div", { role: "status", "aria-busy": "true", "aria-label": label, className: "space-y-4", children: [jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [jsxRuntime.jsx(SquareSkeleton, { height: 14, width: 80, rounded: "full" }), jsxRuntime.jsx("span", { className: "h-5 w-px bg-border" }), jsxRuntime.jsx(SquareSkeleton, { height: 28, width: 200, rounded: "md" }), jsxRuntime.jsx(SquareSkeleton, { height: 22, width: 72, rounded: "full" })] }), jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntime.jsx(SquareSkeleton, { height: 36, width: 112, rounded: "lg" }), jsxRuntime.jsx(SquareSkeleton, { height: 36, width: 80, rounded: "lg" }), jsxRuntime.jsx(SquareSkeleton, { height: 36, width: 128, rounded: "lg" }), jsxRuntime.jsx(SquareSkeleton, { height: 36, width: 36, rounded: "lg" })] })] }), jsxRuntime.jsxs("section", { "aria-hidden": "true", className: "grid grid-cols-1 overflow-hidden rounded-2xl border border-border bg-card md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]", children: [jsxRuntime.jsxs("div", { className: "flex flex-col justify-center space-y-3 px-5 py-4 sm:px-7 sm:py-4", children: [jsxRuntime.jsx(SquareSkeleton, { height: 12, width: 96, rounded: "full" }), jsxRuntime.jsx(SquareSkeleton, { height: 40, width: 220, rounded: "md" }), aside !== 'none' && (jsxRuntime.jsxs("div", { className: "w-full max-w-xl space-y-2 pt-1", children: [jsxRuntime.jsx(SquareSkeleton, { height: 8, className: "w-full", rounded: "full" }), jsxRuntime.jsxs("div", { className: "flex justify-between", children: [jsxRuntime.jsx(SquareSkeleton, { height: 11, width: 88, rounded: "full" }), jsxRuntime.jsx(SquareSkeleton, { height: 11, width: 40, rounded: "full" })] })] }))] }), jsxRuntime.jsx("div", { className: "border-t border-border bg-muted/40 px-5 py-2 md:border-l md:border-t-0", children: [0, 1, 2, 3].map((i) => (jsxRuntime.jsxs("div", { className: "flex min-h-10 items-center gap-3 border-b border-border py-1.5 last:border-b-0", children: [jsxRuntime.jsx(SquareSkeleton, { height: 24, width: 24, rounded: "md" }), jsxRuntime.jsx(SquareSkeleton, { height: 12, width: 72, rounded: "full" }), jsxRuntime.jsx(SquareSkeleton, { height: 12, width: 88, rounded: "full", className: "ml-auto" })] }, i))) })] }), Array.from({ length: sections }).map((_, s) => (jsxRuntime.jsxs("section", { "aria-hidden": "true", className: "overflow-hidden rounded-2xl border border-border bg-card", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-2.5 border-b border-border px-4 py-3", children: [jsxRuntime.jsx(SquareSkeleton, { height: 28, width: 28, rounded: "lg" }), jsxRuntime.jsx(SquareSkeleton, { height: 15, width: 128, rounded: "full" })] }), jsxRuntime.jsx("div", { className: "space-y-3 p-4", children: Array.from({ length: s === 1 ? 4 : 2 }).map((__, row) => (jsxRuntime.jsx(SquareSkeleton, { height: s === 1 ? 36 : 14, className: row % 2 ? 'w-3/4' : 'w-full', rounded: "md" }, row))) })] }, s))), jsxRuntime.jsx("span", { className: "sr-only", children: label })] }));
|
|
27133
27148
|
}
|
|
27134
27149
|
|
|
27135
|
-
function DataEditableTable({ data, columns, onRowClick, enableSelection = false, columnStyles = {}, onEditChange, onSaveRow, sortBy, setSortBy, sortOrder, setSortOrder, saving, selectedRows = [], onSelectionChange, isArchiveView = false, selectionInArchiveView = false, permissionKey = '', columnWidths, onColumnResize, pagination, fetchBusinessContacts, showGrid = true, striped = true, emptyState, loading = false, loadingRows = 10, filterRowLeading, onColumnReorder, }) {
|
|
27150
|
+
function DataEditableTable({ data, columns, onRowClick, enableSelection = false, columnStyles = {}, onEditChange, onSaveRow, sortBy, setSortBy, sortOrder, setSortOrder, saving, selectedRows = [], onSelectionChange, isArchiveView = false, selectionInArchiveView = false, permissionKey = '', columnWidths, onColumnResize, pagination, fetchBusinessContacts, showGrid = true, striped = true, emptyState, loading = false, loadingRows = 10, filterRowLeading, onColumnReorder, getRowTone, }) {
|
|
27136
27151
|
const showSelectionColumn = enableSelection && (!isArchiveView || selectionInArchiveView);
|
|
27137
27152
|
const vBorder = showGrid ? 'border-r' : '';
|
|
27138
27153
|
const { localWidths, draggingKey, tableRef, handleResizeMouseDown } = useColumnResize({
|
|
@@ -27188,13 +27203,16 @@ function DataEditableTable({ data, columns, onRowClick, enableSelection = false,
|
|
|
27188
27203
|
const isEditing = editingRow === row.id && editingRow !== null;
|
|
27189
27204
|
const isSaving = savingRow === row.id;
|
|
27190
27205
|
const isSelected = selectedSet.has(row.id);
|
|
27206
|
+
const tone = isEditing || isSelected ? undefined : getRowTone?.(row);
|
|
27191
27207
|
const bgClass = isEditing
|
|
27192
27208
|
? 'bg-warning/10 hover:bg-warning/10'
|
|
27193
27209
|
: isSelected
|
|
27194
27210
|
? 'bg-primary/10 hover:bg-primary/10'
|
|
27195
|
-
:
|
|
27196
|
-
?
|
|
27197
|
-
:
|
|
27211
|
+
: tone
|
|
27212
|
+
? rowToneClass(tone)
|
|
27213
|
+
: !striped || rowIndex % 2 === 0
|
|
27214
|
+
? 'bg-card hover:bg-secondary'
|
|
27215
|
+
: 'bg-background hover:bg-secondary';
|
|
27198
27216
|
return (jsxRuntime.jsxs("tr", { className: cn('group/row h-[46px] transition-colors text-sm text-table-cell', bgClass, onRowClick && 'cursor-pointer'), onClick: () => onRowClick?.(row), children: [isArchiveView ? null : (jsxRuntime.jsx("td", { className: cn('px-3 py-1.5 text-center first:!pl-6 border-b border-solid !border-border', vBorder), children: jsxRuntime.jsx(Protected, { module: permissionKey, minLevel: PERMISSIONS.WRITE, children: jsxRuntime.jsx("button", { onClick: (e) => {
|
|
27199
27217
|
e.stopPropagation();
|
|
27200
27218
|
handleEditIconClick(row.id, row);
|
|
@@ -27212,7 +27230,7 @@ function DataEditableTable({ data, columns, onRowClick, enableSelection = false,
|
|
|
27212
27230
|
? 'bg-[#FEFCE8] dark:bg-[#422006]'
|
|
27213
27231
|
: isSelected
|
|
27214
27232
|
? 'bg-[#EFF6FF] dark:bg-[#172554]'
|
|
27215
|
-
: 'bg-card group-hover/row:bg-table-header'
|
|
27233
|
+
: cn('bg-card group-hover/row:bg-table-header', tone && pinnedToneClass(tone))
|
|
27216
27234
|
: '';
|
|
27217
27235
|
return (jsxRuntime.jsx("td", { className: cn('px-4 py-1.5 first:!pl-6 border-b border-border whitespace-nowrap text-table-cell border-solid !border-border', vBorder, isPinnedRight || col.align === 'center'
|
|
27218
27236
|
? 'text-center'
|