@a5it/sync-ui 0.1.26 → 0.1.28
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/data-table/cells/text-cell.d.ts +19 -1
- package/dist/components/data-table/cells/text-cell.d.ts.map +1 -1
- package/dist/components/data-table/cells/text-cell.js +51 -3
- package/dist/components/data-table/cells/text-cell.js.map +1 -1
- package/dist/components/data-table/column-header.js +1 -1
- package/dist/components/data-table/column-header.js.map +1 -1
- package/dist/components/data-table/index.d.ts +5 -2
- package/dist/components/data-table/index.d.ts.map +1 -1
- package/dist/components/data-table/index.js +2 -1
- package/dist/components/data-table/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/data-table/cells/editable-cell.d.ts +0 -24
- package/dist/components/data-table/cells/editable-cell.d.ts.map +0 -1
- package/dist/components/data-table/cells/editable-cell.js +0 -57
- package/dist/components/data-table/cells/editable-cell.js.map +0 -1
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
export type DataTableTextCellProps = {
|
|
2
|
+
/** The cell text value. */
|
|
2
3
|
text: string;
|
|
4
|
+
/** Container className override. */
|
|
3
5
|
className?: string;
|
|
6
|
+
/** Text className override for display mode. */
|
|
4
7
|
textClassName?: string;
|
|
8
|
+
/** Whether long text should be truncated with ellipsis. Default true. */
|
|
5
9
|
truncate?: boolean;
|
|
10
|
+
/** When true the cell becomes click-to-edit. Default false. */
|
|
11
|
+
editable?: boolean;
|
|
12
|
+
/** Called when the user commits the edit (Enter or blur). Receives the raw string. */
|
|
13
|
+
onEditComplete?: (value: string) => void;
|
|
14
|
+
/** Input type — controls keyboard behavior & validation. Default "text". */
|
|
15
|
+
inputType?: "text" | "number";
|
|
16
|
+
/** Optional formatting function for display mode (e.g. formatCurrency). */
|
|
17
|
+
formatDisplay?: (value: string) => string;
|
|
18
|
+
/** Optional suffix shown after the value in display mode (e.g. "%"). */
|
|
19
|
+
suffix?: string;
|
|
20
|
+
/** Optional prefix shown before the value in display mode (e.g. "$"). */
|
|
21
|
+
prefix?: string;
|
|
22
|
+
/** Input className override for edit mode. */
|
|
23
|
+
inputClassName?: string;
|
|
6
24
|
};
|
|
7
|
-
export declare function DataTableTextCell({ text, className, textClassName, truncate, }: DataTableTextCellProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function DataTableTextCell({ text, className, textClassName, truncate, editable, onEditComplete, inputType, formatDisplay, suffix, prefix, inputClassName, }: DataTableTextCellProps): import("react/jsx-runtime").JSX.Element;
|
|
8
26
|
//# sourceMappingURL=text-cell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"text-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,sBAAsB,GAAG;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,SAAS,EACT,aAAa,EACb,QAAe,EACf,QAAgB,EAChB,cAAc,EACd,SAAkB,EAClB,aAAa,EACb,MAAM,EACN,MAAM,EACN,cAAc,GACf,EAAE,sBAAsB,2CAsGxB"}
|
|
@@ -1,7 +1,55 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
3
4
|
import { cn } from "../../../lib/utils";
|
|
4
|
-
export function DataTableTextCell({ text, className, textClassName, truncate = true, }) {
|
|
5
|
-
|
|
5
|
+
export function DataTableTextCell({ text, className, textClassName, truncate = true, editable = false, onEditComplete, inputType = "text", formatDisplay, suffix, prefix, inputClassName, }) {
|
|
6
|
+
const [isEditing, setIsEditing] = React.useState(false);
|
|
7
|
+
const [editValue, setEditValue] = React.useState(text);
|
|
8
|
+
const inputRef = React.useRef(null);
|
|
9
|
+
// Sync internal draft whenever the external value changes while NOT editing.
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
if (!isEditing) {
|
|
12
|
+
setEditValue(text);
|
|
13
|
+
}
|
|
14
|
+
}, [text, isEditing]);
|
|
15
|
+
// Auto-focus & select all when entering edit mode.
|
|
16
|
+
React.useEffect(() => {
|
|
17
|
+
if (isEditing && inputRef.current) {
|
|
18
|
+
inputRef.current.focus();
|
|
19
|
+
inputRef.current.select();
|
|
20
|
+
}
|
|
21
|
+
}, [isEditing]);
|
|
22
|
+
const handleClick = (e) => {
|
|
23
|
+
if (!editable || isEditing)
|
|
24
|
+
return;
|
|
25
|
+
e.stopPropagation();
|
|
26
|
+
setEditValue(text);
|
|
27
|
+
setIsEditing(true);
|
|
28
|
+
};
|
|
29
|
+
const commit = () => {
|
|
30
|
+
setIsEditing(false);
|
|
31
|
+
onEditComplete?.(editValue);
|
|
32
|
+
};
|
|
33
|
+
const cancel = () => {
|
|
34
|
+
setIsEditing(false);
|
|
35
|
+
setEditValue(text);
|
|
36
|
+
};
|
|
37
|
+
const handleKeyDown = (e) => {
|
|
38
|
+
if (e.key === "Enter") {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
commit();
|
|
41
|
+
}
|
|
42
|
+
else if (e.key === "Escape") {
|
|
43
|
+
e.preventDefault();
|
|
44
|
+
cancel();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
// ── Edit mode ─────────────────────────────────────────────────
|
|
48
|
+
if (editable && isEditing) {
|
|
49
|
+
return (_jsx("div", { className: cn("flex min-w-0 items-center -m-[7px]", className), onClick: (e) => e.stopPropagation(), children: _jsx("input", { ref: inputRef, type: inputType, value: editValue, onChange: (e) => setEditValue(e.target.value), onBlur: commit, onKeyDown: handleKeyDown, className: cn("w-full rounded-[4px] border border-[#e6e6e6] bg-white px-[6px] py-[5px] text-[14px] leading-4 font-semibold text-[#1a1a1a] outline-none", "focus:border-[var(--primary,#0091ff)]", "transition-colors duration-100", inputClassName) }) }));
|
|
50
|
+
}
|
|
51
|
+
// ── Display mode ──────────────────────────────────────────────
|
|
52
|
+
const displayText = formatDisplay ? formatDisplay(text) : text;
|
|
53
|
+
return (_jsxs("div", { className: cn("flex min-w-0 items-center", editable && "cursor-text gap-1", className), title: editable ? "Click to edit" : truncate ? text : undefined, onClick: handleClick, children: [prefix && (_jsx("span", { className: "text-[14px] leading-4 text-[#666666]", children: prefix })), _jsx("span", { className: cn("text-[14px] font-semibold text-[#1a1a1a]", truncate && "min-w-0 flex-1 truncate", textClassName), children: displayText }), suffix && (_jsx("span", { className: "text-[14px] leading-4 text-[#666666]", children: suffix }))] }));
|
|
6
54
|
}
|
|
7
55
|
//# sourceMappingURL=text-cell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"text-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/text-cell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,6 @@ export function DataTableColumnHeader({ column, title, className, menuContent, }
|
|
|
37
37
|
column.toggleVisibility(true);
|
|
38
38
|
}
|
|
39
39
|
}, [urlState.hiddenColumns, column]);
|
|
40
|
-
return (_jsxs("div", { className: cn("flex w-full min-w-0 items-center justify-between gap-3", className), children: [_jsx("span", { className: "min-w-0 text-[14px] leading-4 font-normal text-[#4d4d4d]", children: title }), showMenu && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "relative flex items-center justify-center rounded-[8px] bg-[#f2f2f2] p-
|
|
40
|
+
return (_jsxs("div", { className: cn("flex w-full min-w-0 items-center justify-between gap-3", className), children: [_jsx("span", { className: "min-w-0 text-[14px] leading-4 font-normal text-[#4d4d4d]", children: title }), showMenu && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "relative flex items-center justify-center rounded-[8px] hover:bg-[#f2f2f2] transition-colors cursor-pointer p-1", "aria-label": `${title} column options`, children: [_jsx(MoreVertical, { className: "h-4 w-4 text-[#4d4d4d]", "aria-hidden": true }), isSortedByUrl && (_jsx("div", { className: "absolute -top-1 -right-1 h-2.5 w-2.5 rounded-full bg-[#ef4444] ring-2 ring-white", "aria-label": "Sort active" }))] }) }), _jsx(DropdownMenuContent, { align: "end", className: "min-w-[180px]", children: menuContent ?? (_jsxs(_Fragment, { children: [canSort && (_jsxs(_Fragment, { children: [_jsxs(DropdownMenuItem, { onSelect: () => handleSort(false), children: [_jsx(ArrowUp, { className: "h-4 w-4", "aria-hidden": true }), "Sort ascending", sortOrderFromUrl === "asc" && (_jsx("div", { className: "ml-auto h-1.5 w-1.5 rounded-full bg-primary" }))] }), _jsxs(DropdownMenuItem, { onSelect: () => handleSort(true), children: [_jsx(ArrowDown, { className: "h-4 w-4", "aria-hidden": true }), "Sort descending", sortOrderFromUrl === "desc" && (_jsx("div", { className: "ml-auto h-1.5 w-1.5 rounded-full bg-[#f97316]" }))] }), isSortedByUrl && (_jsxs(DropdownMenuItem, { onSelect: handleClearSort, className: "text-[#dc2626]", children: [_jsx(X, { className: "h-4 w-4 text-[#dc2626]", "aria-hidden": true }), "Clear sort"] }))] })), canSort && canHide && _jsx(DropdownMenuSeparator, {}), canHide && (_jsxs(DropdownMenuItem, { onSelect: handleHide, children: [_jsx(EyeOff, { className: "h-4 w-4", "aria-hidden": true }), "Hide column"] }))] })) })] }))] }));
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=column-header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-header.js","sourceRoot":"","sources":["../../../src/components/data-table/column-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS1C,MAAM,UAAU,qBAAqB,CAAgB,EACnD,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,GAC+B;IAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAO,CAAC;IAEzC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC;IAE5D,+CAA+C;IAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAC;IACxD,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,iCAAiC;IACjC,MAAM,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACnC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,qBAAqB;IACrB,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,0CAA0C;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,aAAa,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAErC,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,wDAAwD,EAAE,SAAS,CAAC,aACrF,eAAM,SAAS,EAAC,0DAA0D,YACvE,KAAK,GACD,EAEN,QAAQ,IAAI,CACX,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"column-header.js","sourceRoot":"","sources":["../../../src/components/data-table/column-header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,14 @@ export { DataTableActionDelete } from "./actions/action-delete";
|
|
|
18
18
|
export { DataTableCheckbox } from "./cells/table-checkbox";
|
|
19
19
|
export { DataTableRecordIdCell } from "./cells/record-id-cell";
|
|
20
20
|
export { DataTableTextCell } from "./cells/text-cell";
|
|
21
|
+
export type { DataTableTextCellProps } from "./cells/text-cell";
|
|
21
22
|
export { DataTableStatusPill } from "./cells/status-pill";
|
|
22
23
|
export { DataTablePaymentPill } from "./cells/payment-pill";
|
|
23
24
|
export { DataTableDateTimeCell } from "./cells/date-time-cell";
|
|
24
|
-
|
|
25
|
-
export
|
|
25
|
+
/** @deprecated Use `DataTableTextCell` with `editable` prop instead. */
|
|
26
|
+
export { DataTableTextCell as DataTableEditableCell } from "./cells/text-cell";
|
|
27
|
+
/** @deprecated Use `DataTableTextCellProps` instead. */
|
|
28
|
+
export type { DataTableTextCellProps as DataTableEditableCellProps } from "./cells/text-cell";
|
|
26
29
|
export type { PaymentLabel } from "./cells/payment-pill";
|
|
27
30
|
export { createSelectionColumn, DATA_TABLE_SELECTION_COLUMN_ID, } from "./columns/selection";
|
|
28
31
|
export { DataTablePagination, DataTablePaginationInfo, DataTablePaginationLimits, DataTablePaginationLinks, DataTablePaginationActions, } from "./pagination/pagination";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,iBAAiB,EACjB,YAAY,IAAI,qBAAqB,EACrC,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,iBAAiB,EACjB,YAAY,IAAI,qBAAqB,EACrC,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,wDAAwD;AACxD,YAAY,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC9F,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -19,7 +19,8 @@ export { DataTableTextCell } from "./cells/text-cell";
|
|
|
19
19
|
export { DataTableStatusPill } from "./cells/status-pill";
|
|
20
20
|
export { DataTablePaymentPill } from "./cells/payment-pill";
|
|
21
21
|
export { DataTableDateTimeCell } from "./cells/date-time-cell";
|
|
22
|
-
|
|
22
|
+
/** @deprecated Use `DataTableTextCell` with `editable` prop instead. */
|
|
23
|
+
export { DataTableTextCell as DataTableEditableCell } from "./cells/text-cell";
|
|
23
24
|
export { createSelectionColumn, DATA_TABLE_SELECTION_COLUMN_ID, } from "./columns/selection";
|
|
24
25
|
export { DataTablePagination, DataTablePaginationInfo, DataTablePaginationLimits, DataTablePaginationLinks, DataTablePaginationActions, } from "./pagination/pagination";
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe7D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAe7D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,wEAAwE;AACxE,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/E,OAAO,EACL,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export type DataTableEditableCellProps = {
|
|
2
|
-
/** The current cell value. */
|
|
3
|
-
value: string | number;
|
|
4
|
-
/** Called when the user presses Enter to commit the edit. Receives the raw string value. */
|
|
5
|
-
onEditComplete: (value: string) => void;
|
|
6
|
-
/** Input type — controls keyboard behavior & validation. Default "text". */
|
|
7
|
-
type?: "text" | "number";
|
|
8
|
-
/** Optional formatting function for display mode (e.g. formatCurrency). */
|
|
9
|
-
formatDisplay?: (value: string | number) => string;
|
|
10
|
-
/** Optional suffix shown after the value in display mode (e.g. "%"). */
|
|
11
|
-
suffix?: string;
|
|
12
|
-
/** Optional prefix shown before the value in display mode (e.g. "$"). */
|
|
13
|
-
prefix?: string;
|
|
14
|
-
/** Container className override. */
|
|
15
|
-
className?: string;
|
|
16
|
-
/** Text className override for display mode. */
|
|
17
|
-
textClassName?: string;
|
|
18
|
-
/** Input className override for edit mode. */
|
|
19
|
-
inputClassName?: string;
|
|
20
|
-
/** Whether the cell is editable. Default true. */
|
|
21
|
-
editable?: boolean;
|
|
22
|
-
};
|
|
23
|
-
export declare function DataTableEditableCell({ value, onEditComplete, type, formatDisplay, suffix, prefix, className, textClassName, inputClassName, editable, }: DataTableEditableCellProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
//# sourceMappingURL=editable-cell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editable-cell.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/cells/editable-cell.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,0BAA0B,GAAG;IACvC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,4FAA4F;IAC5F,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IACnD,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,cAAc,EACd,IAAa,EACb,aAAa,EACb,MAAM,EACN,MAAM,EACN,SAAS,EACT,aAAa,EACb,cAAc,EACd,QAAe,GAChB,EAAE,0BAA0B,2CA0G5B"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { cn } from "../../../lib/utils";
|
|
5
|
-
export function DataTableEditableCell({ value, onEditComplete, type = "text", formatDisplay, suffix, prefix, className, textClassName, inputClassName, editable = true, }) {
|
|
6
|
-
const [isEditing, setIsEditing] = React.useState(false);
|
|
7
|
-
const [editValue, setEditValue] = React.useState(String(value));
|
|
8
|
-
const inputRef = React.useRef(null);
|
|
9
|
-
// Sync internal draft whenever the external value changes while NOT editing.
|
|
10
|
-
React.useEffect(() => {
|
|
11
|
-
if (!isEditing) {
|
|
12
|
-
setEditValue(String(value));
|
|
13
|
-
}
|
|
14
|
-
}, [value, isEditing]);
|
|
15
|
-
// Auto-focus & select all when entering edit mode.
|
|
16
|
-
React.useEffect(() => {
|
|
17
|
-
if (isEditing && inputRef.current) {
|
|
18
|
-
inputRef.current.focus();
|
|
19
|
-
inputRef.current.select();
|
|
20
|
-
}
|
|
21
|
-
}, [isEditing]);
|
|
22
|
-
const handleClick = (e) => {
|
|
23
|
-
if (!editable || isEditing)
|
|
24
|
-
return;
|
|
25
|
-
e.stopPropagation();
|
|
26
|
-
setEditValue(String(value));
|
|
27
|
-
setIsEditing(true);
|
|
28
|
-
};
|
|
29
|
-
const commit = () => {
|
|
30
|
-
setIsEditing(false);
|
|
31
|
-
onEditComplete(editValue);
|
|
32
|
-
};
|
|
33
|
-
const cancel = () => {
|
|
34
|
-
setIsEditing(false);
|
|
35
|
-
setEditValue(String(value));
|
|
36
|
-
};
|
|
37
|
-
const handleKeyDown = (e) => {
|
|
38
|
-
if (e.key === "Enter") {
|
|
39
|
-
e.preventDefault();
|
|
40
|
-
commit();
|
|
41
|
-
}
|
|
42
|
-
else if (e.key === "Escape") {
|
|
43
|
-
e.preventDefault();
|
|
44
|
-
cancel();
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
// ── Display mode ──────────────────────────────────────────────
|
|
48
|
-
if (!isEditing) {
|
|
49
|
-
const displayText = formatDisplay
|
|
50
|
-
? formatDisplay(value)
|
|
51
|
-
: String(value);
|
|
52
|
-
return (_jsxs("div", { className: cn("flex min-w-0 items-center gap-1", editable && "cursor-text", className), onClick: handleClick, children: [prefix && (_jsx("span", { className: "text-[14px] leading-4 text-[#666666]", children: prefix })), _jsx("span", { className: cn("text-[14px] leading-4 font-semibold text-[#1a1a1a] min-w-0 flex-1 truncate", textClassName), children: displayText }), suffix && (_jsx("span", { className: "text-[14px] leading-4 text-[#666666]", children: suffix }))] }));
|
|
53
|
-
}
|
|
54
|
-
// ── Edit mode ─────────────────────────────────────────────────
|
|
55
|
-
return (_jsx("div", { className: cn("flex min-w-0 items-center -m-[7px]", className), onClick: (e) => e.stopPropagation(), children: _jsx("input", { ref: inputRef, type: type, value: editValue, onChange: (e) => setEditValue(e.target.value), onBlur: commit, onKeyDown: handleKeyDown, className: cn("w-full rounded-[4px] border border-[#e6e6e6] bg-white px-[6px] py-[5px] text-[14px] leading-4 font-semibold text-[#1a1a1a] outline-none", "focus:border-[var(--primary,#0091ff)]", "transition-colors duration-100", inputClassName) }) }));
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=editable-cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"editable-cell.js","sourceRoot":"","sources":["../../../../src/components/data-table/cells/editable-cell.tsx"],"names":[],"mappings":"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"}
|