@join-x5/react-data-grid 1.6.0 → 1.6.1-rc2
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/TableInputCell/text.d.ts +5 -1
- package/dist/TableInputCell/text.es.js +61 -57
- package/dist/TableInputCell/text.es.js.map +1 -1
- package/dist/TableRow/index.d.ts +4 -0
- package/dist/TableRow/index.es.js +16 -15
- package/dist/TableRow/index.es.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +14 -13
- package/package.json +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FocusEvent, InputHTMLAttributes } from 'react';
|
|
1
|
+
import { ChangeEvent, Dispatch, FocusEvent, InputHTMLAttributes } from 'react';
|
|
2
2
|
import { Cell as ReactTableCell } from '@tanstack/react-table';
|
|
3
3
|
import { FRC, PropsWithChildren } from '@join-x5/react-theme';
|
|
4
4
|
import { DataGridTableCellProps, TableCellProps } from '../TableCell';
|
|
@@ -7,6 +7,10 @@ type DefaultAny = any;
|
|
|
7
7
|
export type TextInputProps = {
|
|
8
8
|
value: string;
|
|
9
9
|
onChange: (newValue: string, e: FocusEvent<HTMLInputElement>) => void;
|
|
10
|
+
/** Позволяет контролировать ввод,
|
|
11
|
+
*
|
|
12
|
+
* пример ограничение по символам */
|
|
13
|
+
onInputChange?: (e: ChangeEvent<HTMLInputElement>, setValue: Dispatch<string>) => void;
|
|
10
14
|
} & Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>;
|
|
11
15
|
type TTextInputCell = FRC<HTMLTableCellElement, {
|
|
12
16
|
inputProps: TextInputProps;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import { useState as
|
|
5
|
-
import { forwardRef as
|
|
6
|
-
import { TableCell as
|
|
7
|
-
import { useTableCellTextInput as
|
|
8
|
-
function
|
|
2
|
+
import { jsx as W, jsxs as a } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import i from "@emotion/styled/base";
|
|
4
|
+
import { useState as o, useEffect as F } from "react";
|
|
5
|
+
import { forwardRef as C } from "@join-x5/react-theme";
|
|
6
|
+
import { TableCell as Y, TableCellContent as h } from "../TableCell/index.es.js";
|
|
7
|
+
import { useTableCellTextInput as J, useDataGridInputCell as N } from "./hook.es.js";
|
|
8
|
+
function B() {
|
|
9
9
|
return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
|
|
10
10
|
}
|
|
11
|
-
const
|
|
11
|
+
const Q = /* @__PURE__ */ i("div", process.env.NODE_ENV === "production" ? {
|
|
12
12
|
target: "ewl8o3j1"
|
|
13
13
|
} : {
|
|
14
14
|
target: "ewl8o3j1",
|
|
@@ -18,9 +18,9 @@ const J = /* @__PURE__ */ W("div", process.env.NODE_ENV === "production" ? {
|
|
|
18
18
|
styles: "&[data-hidden]{visibility:hidden;pointer-events:none;}"
|
|
19
19
|
} : {
|
|
20
20
|
name: "1juk05q",
|
|
21
|
-
styles: "&[data-hidden]{visibility:hidden;pointer-events:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
-
toString:
|
|
23
|
-
}),
|
|
21
|
+
styles: "&[data-hidden]{visibility:hidden;pointer-events:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL2RhdGEtZ3JpZC9zcmMvVGFibGVJbnB1dENlbGwvdGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEIrQiIsImZpbGUiOiIvaG9tZS9zYWR5a292c2Qvam9pbi14NS9wYWNrYWdlcy9kYXRhLWdyaWQvc3JjL1RhYmxlSW5wdXRDZWxsL3RleHQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtmb3J3YXJkUmVmfSBmcm9tICdAam9pbi14NS9yZWFjdC10aGVtZSc7XG5cbmltcG9ydCB7VGFibGVDZWxsLCBUYWJsZUNlbGxDb250ZW50fSBmcm9tICcuLi9UYWJsZUNlbGwnO1xuXG5pbXBvcnQge3VzZURhdGFHcmlkSW5wdXRDZWxsLCB1c2VUYWJsZUNlbGxUZXh0SW5wdXR9IGZyb20gJy4vaG9vayc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgRGlzcGF0Y2gsXG4gIEZvY3VzRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Q2VsbCBhcyBSZWFjdFRhYmxlQ2VsbH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXRhYmxlJztcbmltcG9ydCB0eXBlIHtGUkMsIFByb3BzV2l0aENoaWxkcmVufSBmcm9tICdAam9pbi14NS9yZWFjdC10aGVtZSc7XG5pbXBvcnQgdHlwZSB7RGF0YUdyaWRUYWJsZUNlbGxQcm9wcywgVGFibGVDZWxsUHJvcHN9IGZyb20gJy4uL1RhYmxlQ2VsbCc7XG5pbXBvcnQgdHlwZSB7Q29sdW1uRGVmVGVtcGxhdGV9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBDaGlsZENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAmW2RhdGEtaGlkZGVuXSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dGBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAmW2RhdGEtaGlkZGVuXSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5gO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxudHlwZSBEZWZhdWx0QW55ID0gYW55O1xuXG5leHBvcnQgdHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgb25DaGFuZ2U6IChuZXdWYWx1ZTogc3RyaW5nLCBlOiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuXG4gIC8qKiDQn9C+0LfQstC+0LvRj9C10YIg0LrQvtC90YLRgNC+0LvQuNGA0L7QstCw0YLRjCDQstCy0L7QtCxcbiAgICpcbiAgICog0L/RgNC40LzQtdGAINC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0L/QviDRgdC40LzQstC+0LvQsNC8ICovXG4gIG9uSW5wdXRDaGFuZ2U/OiAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sIHNldFZhbHVlOiBEaXNwYXRjaDxzdHJpbmc+KSA9PiB2b2lkO1xufSAmIE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+O1xuXG50eXBlIFRUZXh0SW5wdXRDZWxsID0gRlJDPFxuICBIVE1MVGFibGVDZWxsRWxlbWVudCxcbiAge1xuICAgIGlucHV0UHJvcHM6IFRleHRJbnB1dFByb3BzO1xuICB9ICYgT21pdDxUYWJsZUNlbGxQcm9wcywgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+XG4+O1xuXG5leHBvcnQgY29uc3QgVGV4dElucHV0Q2VsbDogVFRleHRJbnB1dENlbGwgPSBmb3J3YXJkUmVmKChwcm9wcywgYmFzZVJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgaW5wdXRQcm9wczoge29uSW5wdXRDaGFuZ2UsIHZhbHVlOiBwYXJlbnRWYWx1ZSwgLi4ucmVzdElucHV0UHJvcHN9LFxuXG4gICAgLi4ucmVzdFByb3BzXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCB7Y2VsbFByb3BzLCByZWYsIGlucHV0UmVmfSA9IHVzZVRhYmxlQ2VsbFRleHRJbnB1dDxIVE1MSW5wdXRFbGVtZW50PihyZXN0UHJvcHMsIGJhc2VSZWYpO1xuXG4gIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUocGFyZW50VmFsdWUgPz8gJycpO1xuXG4gIGNvbnN0IG9uQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBlID0+IHtcbiAgICBpZiAob25JbnB1dENoYW5nZSkge1xuICAgICAgb25JbnB1dENoYW5nZShlLCBzZXRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlKGUudGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25LZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IGUgPT4ge1xuICAgIGNvbnN0IGlzRW50ZXJDb2RlID0gZS5jb2RlID09PSAnRW50ZXInIHx8IGUuY29kZSA9PT0gJ051bXBhZEVudGVyJztcbiAgICBjb25zdCBpc05hdmlnYXRpb24gPVxuICAgICAgZS5jb2RlID09PSAnQXJyb3dVcCcgfHwgZS5jb2RlID09PSAnQXJyb3dEb3duJyB8fCBlLmNvZGUgPT09ICdBcnJvd0xlZnQnIHx8IGUuY29kZSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGUuY29kZSA9PT0gJ0VzY2FwZScgfHwgaXNFbnRlckNvZGUpIHtcbiAgICAgIHJlc3RQcm9wcy5zZXRJc0FjdGl2ZT8uKGZhbHNlKTtcbiAgICAgIGUuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgfVxuXG4gICAgcmVzdElucHV0UHJvcHMub25LZXlEb3duPy4oZSk7XG5cbiAgICBpZiAoaXNOYXZpZ2F0aW9uKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gZSA9PiB7XG4gICAgcmVzdFByb3BzLnNldElzQWN0aXZlPy4oZmFsc2UpO1xuXG4gICAgcmVzdElucHV0UHJvcHMub25DaGFuZ2UodmFsdWUsIGUpO1xuICAgIHJlc3RJbnB1dFByb3BzLm9uQmx1cj8uKGUpO1xuICAgIHJlZi5jdXJyZW50Py5ibHVyKCk7XG4gIH07XG5cbiAgY29uc3QgaXNDaGlsZEhpZGRlbiA9IHByb3BzLmlzQWN0aXZlID8gdHJ1ZSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCByZXN1bHRQcm9wcyA9IHtcbiAgICAuLi5yZXN0SW5wdXRQcm9wcyxcblxuICAgIHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICAgIG9uS2V5RG93bixcbiAgICBvbkJsdXIsXG5cbiAgICBzaXplOiAwLFxuICAgICdkYXRhLWhpZGRlbic6IHJlc3RQcm9wcy5pc0FjdGl2ZSA/IHVuZGVmaW5lZCA6IHRydWUsXG4gIH07XG5cbiAgY29uc3QgY29udGVudFByb3BzID0ge1xuICAgIGlzTXVsdGlsaW5lOiBjZWxsUHJvcHMuaXNNdWx0aWxpbmUsXG4gICAgd2hpdGVTcGFjZTogY2VsbFByb3BzLndoaXRlU3BhY2UsXG4gICAgd29yZEJyZWFrOiBjZWxsUHJvcHMud29yZEJyZWFrLFxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VmFsdWUocGFyZW50VmFsdWUpO1xuICB9LCBbcGFyZW50VmFsdWVdKTtcblxuICByZXR1cm4gKFxuICAgIDxUYWJsZUNlbGwgey4uLmNlbGxQcm9wc30+XG4gICAgICA8VGFibGVDZWxsQ29udGVudCB7Li4uY29udGVudFByb3BzfT5cbiAgICAgICAgPENoaWxkQ29udGVudCBkYXRhLWhpZGRlbj17aXNDaGlsZEhpZGRlbn0+e3Jlc3RQcm9wcy5jaGlsZHJlbn08L0NoaWxkQ29udGVudD5cbiAgICAgICAgPElucHV0IHJlZj17aW5wdXRSZWZ9IHsuLi5yZXN1bHRQcm9wc30gLz5cbiAgICAgIDwvVGFibGVDZWxsQ29udGVudD5cbiAgICA8L1RhYmxlQ2VsbD5cbiAgKTtcbn0pO1xuXG5leHBvcnQgdHlwZSBEYXRhR3JpZFRleHRJbnB1dENlbGxQcm9wczxUID0gRGVmYXVsdEFueSwgViA9IERlZmF1bHRBbnk+ID0ge1xuICBnZXRWYWx1ZTogKGNlbGw6IFJlYWN0VGFibGVDZWxsPFQsIFY+KSA9PiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoY2VsbDogUmVhY3RUYWJsZUNlbGw8VCwgVj4sIG5ld1ZhbHVlOiBzdHJpbmcsIGU6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWQ7XG59ICYgT21pdDxUZXh0SW5wdXRQcm9wcywgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+ICZcbiAgRGF0YUdyaWRUYWJsZUNlbGxQcm9wczxULCBWPiAmXG4gIFByb3BzV2l0aENoaWxkcmVuO1xuXG5leHBvcnQgY29uc3QgRGF0YUdyaWRUZXh0SW5wdXRDZWxsOiBGUkM8SFRNTFRhYmxlQ2VsbEVsZW1lbnQsIERhdGFHcmlkVGV4dElucHV0Q2VsbFByb3BzPiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgY29uc3Qge2NlbGwsIGdldFZhbHVlLCBvbkNoYW5nZSwgY2hpbGRyZW4sIC4uLnJlc3R9ID0gcHJvcHM7XG5cbiAgY29uc3QgY2VsbFByb3BzID0gdXNlRGF0YUdyaWRJbnB1dENlbGwoY2VsbCk7XG5cbiAgY29uc3QgaW5wdXRQcm9wcyA9IHJlc3QgYXMgVGV4dElucHV0UHJvcHM7XG4gIGlucHV0UHJvcHMudmFsdWUgPSBnZXRWYWx1ZShjZWxsKTtcbiAgaW5wdXRQcm9wcy5vbkNoYW5nZSA9IChuZXdWYWx1ZSwgZSkgPT4gb25DaGFuZ2UoY2VsbCwgbmV3VmFsdWUsIGUpO1xuXG4gIHJldHVybiAoXG4gICAgPFRleHRJbnB1dENlbGwgcmVmPXtyZWZ9IHsuLi5jZWxsUHJvcHN9IGlucHV0UHJvcHM9e2lucHV0UHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvVGV4dElucHV0Q2VsbD5cbiAgKTtcbn0pO1xuXG5leHBvcnQgdHlwZSBHZXREYXRhR3JpZFRleHRJbnB1dENlbGxBcmdzPFQgPSBEZWZhdWx0QW55LCBWID0gRGVmYXVsdEFueT4gPSBPbWl0PFxuICBEYXRhR3JpZFRleHRJbnB1dENlbGxQcm9wczxULCBWPixcbiAgJ2NlbGwnIHwgJ2NoaWxkcmVuJ1xuPjtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFHcmlkVGV4dElucHV0Q2VsbCA9IDxULCBWPihhcmdzOiBHZXREYXRhR3JpZFRleHRJbnB1dENlbGxBcmdzPFQsIFY+KTogQ29sdW1uRGVmVGVtcGxhdGU8VCwgVj4gPT4ge1xuICByZXR1cm4gKHtjZWxsfSkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoY2VsbC5nZXRWYWx1ZSgpID8/IG51bGwpIGFzIFJlYWN0Tm9kZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RGF0YUdyaWRUZXh0SW5wdXRDZWxsIGtleT17Y2VsbC5pZH0gY2VsbD17Y2VsbH0gey4uLmFyZ3N9PlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvRGF0YUdyaWRUZXh0SW5wdXRDZWxsPlxuICAgICk7XG4gIH07XG59O1xuIl19 */",
|
|
22
|
+
toString: B
|
|
23
|
+
}), y = /* @__PURE__ */ i("input", process.env.NODE_ENV === "production" ? {
|
|
24
24
|
target: "ewl8o3j0"
|
|
25
25
|
} : {
|
|
26
26
|
target: "ewl8o3j0",
|
|
@@ -30,60 +30,64 @@ const J = /* @__PURE__ */ W("div", process.env.NODE_ENV === "production" ? {
|
|
|
30
30
|
styles: "position:absolute;top:0;left:0;width:100%;min-width:10px;padding:0;background-color:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;&[data-hidden]{visibility:hidden;pointer-events:none;}"
|
|
31
31
|
} : {
|
|
32
32
|
name: "kvz3z7",
|
|
33
|
-
styles: "position:absolute;top:0;left:0;width:100%;min-width:10px;padding:0;background-color:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;&[data-hidden]{visibility:hidden;pointer-events:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
-
toString:
|
|
35
|
-
}),
|
|
36
|
-
inputProps: c,
|
|
37
|
-
...b
|
|
38
|
-
}, G) => {
|
|
33
|
+
styles: "position:absolute;top:0;left:0;width:100%;min-width:10px;padding:0;background-color:transparent;border:none;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;&[data-hidden]{visibility:hidden;pointer-events:none;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL2RhdGEtZ3JpZC9zcmMvVGFibGVJbnB1dENlbGwvdGV4dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUMwQiIsImZpbGUiOiIvaG9tZS9zYWR5a292c2Qvam9pbi14NS9wYWNrYWdlcy9kYXRhLWdyaWQvc3JjL1RhYmxlSW5wdXRDZWxsL3RleHQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtmb3J3YXJkUmVmfSBmcm9tICdAam9pbi14NS9yZWFjdC10aGVtZSc7XG5cbmltcG9ydCB7VGFibGVDZWxsLCBUYWJsZUNlbGxDb250ZW50fSBmcm9tICcuLi9UYWJsZUNlbGwnO1xuXG5pbXBvcnQge3VzZURhdGFHcmlkSW5wdXRDZWxsLCB1c2VUYWJsZUNlbGxUZXh0SW5wdXR9IGZyb20gJy4vaG9vayc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgRGlzcGF0Y2gsXG4gIEZvY3VzRXZlbnQsXG4gIEZvY3VzRXZlbnRIYW5kbGVyLFxuICBJbnB1dEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7Q2VsbCBhcyBSZWFjdFRhYmxlQ2VsbH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXRhYmxlJztcbmltcG9ydCB0eXBlIHtGUkMsIFByb3BzV2l0aENoaWxkcmVufSBmcm9tICdAam9pbi14NS9yZWFjdC10aGVtZSc7XG5pbXBvcnQgdHlwZSB7RGF0YUdyaWRUYWJsZUNlbGxQcm9wcywgVGFibGVDZWxsUHJvcHN9IGZyb20gJy4uL1RhYmxlQ2VsbCc7XG5pbXBvcnQgdHlwZSB7Q29sdW1uRGVmVGVtcGxhdGV9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBDaGlsZENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAmW2RhdGEtaGlkZGVuXSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBJbnB1dCA9IHN0eWxlZC5pbnB1dGBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAmW2RhdGEtaGlkZGVuXSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5gO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxudHlwZSBEZWZhdWx0QW55ID0gYW55O1xuXG5leHBvcnQgdHlwZSBUZXh0SW5wdXRQcm9wcyA9IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgb25DaGFuZ2U6IChuZXdWYWx1ZTogc3RyaW5nLCBlOiBGb2N1c0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkO1xuXG4gIC8qKiDQn9C+0LfQstC+0LvRj9C10YIg0LrQvtC90YLRgNC+0LvQuNGA0L7QstCw0YLRjCDQstCy0L7QtCxcbiAgICpcbiAgICog0L/RgNC40LzQtdGAINC+0LPRgNCw0L3QuNGH0LXQvdC40LUg0L/QviDRgdC40LzQstC+0LvQsNC8ICovXG4gIG9uSW5wdXRDaGFuZ2U/OiAoZTogQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4sIHNldFZhbHVlOiBEaXNwYXRjaDxzdHJpbmc+KSA9PiB2b2lkO1xufSAmIE9taXQ8SW5wdXRIVE1MQXR0cmlidXRlczxIVE1MSW5wdXRFbGVtZW50PiwgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+O1xuXG50eXBlIFRUZXh0SW5wdXRDZWxsID0gRlJDPFxuICBIVE1MVGFibGVDZWxsRWxlbWVudCxcbiAge1xuICAgIGlucHV0UHJvcHM6IFRleHRJbnB1dFByb3BzO1xuICB9ICYgT21pdDxUYWJsZUNlbGxQcm9wcywgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+XG4+O1xuXG5leHBvcnQgY29uc3QgVGV4dElucHV0Q2VsbDogVFRleHRJbnB1dENlbGwgPSBmb3J3YXJkUmVmKChwcm9wcywgYmFzZVJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgaW5wdXRQcm9wczoge29uSW5wdXRDaGFuZ2UsIHZhbHVlOiBwYXJlbnRWYWx1ZSwgLi4ucmVzdElucHV0UHJvcHN9LFxuXG4gICAgLi4ucmVzdFByb3BzXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCB7Y2VsbFByb3BzLCByZWYsIGlucHV0UmVmfSA9IHVzZVRhYmxlQ2VsbFRleHRJbnB1dDxIVE1MSW5wdXRFbGVtZW50PihyZXN0UHJvcHMsIGJhc2VSZWYpO1xuXG4gIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlU3RhdGUocGFyZW50VmFsdWUgPz8gJycpO1xuXG4gIGNvbnN0IG9uQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBlID0+IHtcbiAgICBpZiAob25JbnB1dENoYW5nZSkge1xuICAgICAgb25JbnB1dENoYW5nZShlLCBzZXRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlKGUudGFyZ2V0LnZhbHVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25LZXlEb3duOiBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IGUgPT4ge1xuICAgIGNvbnN0IGlzRW50ZXJDb2RlID0gZS5jb2RlID09PSAnRW50ZXInIHx8IGUuY29kZSA9PT0gJ051bXBhZEVudGVyJztcbiAgICBjb25zdCBpc05hdmlnYXRpb24gPVxuICAgICAgZS5jb2RlID09PSAnQXJyb3dVcCcgfHwgZS5jb2RlID09PSAnQXJyb3dEb3duJyB8fCBlLmNvZGUgPT09ICdBcnJvd0xlZnQnIHx8IGUuY29kZSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGUuY29kZSA9PT0gJ0VzY2FwZScgfHwgaXNFbnRlckNvZGUpIHtcbiAgICAgIHJlc3RQcm9wcy5zZXRJc0FjdGl2ZT8uKGZhbHNlKTtcbiAgICAgIGUuY3VycmVudFRhcmdldC5ibHVyKCk7XG4gICAgfVxuXG4gICAgcmVzdElucHV0UHJvcHMub25LZXlEb3duPy4oZSk7XG5cbiAgICBpZiAoaXNOYXZpZ2F0aW9uKSB7XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvbkJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gZSA9PiB7XG4gICAgcmVzdFByb3BzLnNldElzQWN0aXZlPy4oZmFsc2UpO1xuXG4gICAgcmVzdElucHV0UHJvcHMub25DaGFuZ2UodmFsdWUsIGUpO1xuICAgIHJlc3RJbnB1dFByb3BzLm9uQmx1cj8uKGUpO1xuICAgIHJlZi5jdXJyZW50Py5ibHVyKCk7XG4gIH07XG5cbiAgY29uc3QgaXNDaGlsZEhpZGRlbiA9IHByb3BzLmlzQWN0aXZlID8gdHJ1ZSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCByZXN1bHRQcm9wcyA9IHtcbiAgICAuLi5yZXN0SW5wdXRQcm9wcyxcblxuICAgIHZhbHVlLFxuICAgIG9uQ2hhbmdlLFxuICAgIG9uS2V5RG93bixcbiAgICBvbkJsdXIsXG5cbiAgICBzaXplOiAwLFxuICAgICdkYXRhLWhpZGRlbic6IHJlc3RQcm9wcy5pc0FjdGl2ZSA/IHVuZGVmaW5lZCA6IHRydWUsXG4gIH07XG5cbiAgY29uc3QgY29udGVudFByb3BzID0ge1xuICAgIGlzTXVsdGlsaW5lOiBjZWxsUHJvcHMuaXNNdWx0aWxpbmUsXG4gICAgd2hpdGVTcGFjZTogY2VsbFByb3BzLndoaXRlU3BhY2UsXG4gICAgd29yZEJyZWFrOiBjZWxsUHJvcHMud29yZEJyZWFrLFxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VmFsdWUocGFyZW50VmFsdWUpO1xuICB9LCBbcGFyZW50VmFsdWVdKTtcblxuICByZXR1cm4gKFxuICAgIDxUYWJsZUNlbGwgey4uLmNlbGxQcm9wc30+XG4gICAgICA8VGFibGVDZWxsQ29udGVudCB7Li4uY29udGVudFByb3BzfT5cbiAgICAgICAgPENoaWxkQ29udGVudCBkYXRhLWhpZGRlbj17aXNDaGlsZEhpZGRlbn0+e3Jlc3RQcm9wcy5jaGlsZHJlbn08L0NoaWxkQ29udGVudD5cbiAgICAgICAgPElucHV0IHJlZj17aW5wdXRSZWZ9IHsuLi5yZXN1bHRQcm9wc30gLz5cbiAgICAgIDwvVGFibGVDZWxsQ29udGVudD5cbiAgICA8L1RhYmxlQ2VsbD5cbiAgKTtcbn0pO1xuXG5leHBvcnQgdHlwZSBEYXRhR3JpZFRleHRJbnB1dENlbGxQcm9wczxUID0gRGVmYXVsdEFueSwgViA9IERlZmF1bHRBbnk+ID0ge1xuICBnZXRWYWx1ZTogKGNlbGw6IFJlYWN0VGFibGVDZWxsPFQsIFY+KSA9PiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoY2VsbDogUmVhY3RUYWJsZUNlbGw8VCwgVj4sIG5ld1ZhbHVlOiBzdHJpbmcsIGU6IEZvY3VzRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWQ7XG59ICYgT21pdDxUZXh0SW5wdXRQcm9wcywgJ3ZhbHVlJyB8ICdvbkNoYW5nZSc+ICZcbiAgRGF0YUdyaWRUYWJsZUNlbGxQcm9wczxULCBWPiAmXG4gIFByb3BzV2l0aENoaWxkcmVuO1xuXG5leHBvcnQgY29uc3QgRGF0YUdyaWRUZXh0SW5wdXRDZWxsOiBGUkM8SFRNTFRhYmxlQ2VsbEVsZW1lbnQsIERhdGFHcmlkVGV4dElucHV0Q2VsbFByb3BzPiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgY29uc3Qge2NlbGwsIGdldFZhbHVlLCBvbkNoYW5nZSwgY2hpbGRyZW4sIC4uLnJlc3R9ID0gcHJvcHM7XG5cbiAgY29uc3QgY2VsbFByb3BzID0gdXNlRGF0YUdyaWRJbnB1dENlbGwoY2VsbCk7XG5cbiAgY29uc3QgaW5wdXRQcm9wcyA9IHJlc3QgYXMgVGV4dElucHV0UHJvcHM7XG4gIGlucHV0UHJvcHMudmFsdWUgPSBnZXRWYWx1ZShjZWxsKTtcbiAgaW5wdXRQcm9wcy5vbkNoYW5nZSA9IChuZXdWYWx1ZSwgZSkgPT4gb25DaGFuZ2UoY2VsbCwgbmV3VmFsdWUsIGUpO1xuXG4gIHJldHVybiAoXG4gICAgPFRleHRJbnB1dENlbGwgcmVmPXtyZWZ9IHsuLi5jZWxsUHJvcHN9IGlucHV0UHJvcHM9e2lucHV0UHJvcHN9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvVGV4dElucHV0Q2VsbD5cbiAgKTtcbn0pO1xuXG5leHBvcnQgdHlwZSBHZXREYXRhR3JpZFRleHRJbnB1dENlbGxBcmdzPFQgPSBEZWZhdWx0QW55LCBWID0gRGVmYXVsdEFueT4gPSBPbWl0PFxuICBEYXRhR3JpZFRleHRJbnB1dENlbGxQcm9wczxULCBWPixcbiAgJ2NlbGwnIHwgJ2NoaWxkcmVuJ1xuPjtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFHcmlkVGV4dElucHV0Q2VsbCA9IDxULCBWPihhcmdzOiBHZXREYXRhR3JpZFRleHRJbnB1dENlbGxBcmdzPFQsIFY+KTogQ29sdW1uRGVmVGVtcGxhdGU8VCwgVj4gPT4ge1xuICByZXR1cm4gKHtjZWxsfSkgPT4ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSAoY2VsbC5nZXRWYWx1ZSgpID8/IG51bGwpIGFzIFJlYWN0Tm9kZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RGF0YUdyaWRUZXh0SW5wdXRDZWxsIGtleT17Y2VsbC5pZH0gY2VsbD17Y2VsbH0gey4uLmFyZ3N9PlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvRGF0YUdyaWRUZXh0SW5wdXRDZWxsPlxuICAgICk7XG4gIH07XG59O1xuIl19 */",
|
|
34
|
+
toString: B
|
|
35
|
+
}), w = C((G, c) => {
|
|
39
36
|
const {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
onKeyDown
|
|
55
|
-
|
|
37
|
+
inputProps: {
|
|
38
|
+
onInputChange: l,
|
|
39
|
+
value: Z,
|
|
40
|
+
...g
|
|
41
|
+
},
|
|
42
|
+
...I
|
|
43
|
+
} = G, {
|
|
44
|
+
cellProps: d,
|
|
45
|
+
ref: n,
|
|
46
|
+
inputRef: u
|
|
47
|
+
} = J(I, c), [X, V] = o(Z ?? ""), x = (b) => {
|
|
48
|
+
l ? l(b, V) : V(b.target.value);
|
|
49
|
+
}, t = (b) => {
|
|
50
|
+
const e = b.code === "Enter" || b.code === "NumpadEnter", A = b.code === "ArrowUp" || b.code === "ArrowDown" || b.code === "ArrowLeft" || b.code === "ArrowRight";
|
|
51
|
+
(b.code === "Escape" || e) && (I.setIsActive?.(!1), b.currentTarget.blur()), g.onKeyDown?.(b), A && b.stopPropagation();
|
|
52
|
+
}, R = (b) => {
|
|
53
|
+
I.setIsActive?.(!1), g.onChange(X, b), g.onBlur?.(b), n.current?.blur();
|
|
54
|
+
}, s = G.isActive ? !0 : void 0, H = {
|
|
55
|
+
...g,
|
|
56
|
+
value: X,
|
|
57
|
+
onChange: x,
|
|
58
|
+
onKeyDown: t,
|
|
59
|
+
onBlur: R,
|
|
56
60
|
size: 0,
|
|
57
|
-
"data-hidden":
|
|
58
|
-
},
|
|
59
|
-
isMultiline:
|
|
60
|
-
whiteSpace:
|
|
61
|
-
wordBreak:
|
|
61
|
+
"data-hidden": I.isActive ? void 0 : !0
|
|
62
|
+
}, m = {
|
|
63
|
+
isMultiline: d.isMultiline,
|
|
64
|
+
whiteSpace: d.whiteSpace,
|
|
65
|
+
wordBreak: d.wordBreak
|
|
62
66
|
};
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
}, [
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
-
/* @__PURE__ */
|
|
67
|
+
return F(() => {
|
|
68
|
+
V(Z);
|
|
69
|
+
}, [Z]), /* @__PURE__ */ W(Y, { ...d, children: /* @__PURE__ */ a(h, { ...m, children: [
|
|
70
|
+
/* @__PURE__ */ W(Q, { "data-hidden": s, children: I.children }),
|
|
71
|
+
/* @__PURE__ */ W(y, { ref: u, ...H })
|
|
68
72
|
] }) });
|
|
69
|
-
}), U =
|
|
73
|
+
}), U = C((G, c) => {
|
|
70
74
|
const {
|
|
71
|
-
cell:
|
|
72
|
-
getValue:
|
|
73
|
-
onChange:
|
|
74
|
-
children:
|
|
75
|
-
...
|
|
76
|
-
} =
|
|
77
|
-
return
|
|
78
|
-
}),
|
|
79
|
-
cell:
|
|
75
|
+
cell: l,
|
|
76
|
+
getValue: Z,
|
|
77
|
+
onChange: g,
|
|
78
|
+
children: I,
|
|
79
|
+
...d
|
|
80
|
+
} = G, n = N(l), u = d;
|
|
81
|
+
return u.value = Z(l), u.onChange = (X, V) => g(l, X, V), /* @__PURE__ */ W(w, { ref: c, ...n, inputProps: u, children: I });
|
|
82
|
+
}), D = (G) => ({
|
|
83
|
+
cell: c
|
|
80
84
|
}) => {
|
|
81
|
-
const
|
|
82
|
-
return /* @__PURE__ */
|
|
85
|
+
const l = c.getValue() ?? null;
|
|
86
|
+
return /* @__PURE__ */ W(U, { cell: c, ...G, children: l }, c.id);
|
|
83
87
|
};
|
|
84
88
|
export {
|
|
85
89
|
U as DataGridTextInputCell,
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
w as TextInputCell,
|
|
91
|
+
D as getDataGridTextInputCell
|
|
88
92
|
};
|
|
89
93
|
//# sourceMappingURL=text.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.es.js","sources":["../../src/TableInputCell/text.tsx"],"sourcesContent":["'use client';\n\nimport styled from '@emotion/styled';\n\nimport {useEffect, useState} from 'react';\nimport {forwardRef} from '@join-x5/react-theme';\n\nimport {TableCell, TableCellContent} from '../TableCell';\n\nimport {useDataGridInputCell, useTableCellTextInput} from './hook';\n\nimport type {\n ChangeEventHandler,\n FocusEvent,\n FocusEventHandler,\n InputHTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n} from 'react';\nimport type {Cell as ReactTableCell} from '@tanstack/react-table';\nimport type {FRC, PropsWithChildren} from '@join-x5/react-theme';\nimport type {DataGridTableCellProps, TableCellProps} from '../TableCell';\nimport type {ColumnDefTemplate} from './types';\n\nconst ChildContent = styled.div`\n &[data-hidden] {\n visibility: hidden;\n pointer-events: none;\n }\n`;\n\nconst Input = styled.input`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n min-width: 10px;\n padding: 0;\n background-color: transparent;\n border: none;\n outline: none;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n\n &[data-hidden] {\n visibility: hidden;\n pointer-events: none;\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype DefaultAny = any;\n\nexport type TextInputProps = {\n value: string;\n onChange: (newValue: string, e: FocusEvent<HTMLInputElement>) => void;\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>;\n\ntype TTextInputCell = FRC<\n HTMLTableCellElement,\n {\n inputProps: TextInputProps;\n } & Omit<TableCellProps, 'value' | 'onChange'>\n>;\n\nexport const TextInputCell: TTextInputCell = forwardRef((
|
|
1
|
+
{"version":3,"file":"text.es.js","sources":["../../src/TableInputCell/text.tsx"],"sourcesContent":["'use client';\n\nimport styled from '@emotion/styled';\n\nimport {useEffect, useState} from 'react';\nimport {forwardRef} from '@join-x5/react-theme';\n\nimport {TableCell, TableCellContent} from '../TableCell';\n\nimport {useDataGridInputCell, useTableCellTextInput} from './hook';\n\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n Dispatch,\n FocusEvent,\n FocusEventHandler,\n InputHTMLAttributes,\n KeyboardEventHandler,\n ReactNode,\n} from 'react';\nimport type {Cell as ReactTableCell} from '@tanstack/react-table';\nimport type {FRC, PropsWithChildren} from '@join-x5/react-theme';\nimport type {DataGridTableCellProps, TableCellProps} from '../TableCell';\nimport type {ColumnDefTemplate} from './types';\n\nconst ChildContent = styled.div`\n &[data-hidden] {\n visibility: hidden;\n pointer-events: none;\n }\n`;\n\nconst Input = styled.input`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n min-width: 10px;\n padding: 0;\n background-color: transparent;\n border: none;\n outline: none;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n\n &[data-hidden] {\n visibility: hidden;\n pointer-events: none;\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype DefaultAny = any;\n\nexport type TextInputProps = {\n value: string;\n onChange: (newValue: string, e: FocusEvent<HTMLInputElement>) => void;\n\n /** Позволяет контролировать ввод,\n *\n * пример ограничение по символам */\n onInputChange?: (e: ChangeEvent<HTMLInputElement>, setValue: Dispatch<string>) => void;\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'>;\n\ntype TTextInputCell = FRC<\n HTMLTableCellElement,\n {\n inputProps: TextInputProps;\n } & Omit<TableCellProps, 'value' | 'onChange'>\n>;\n\nexport const TextInputCell: TTextInputCell = forwardRef((props, baseRef) => {\n const {\n inputProps: {onInputChange, value: parentValue, ...restInputProps},\n\n ...restProps\n } = props;\n\n const {cellProps, ref, inputRef} = useTableCellTextInput<HTMLInputElement>(restProps, baseRef);\n\n const [value, setValue] = useState(parentValue ?? '');\n\n const onChange: ChangeEventHandler<HTMLInputElement> = e => {\n if (onInputChange) {\n onInputChange(e, setValue);\n } else {\n setValue(e.target.value);\n }\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = e => {\n const isEnterCode = e.code === 'Enter' || e.code === 'NumpadEnter';\n const isNavigation =\n e.code === 'ArrowUp' || e.code === 'ArrowDown' || e.code === 'ArrowLeft' || e.code === 'ArrowRight';\n\n if (e.code === 'Escape' || isEnterCode) {\n restProps.setIsActive?.(false);\n e.currentTarget.blur();\n }\n\n restInputProps.onKeyDown?.(e);\n\n if (isNavigation) {\n e.stopPropagation();\n }\n };\n\n const onBlur: FocusEventHandler<HTMLInputElement> = e => {\n restProps.setIsActive?.(false);\n\n restInputProps.onChange(value, e);\n restInputProps.onBlur?.(e);\n ref.current?.blur();\n };\n\n const isChildHidden = props.isActive ? true : undefined;\n\n const resultProps = {\n ...restInputProps,\n\n value,\n onChange,\n onKeyDown,\n onBlur,\n\n size: 0,\n 'data-hidden': restProps.isActive ? undefined : true,\n };\n\n const contentProps = {\n isMultiline: cellProps.isMultiline,\n whiteSpace: cellProps.whiteSpace,\n wordBreak: cellProps.wordBreak,\n };\n\n useEffect(() => {\n setValue(parentValue);\n }, [parentValue]);\n\n return (\n <TableCell {...cellProps}>\n <TableCellContent {...contentProps}>\n <ChildContent data-hidden={isChildHidden}>{restProps.children}</ChildContent>\n <Input ref={inputRef} {...resultProps} />\n </TableCellContent>\n </TableCell>\n );\n});\n\nexport type DataGridTextInputCellProps<T = DefaultAny, V = DefaultAny> = {\n getValue: (cell: ReactTableCell<T, V>) => string;\n onChange: (cell: ReactTableCell<T, V>, newValue: string, e: FocusEvent<HTMLInputElement>) => void;\n} & Omit<TextInputProps, 'value' | 'onChange'> &\n DataGridTableCellProps<T, V> &\n PropsWithChildren;\n\nexport const DataGridTextInputCell: FRC<HTMLTableCellElement, DataGridTextInputCellProps> = forwardRef((props, ref) => {\n const {cell, getValue, onChange, children, ...rest} = props;\n\n const cellProps = useDataGridInputCell(cell);\n\n const inputProps = rest as TextInputProps;\n inputProps.value = getValue(cell);\n inputProps.onChange = (newValue, e) => onChange(cell, newValue, e);\n\n return (\n <TextInputCell ref={ref} {...cellProps} inputProps={inputProps}>\n {children}\n </TextInputCell>\n );\n});\n\nexport type GetDataGridTextInputCellArgs<T = DefaultAny, V = DefaultAny> = Omit<\n DataGridTextInputCellProps<T, V>,\n 'cell' | 'children'\n>;\n\nexport const getDataGridTextInputCell = <T, V>(args: GetDataGridTextInputCellArgs<T, V>): ColumnDefTemplate<T, V> => {\n return ({cell}) => {\n const content = (cell.getValue() ?? null) as ReactNode;\n\n return (\n <DataGridTextInputCell key={cell.id} cell={cell} {...args}>\n {content}\n </DataGridTextInputCell>\n );\n };\n};\n"],"names":["onInputChange","parentValue","restInputProps","restProps","cellProps","ref","inputRef","stopPropagation","blur","value","onChange","onKeyDown","onBlur","isMultiline","whiteSpace","wordBreak","useEffect","setValue","cell","getValue","children","rest","inputProps"],"mappings":";;;;;;;AAAa;AAAA;AAAA;AA0Bb;AAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CT;AAAM;AACQ;AAACA;AAAsBC;AAAgBC;AAAAA;AAEhDC;AAGC;AAACC;AAAWC;AAAKC;AAKrB;AAGyB;AAKzB;AAIA;AAQIC;AAKJJ;AAIaK;AAKK;AACfN;AAEHO;AACAC;AACAC;AACAC;AAEM;AAC0C;AAG7B;AACIC;AACDC;AACDC;AAGvBC;AACEC;AAAoB;AAMhB;AAA8D;AACxB;AAI9C;AAUE;AAAM;AAACC;AAAMC;AAAUT;AAAUU;AAAaC;AAK9CC;AAQF;AAQU;AAACJ;AACP;AAEA;AAKF;;;;;;"}
|
package/dist/TableRow/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
2
|
import { GetDataGridTableRow } from '../types';
|
|
3
3
|
export type TableRowProps = HTMLAttributes<HTMLTableRowElement>;
|
|
4
|
+
export declare const TableRow: import('@emotion/styled').StyledComponent<{
|
|
5
|
+
theme?: import('@emotion/react').Theme;
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
}, import('react').DetailedHTMLProps<HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
|
|
4
8
|
export declare const getDataGridTableRow: GetDataGridTableRow;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import { forwardRef as
|
|
5
|
-
import { getDataGridTableCell as
|
|
6
|
-
const g = /* @__PURE__ */
|
|
2
|
+
import { jsx as t } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import I from "@emotion/styled/base";
|
|
4
|
+
import { forwardRef as G } from "@join-x5/react-theme";
|
|
5
|
+
import { getDataGridTableCell as i } from "../TableCell/index.es.js";
|
|
6
|
+
const g = /* @__PURE__ */ I("tr", process.env.NODE_ENV === "production" ? {
|
|
7
7
|
target: "ewtrhmz0"
|
|
8
8
|
} : {
|
|
9
9
|
target: "ewtrhmz0",
|
|
10
10
|
label: "TableRow"
|
|
11
|
-
})(":hover [data-cell]{:not([data-focused], [data-active], [data-disabled]) [data-edit-icon]{visibility:visible;}:not([data-focused], [data-active]):not(:focus:not([data-no-focus])){", (
|
|
12
|
-
"--background-color":
|
|
13
|
-
"--border-color":
|
|
14
|
-
}), ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
})(":hover [data-cell]{:not([data-focused], [data-active], [data-disabled]) [data-edit-icon]{visibility:visible;}:not([data-focused], [data-active]):not(:focus:not([data-no-focus])){", (c) => ({
|
|
12
|
+
"--background-color": c.theme.colors.grey[10],
|
|
13
|
+
"--border-color": c.theme.colors.grey[20]
|
|
14
|
+
}), ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3NhZHlrb3ZzZC9qb2luLXg1L3BhY2thZ2VzL2RhdGEtZ3JpZC9zcmMvVGFibGVSb3cvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNpQyIsImZpbGUiOiIvaG9tZS9zYWR5a292c2Qvam9pbi14NS9wYWNrYWdlcy9kYXRhLWdyaWQvc3JjL1RhYmxlUm93L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHtmb3J3YXJkUmVmfSBmcm9tICdAam9pbi14NS9yZWFjdC10aGVtZSc7XG5cbmltcG9ydCB7Z2V0RGF0YUdyaWRUYWJsZUNlbGx9IGZyb20gJ1RhYmxlQ2VsbCc7XG5cbmltcG9ydCB0eXBlIHtIVE1MQXR0cmlidXRlc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1Jvd30gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXRhYmxlJztcbmltcG9ydCB0eXBlIHtGUkN9IGZyb20gJ0Bqb2luLXg1L3JlYWN0LXRoZW1lJztcbmltcG9ydCB0eXBlIHtHZXREYXRhR3JpZFRhYmxlUm93fSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFRhYmxlUm93UHJvcHMgPSBIVE1MQXR0cmlidXRlczxIVE1MVGFibGVSb3dFbGVtZW50PjtcblxuZXhwb3J0IGNvbnN0IFRhYmxlUm93ID0gc3R5bGVkLnRyYFxuICA6aG92ZXIgW2RhdGEtY2VsbF0ge1xuICAgIDpub3QoW2RhdGEtZm9jdXNlZF0sIFtkYXRhLWFjdGl2ZV0sIFtkYXRhLWRpc2FibGVkXSkgW2RhdGEtZWRpdC1pY29uXSB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIDpub3QoW2RhdGEtZm9jdXNlZF0sIFtkYXRhLWFjdGl2ZV0pOm5vdCg6Zm9jdXM6bm90KFtkYXRhLW5vLWZvY3VzXSkpIHtcbiAgICAgICR7cHJvcHMgPT4gKHtcbiAgICAgICAgJy0tYmFja2dyb3VuZC1jb2xvcic6IHByb3BzLnRoZW1lLmNvbG9ycy5ncmV5WzEwXSxcbiAgICAgICAgJy0tYm9yZGVyLWNvbG9yJzogcHJvcHMudGhlbWUuY29sb3JzLmdyZXlbMjBdLFxuICAgICAgfSl9XG4gICAgfVxuICB9XG5gO1xuXG50eXBlIERhdGFHcmlkVGFibGVSb3dQcm9wcyA9IHtyb3c6IFJvdzx1bmtub3duPn0gJiBUYWJsZVJvd1Byb3BzO1xuXG5jb25zdCBEYXRhR3JpZFRhYmxlUm93OiBGUkM8SFRNTFRhYmxlUm93RWxlbWVudCwgRGF0YUdyaWRUYWJsZVJvd1Byb3BzPiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgY29uc3Qge3JvdywgLi4ucmVzdH0gPSBwcm9wcztcblxuICBjb25zdCBjb250ZW50ID0gcm93LmdldFZpc2libGVDZWxscygpLm1hcChnZXREYXRhR3JpZFRhYmxlQ2VsbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8VGFibGVSb3cgcmVmPXtyZWZ9IHsuLi5yZXN0fT5cbiAgICAgIHtjb250ZW50fVxuICAgIDwvVGFibGVSb3c+XG4gICk7XG59KTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFHcmlkVGFibGVSb3c6IEdldERhdGFHcmlkVGFibGVSb3cgPSAocm93LCBwcm9wcykgPT4gKFxuICA8RGF0YUdyaWRUYWJsZVJvdyBrZXk9e3Jvdy5pZH0gcm93PXtyb3d9IHsuLi5wcm9wc30gLz5cbik7XG4iXX0= */")), Z = G((c, b) => {
|
|
15
15
|
const {
|
|
16
|
-
row:
|
|
17
|
-
...
|
|
18
|
-
} =
|
|
19
|
-
return /* @__PURE__ */
|
|
20
|
-
}),
|
|
16
|
+
row: d,
|
|
17
|
+
...l
|
|
18
|
+
} = c, m = d.getVisibleCells().map(i);
|
|
19
|
+
return /* @__PURE__ */ t(g, { ref: b, ...l, children: m });
|
|
20
|
+
}), o = (c, b) => /* @__PURE__ */ t(Z, { row: c, ...b }, c.id);
|
|
21
21
|
export {
|
|
22
|
-
|
|
22
|
+
g as TableRow,
|
|
23
|
+
o as getDataGridTableRow
|
|
23
24
|
};
|
|
24
25
|
//# sourceMappingURL=index.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["'use client';\n\nimport styled from '@emotion/styled';\nimport {forwardRef} from '@join-x5/react-theme';\n\nimport {getDataGridTableCell} from 'TableCell';\n\nimport type {HTMLAttributes} from 'react';\nimport type {Row} from '@tanstack/react-table';\nimport type {FRC} from '@join-x5/react-theme';\nimport type {GetDataGridTableRow} from '../types';\n\nexport type TableRowProps = HTMLAttributes<HTMLTableRowElement>;\n\
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["'use client';\n\nimport styled from '@emotion/styled';\nimport {forwardRef} from '@join-x5/react-theme';\n\nimport {getDataGridTableCell} from 'TableCell';\n\nimport type {HTMLAttributes} from 'react';\nimport type {Row} from '@tanstack/react-table';\nimport type {FRC} from '@join-x5/react-theme';\nimport type {GetDataGridTableRow} from '../types';\n\nexport type TableRowProps = HTMLAttributes<HTMLTableRowElement>;\n\nexport const TableRow = styled.tr`\n :hover [data-cell] {\n :not([data-focused], [data-active], [data-disabled]) [data-edit-icon] {\n visibility: visible;\n }\n\n :not([data-focused], [data-active]):not(:focus:not([data-no-focus])) {\n ${props => ({\n '--background-color': props.theme.colors.grey[10],\n '--border-color': props.theme.colors.grey[20],\n })}\n }\n }\n`;\n\ntype DataGridTableRowProps = {row: Row<unknown>} & TableRowProps;\n\nconst DataGridTableRow: FRC<HTMLTableRowElement, DataGridTableRowProps> = forwardRef((props, ref) => {\n const {row, ...rest} = props;\n\n const content = row.getVisibleCells().map(getDataGridTableCell);\n\n return (\n <TableRow ref={ref} {...rest}>\n {content}\n </TableRow>\n );\n});\n\nexport const getDataGridTableRow: GetDataGridTableRow = (row, props) => (\n <DataGridTableRow key={row.id} row={row} {...props} />\n);\n"],"names":["row","rest"],"mappings":";;;;;AAcO;AAAc;AAAA;AAAA;AAAA;AAAA;AAOH;AACsC;AAElD;AAQJ;AAAM;AAACA;AAAQC;AAIf;AAKF;;;;;"}
|