@join-x5/react-data-grid 1.1.1-nightly → 1.1.2-nightly
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/DataGrid.d.ts +3 -0
- package/dist/DataGrid.es.js +67 -0
- package/dist/DataGrid.es.js.map +1 -0
- package/dist/DataGridContext.d.ts +10 -0
- package/dist/DataGridContext.es.js +23 -0
- package/dist/DataGridContext.es.js.map +1 -0
- package/dist/Table/index.d.ts +25 -0
- package/dist/Table/index.es.js +93 -0
- package/dist/Table/index.es.js.map +1 -0
- package/dist/Table/types.d.ts +3 -0
- package/dist/TableBody/index.d.ts +11 -0
- package/dist/TableBody/index.es.js +26 -0
- package/dist/TableBody/index.es.js.map +1 -0
- package/dist/TableCell/hook.d.ts +4 -0
- package/dist/TableCell/hook.es.js +42 -0
- package/dist/TableCell/hook.es.js.map +1 -0
- package/dist/TableCell/index.d.ts +9 -0
- package/dist/TableCell/index.es.js +234 -0
- package/dist/TableCell/index.es.js.map +1 -0
- package/dist/TableCell/types.d.ts +46 -0
- package/dist/TableDropdown/index.d.ts +8 -0
- package/dist/TableDropdown/index.es.js +26 -0
- package/dist/TableDropdown/index.es.js.map +1 -0
- package/dist/TableHead/index.d.ts +6 -0
- package/dist/TableHead/index.es.js +31 -0
- package/dist/TableHead/index.es.js.map +1 -0
- package/dist/TableHeadCell/index.d.ts +14 -0
- package/dist/TableHeadCell/index.es.js +146 -0
- package/dist/TableHeadCell/index.es.js.map +1 -0
- package/dist/TableHeadCell/types.d.ts +37 -0
- package/dist/TableHeadCell/types.es.js +5 -0
- package/dist/TableHeadCell/types.es.js.map +1 -0
- package/dist/TableHeadRow/index.d.ts +3 -0
- package/dist/TableHeadRow/index.es.js +14 -0
- package/dist/TableHeadRow/index.es.js.map +1 -0
- package/dist/TableHeadRow/types.d.ts +2 -0
- package/dist/TableInputCell/button.d.ts +8 -0
- package/dist/TableInputCell/button.es.js +30 -0
- package/dist/TableInputCell/button.es.js.map +1 -0
- package/dist/TableInputCell/checkbox.d.ts +11 -0
- package/dist/TableInputCell/checkbox.es.js +32 -0
- package/dist/TableInputCell/checkbox.es.js.map +1 -0
- package/dist/TableInputCell/date.d.ts +18 -0
- package/dist/TableInputCell/date.es.js +40 -0
- package/dist/TableInputCell/date.es.js.map +1 -0
- package/dist/TableInputCell/dropdown.d.ts +19 -0
- package/dist/TableInputCell/dropdown.es.js +40 -0
- package/dist/TableInputCell/dropdown.es.js.map +1 -0
- package/dist/TableInputCell/expanding.d.ts +11 -0
- package/dist/TableInputCell/expanding.es.js +58 -0
- package/dist/TableInputCell/expanding.es.js.map +1 -0
- package/dist/TableInputCell/hook.d.ts +611 -0
- package/dist/TableInputCell/hook.es.js +52 -0
- package/dist/TableInputCell/hook.es.js.map +1 -0
- package/dist/TableInputCell/icon.d.ts +8 -0
- package/dist/TableInputCell/icon.es.js +30 -0
- package/dist/TableInputCell/icon.es.js.map +1 -0
- package/dist/TableInputCell/index.d.ts +10 -0
- package/dist/TableInputCell/label.d.ts +8 -0
- package/dist/TableInputCell/label.es.js +30 -0
- package/dist/TableInputCell/label.es.js.map +1 -0
- package/dist/TableInputCell/switch.d.ts +11 -0
- package/dist/TableInputCell/switch.es.js +32 -0
- package/dist/TableInputCell/switch.es.js.map +1 -0
- package/dist/TableInputCell/text.d.ts +22 -0
- package/dist/TableInputCell/text.es.js +91 -0
- package/dist/TableInputCell/text.es.js.map +1 -0
- package/dist/TableInputCell/textarea.d.ts +23 -0
- package/dist/TableInputCell/textarea.es.js +83 -0
- package/dist/TableInputCell/textarea.es.js.map +1 -0
- package/dist/TableInputCell/types.d.ts +4 -0
- package/dist/TableRow/index.d.ts +5 -0
- package/dist/TableRow/index.es.js +25 -0
- package/dist/TableRow/index.es.js.map +1 -0
- package/dist/TableRow/types.d.ts +2 -0
- package/dist/hook.d.ts +3 -0
- package/dist/hook.es.js +23 -0
- package/dist/hook.es.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.es.js +72 -0
- package/dist/index.es.js.map +1 -0
- package/dist/types.d.ts +54 -0
- package/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as n, jsxs as u } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import { forwardRef as s, SizeTokenValue as r } from "@join-x5/react-theme";
|
|
4
|
+
import { ChevronDownIcon as g, ChevronRightIcon as m } from "@join-x5/react-icons";
|
|
5
|
+
import { IconButton as h, ButtonVariant as f } from "@join-x5/react";
|
|
6
|
+
import { TableCell as C, TableCellContent as d } from "../TableCell/index.es.js";
|
|
7
|
+
import { useDataGridInputCell as I } from "./hook.es.js";
|
|
8
|
+
const w = (p, a, t) => {
|
|
9
|
+
const e = p * 20 + (t ? 0 : 8);
|
|
10
|
+
switch (a) {
|
|
11
|
+
case r.XXSmall:
|
|
12
|
+
return `4px 8px 4px ${e + 4}px`;
|
|
13
|
+
case r.XSmall:
|
|
14
|
+
return `4px 8px 4px ${e + 4}px`;
|
|
15
|
+
case r.Small:
|
|
16
|
+
return `4px 8px 4px ${e + 4}px`;
|
|
17
|
+
case r.Large:
|
|
18
|
+
return `10px 12px 10px ${e + 8}px`;
|
|
19
|
+
case r.XLarge:
|
|
20
|
+
return `10px 12px 10px ${e + 8}px`;
|
|
21
|
+
default:
|
|
22
|
+
return `8px 12px 8px ${e + 8}px`;
|
|
23
|
+
}
|
|
24
|
+
}, x = s((p, a) => {
|
|
25
|
+
const {
|
|
26
|
+
depth: t,
|
|
27
|
+
isParent: e,
|
|
28
|
+
padding: o,
|
|
29
|
+
...l
|
|
30
|
+
} = p, i = o ?? w(t, p.size, e);
|
|
31
|
+
return /* @__PURE__ */ n(C, { ref: a, padding: i, ...l });
|
|
32
|
+
}), b = s((p, a) => {
|
|
33
|
+
const {
|
|
34
|
+
cell: t,
|
|
35
|
+
children: e
|
|
36
|
+
} = p, o = I(t);
|
|
37
|
+
if (!t.row.getCanExpand())
|
|
38
|
+
return /* @__PURE__ */ n(x, { ref: a, depth: t.row.depth, ...o, children: /* @__PURE__ */ n(d, { children: e }) });
|
|
39
|
+
const l = (() => {
|
|
40
|
+
const c = t.row.getIsExpanded() ? g : m;
|
|
41
|
+
return /* @__PURE__ */ n(h, { "data-action": !0, tabIndex: -1, variant: f.InnerInput, size: r.XSmall, onClick: t.row.getToggleExpandedHandler(), children: /* @__PURE__ */ n(c, { size: r.Small }) });
|
|
42
|
+
})(), i = {
|
|
43
|
+
display: "flex",
|
|
44
|
+
gap: "4px",
|
|
45
|
+
width: "100%",
|
|
46
|
+
height: "100%",
|
|
47
|
+
alignItems: "center"
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ n(x, { isParent: !0, ref: a, depth: t.row.depth, ...o, children: /* @__PURE__ */ u("div", { style: i, children: [
|
|
50
|
+
l,
|
|
51
|
+
/* @__PURE__ */ n(d, { children: e })
|
|
52
|
+
] }) });
|
|
53
|
+
});
|
|
54
|
+
export {
|
|
55
|
+
b as DataGridExpandingCell,
|
|
56
|
+
x as ExpandingCell
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=expanding.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expanding.es.js","sources":["../../src/TableInputCell/expanding.tsx"],"sourcesContent":["'use client';\n\nimport {forwardRef, SizeTokenValue} from '@join-x5/react-theme';\nimport {ChevronDownIcon, ChevronRightIcon} from '@join-x5/react-icons';\nimport {IconButton, ButtonVariant} from '@join-x5/react';\n\nimport {TableCell, TableCellContent} from '../TableCell';\n\nimport {useDataGridInputCell} from './hook';\n\nimport type {FRC, PropsWithChildren, CSSProperties} from '@join-x5/react-theme';\nimport type {DataGridTableCellProps, TableCellProps} from '../TableCell';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype DefaultAny = any;\n\ntype TExpandingCell = FRC<\n HTMLTableCellElement,\n {\n depth: number;\n isParent?: boolean;\n } & TableCellProps\n>;\n\nconst sizePadding = (depth: number, size?: SizeTokenValue, isParent?: boolean): CSSProperties['padding'] => {\n const paddingOffset = depth * 20 + (isParent ? 0 : 8);\n\n switch (size) {\n case SizeTokenValue.XXSmall:\n return `4px 8px 4px ${paddingOffset + 4}px`;\n case SizeTokenValue.XSmall:\n return `4px 8px 4px ${paddingOffset + 4}px`;\n case SizeTokenValue.Small:\n return `4px 8px 4px ${paddingOffset + 4}px`;\n case SizeTokenValue.Large:\n return `10px 12px 10px ${paddingOffset + 8}px`;\n case SizeTokenValue.XLarge:\n return `10px 12px 10px ${paddingOffset + 8}px`;\n default:\n return `8px 12px 8px ${paddingOffset + 8}px`;\n }\n};\n\nexport const ExpandingCell: TExpandingCell = forwardRef((props, ref) => {\n const {depth, isParent, padding, ...rest} = props;\n\n const resultPadding = padding ?? sizePadding(depth, props.size, isParent);\n\n return <TableCell ref={ref} padding={resultPadding} {...rest} />;\n});\n\nexport type DataGridExpandingCellProps<T = DefaultAny, V = DefaultAny> = DataGridTableCellProps<T, V> &\n PropsWithChildren;\n\nexport const DataGridExpandingCell: FRC<HTMLTableCellElement, DataGridExpandingCellProps> = forwardRef((props, ref) => {\n const {cell, children} = props;\n\n const cellProps = useDataGridInputCell(cell);\n\n if (!cell.row.getCanExpand()) {\n return (\n <ExpandingCell ref={ref} depth={cell.row.depth} {...cellProps}>\n <TableCellContent>{children}</TableCellContent>\n </ExpandingCell>\n );\n }\n\n const button = (() => {\n const Icon = cell.row.getIsExpanded() ? ChevronDownIcon : ChevronRightIcon;\n\n return (\n <IconButton\n data-action\n tabIndex={-1}\n variant={ButtonVariant.InnerInput}\n size={SizeTokenValue.XSmall}\n onClick={cell.row.getToggleExpandedHandler()}\n >\n <Icon size={SizeTokenValue.Small} />\n </IconButton>\n );\n })();\n\n const contentStyle = {\n display: 'flex',\n gap: '4px',\n width: '100%',\n height: '100%',\n alignItems: 'center',\n };\n\n return (\n <ExpandingCell isParent ref={ref} depth={cell.row.depth} {...cellProps}>\n <div style={contentStyle}>\n {button}\n <TableCellContent>{children}</TableCellContent>\n </div>\n </ExpandingCell>\n );\n});\n"],"names":["depth","isParent","padding","rest","cell","children","button"],"mappings":";;;;;;;AAwBA;AACE;AAEA;AAAY;AAED;AAAgC;AAEhC;AAAgC;AAEhC;AAAgC;AAEhC;AAAmC;AAEnC;AAAmC;AAEnC;AAAiC;AAE9C;AAGQ;AAAA;AAACA;AAAOC;AAAUC;AAAYC;AAIpC;AACF;AAMQ;AAAA;AAACC;AAAMC;AAIb;AACE;AAOF;AACE;AAGE;AAQA;AAIiB;AACV;AACJ;AACE;AACC;AACI;AAGd;AAGOC;AAAAA;AAC2B;AAIpC;;;;;"}
|