@salt-ds/data-grid 1.0.6 → 1.0.8
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/CHANGELOG.md +228 -0
- package/dist-cjs/BaseCell.js +47 -45
- package/dist-cjs/BaseCell.js.map +1 -1
- package/dist-cjs/CellEditor.js +0 -2
- package/dist-cjs/CellEditor.js.map +1 -1
- package/dist-cjs/CellFrame.js +23 -31
- package/dist-cjs/CellFrame.js.map +1 -1
- package/dist-cjs/ColumnDataContext.js +0 -2
- package/dist-cjs/ColumnDataContext.js.map +1 -1
- package/dist-cjs/ColumnDragContext.js +0 -2
- package/dist-cjs/ColumnDragContext.js.map +1 -1
- package/dist-cjs/ColumnGroup.js +1 -5
- package/dist-cjs/ColumnGroup.js.map +1 -1
- package/dist-cjs/ColumnSortContext.js +0 -2
- package/dist-cjs/ColumnSortContext.js.map +1 -1
- package/dist-cjs/CornerTag.js +6 -5
- package/dist-cjs/CornerTag.js.map +1 -1
- package/dist-cjs/CursorContext.js +0 -2
- package/dist-cjs/CursorContext.js.map +1 -1
- package/dist-cjs/DropdownCellEditor.js +25 -28
- package/dist-cjs/DropdownCellEditor.js.map +1 -1
- package/dist-cjs/EditorContext.js +0 -2
- package/dist-cjs/EditorContext.js.map +1 -1
- package/dist-cjs/Grid.css.js +1 -1
- package/dist-cjs/Grid.js +139 -142
- package/dist-cjs/Grid.js.map +1 -1
- package/dist-cjs/GridColumn.js +4 -8
- package/dist-cjs/GridColumn.js.map +1 -1
- package/dist-cjs/GridContext.js +0 -2
- package/dist-cjs/GridContext.js.map +1 -1
- package/dist-cjs/GroupHeaderCell.js +27 -28
- package/dist-cjs/GroupHeaderCell.js.map +1 -1
- package/dist-cjs/GroupHeaderCellValue.js +1 -5
- package/dist-cjs/GroupHeaderCellValue.js.map +1 -1
- package/dist-cjs/HeaderCell.js +85 -81
- package/dist-cjs/HeaderCell.js.map +1 -1
- package/dist-cjs/HeaderCellValue.js +1 -6
- package/dist-cjs/HeaderCellValue.js.map +1 -1
- package/dist-cjs/LayoutContext.js +0 -2
- package/dist-cjs/LayoutContext.js.map +1 -1
- package/dist-cjs/NumberRange.js +2 -4
- package/dist-cjs/NumberRange.js.map +1 -1
- package/dist-cjs/NumericColumn.css.js +1 -1
- package/dist-cjs/NumericColumn.js +31 -30
- package/dist-cjs/NumericColumn.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxCellValue.js +5 -8
- package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxColumn.js +11 -10
- package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -1
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +20 -16
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionRadioCellValue.js +5 -7
- package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -1
- package/dist-cjs/RowSelectionRadioColumn.js +10 -9
- package/dist-cjs/RowSelectionRadioColumn.js.map +1 -1
- package/dist-cjs/RowSelectionRadioHeaderCell.js +1 -9
- package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -1
- package/dist-cjs/RowValidationStatus.js +0 -2
- package/dist-cjs/RowValidationStatus.js.map +1 -1
- package/dist-cjs/SelectionContext.js +0 -2
- package/dist-cjs/SelectionContext.js.map +1 -1
- package/dist-cjs/SizingContext.js +0 -2
- package/dist-cjs/SizingContext.js.map +1 -1
- package/dist-cjs/TextCellEditor.css.js +1 -1
- package/dist-cjs/TextCellEditor.js +14 -20
- package/dist-cjs/TextCellEditor.js.map +1 -1
- package/dist-cjs/index.js +0 -2
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/internal/CellMeasure.css.js +1 -1
- package/dist-cjs/internal/CellMeasure.js +1 -16
- package/dist-cjs/internal/CellMeasure.js.map +1 -1
- package/dist-cjs/internal/CellStatusIcons.js +41 -37
- package/dist-cjs/internal/CellStatusIcons.js.map +1 -1
- package/dist-cjs/internal/ColumnDropTarget.js +1 -6
- package/dist-cjs/internal/ColumnDropTarget.js.map +1 -1
- package/dist-cjs/internal/ColumnGhost.js +14 -26
- package/dist-cjs/internal/ColumnGhost.js.map +1 -1
- package/dist-cjs/internal/Cursor.js +1 -5
- package/dist-cjs/internal/Cursor.js.map +1 -1
- package/dist-cjs/internal/DefaultCellValue.js +9 -8
- package/dist-cjs/internal/DefaultCellValue.js.map +1 -1
- package/dist-cjs/internal/FakeCell.js +8 -16
- package/dist-cjs/internal/FakeCell.js.map +1 -1
- package/dist-cjs/internal/FakeGroupCell.js +0 -2
- package/dist-cjs/internal/FakeGroupCell.js.map +1 -1
- package/dist-cjs/internal/FakeHeaderCell.js +1 -5
- package/dist-cjs/internal/FakeHeaderCell.js.map +1 -1
- package/dist-cjs/internal/GroupHeaderRow.js +8 -19
- package/dist-cjs/internal/GroupHeaderRow.js.map +1 -1
- package/dist-cjs/internal/HeaderRow.js +15 -21
- package/dist-cjs/internal/HeaderRow.js.map +1 -1
- package/dist-cjs/internal/LeftPart.js +17 -23
- package/dist-cjs/internal/LeftPart.js.map +1 -1
- package/dist-cjs/internal/MiddlePart.js +16 -22
- package/dist-cjs/internal/MiddlePart.js.map +1 -1
- package/dist-cjs/internal/RightPart.js +18 -23
- package/dist-cjs/internal/RightPart.js.map +1 -1
- package/dist-cjs/internal/Scrollable.js +10 -11
- package/dist-cjs/internal/Scrollable.js.map +1 -1
- package/dist-cjs/internal/TableBody.js +11 -13
- package/dist-cjs/internal/TableBody.js.map +1 -1
- package/dist-cjs/internal/TableColGroup.js +7 -17
- package/dist-cjs/internal/TableColGroup.js.map +1 -1
- package/dist-cjs/internal/TableRow.js +81 -73
- package/dist-cjs/internal/TableRow.js.map +1 -1
- package/dist-cjs/internal/TopLeftPart.js +17 -28
- package/dist-cjs/internal/TopLeftPart.js.map +1 -1
- package/dist-cjs/internal/TopPart.js +17 -34
- package/dist-cjs/internal/TopPart.js.map +1 -1
- package/dist-cjs/internal/TopRightPart.js +23 -27
- package/dist-cjs/internal/TopRightPart.js.map +1 -1
- package/dist-cjs/internal/gridHooks.js +0 -2
- package/dist-cjs/internal/gridHooks.js.map +1 -1
- package/dist-cjs/internal/utils.js +0 -2
- package/dist-cjs/internal/utils.js.map +1 -1
- package/dist-es/BaseCell.js +47 -43
- package/dist-es/BaseCell.js.map +1 -1
- package/dist-es/CellEditor.js.map +1 -1
- package/dist-es/CellFrame.js +23 -29
- package/dist-es/CellFrame.js.map +1 -1
- package/dist-es/ColumnDataContext.js.map +1 -1
- package/dist-es/ColumnDragContext.js.map +1 -1
- package/dist-es/ColumnGroup.js +1 -3
- package/dist-es/ColumnGroup.js.map +1 -1
- package/dist-es/ColumnSortContext.js.map +1 -1
- package/dist-es/CornerTag.js +6 -3
- package/dist-es/CornerTag.js.map +1 -1
- package/dist-es/CursorContext.js.map +1 -1
- package/dist-es/DropdownCellEditor.js +25 -26
- package/dist-es/DropdownCellEditor.js.map +1 -1
- package/dist-es/EditorContext.js.map +1 -1
- package/dist-es/Grid.css.js +1 -1
- package/dist-es/Grid.js +139 -140
- package/dist-es/Grid.js.map +1 -1
- package/dist-es/GridColumn.js +4 -6
- package/dist-es/GridColumn.js.map +1 -1
- package/dist-es/GridContext.js.map +1 -1
- package/dist-es/GroupHeaderCell.js +27 -26
- package/dist-es/GroupHeaderCell.js.map +1 -1
- package/dist-es/GroupHeaderCellValue.js +1 -3
- package/dist-es/GroupHeaderCellValue.js.map +1 -1
- package/dist-es/HeaderCell.js +85 -79
- package/dist-es/HeaderCell.js.map +1 -1
- package/dist-es/HeaderCellValue.js +1 -4
- package/dist-es/HeaderCellValue.js.map +1 -1
- package/dist-es/LayoutContext.js.map +1 -1
- package/dist-es/NumberRange.js +2 -2
- package/dist-es/NumberRange.js.map +1 -1
- package/dist-es/NumericColumn.css.js +1 -1
- package/dist-es/NumericColumn.js +31 -28
- package/dist-es/NumericColumn.js.map +1 -1
- package/dist-es/RowSelectionCheckboxCellValue.js +5 -6
- package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -1
- package/dist-es/RowSelectionCheckboxColumn.js +11 -8
- package/dist-es/RowSelectionCheckboxColumn.js.map +1 -1
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js +20 -14
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -1
- package/dist-es/RowSelectionRadioCellValue.js +5 -5
- package/dist-es/RowSelectionRadioCellValue.js.map +1 -1
- package/dist-es/RowSelectionRadioColumn.js +10 -7
- package/dist-es/RowSelectionRadioColumn.js.map +1 -1
- package/dist-es/RowSelectionRadioHeaderCell.js +1 -7
- package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -1
- package/dist-es/SelectionContext.js.map +1 -1
- package/dist-es/SizingContext.js.map +1 -1
- package/dist-es/TextCellEditor.css.js +1 -1
- package/dist-es/TextCellEditor.js +14 -18
- package/dist-es/TextCellEditor.js.map +1 -1
- package/dist-es/internal/CellMeasure.css.js +1 -1
- package/dist-es/internal/CellMeasure.js +1 -14
- package/dist-es/internal/CellMeasure.js.map +1 -1
- package/dist-es/internal/CellStatusIcons.js +41 -35
- package/dist-es/internal/CellStatusIcons.js.map +1 -1
- package/dist-es/internal/ColumnDropTarget.js +1 -4
- package/dist-es/internal/ColumnDropTarget.js.map +1 -1
- package/dist-es/internal/ColumnGhost.js +14 -24
- package/dist-es/internal/ColumnGhost.js.map +1 -1
- package/dist-es/internal/Cursor.js +1 -3
- package/dist-es/internal/Cursor.js.map +1 -1
- package/dist-es/internal/DefaultCellValue.js +9 -6
- package/dist-es/internal/DefaultCellValue.js.map +1 -1
- package/dist-es/internal/FakeCell.js +8 -14
- package/dist-es/internal/FakeCell.js.map +1 -1
- package/dist-es/internal/FakeGroupCell.js.map +1 -1
- package/dist-es/internal/FakeHeaderCell.js +1 -3
- package/dist-es/internal/FakeHeaderCell.js.map +1 -1
- package/dist-es/internal/GroupHeaderRow.js +8 -17
- package/dist-es/internal/GroupHeaderRow.js.map +1 -1
- package/dist-es/internal/HeaderRow.js +15 -19
- package/dist-es/internal/HeaderRow.js.map +1 -1
- package/dist-es/internal/LeftPart.js +17 -21
- package/dist-es/internal/LeftPart.js.map +1 -1
- package/dist-es/internal/MiddlePart.js +16 -20
- package/dist-es/internal/MiddlePart.js.map +1 -1
- package/dist-es/internal/RightPart.js +18 -21
- package/dist-es/internal/RightPart.js.map +1 -1
- package/dist-es/internal/Scrollable.js +10 -9
- package/dist-es/internal/Scrollable.js.map +1 -1
- package/dist-es/internal/TableBody.js +11 -11
- package/dist-es/internal/TableBody.js.map +1 -1
- package/dist-es/internal/TableColGroup.js +7 -15
- package/dist-es/internal/TableColGroup.js.map +1 -1
- package/dist-es/internal/TableRow.js +81 -71
- package/dist-es/internal/TableRow.js.map +1 -1
- package/dist-es/internal/TopLeftPart.js +17 -26
- package/dist-es/internal/TopLeftPart.js.map +1 -1
- package/dist-es/internal/TopPart.js +17 -32
- package/dist-es/internal/TopPart.js.map +1 -1
- package/dist-es/internal/TopRightPart.js +23 -25
- package/dist-es/internal/TopRightPart.js.map +1 -1
- package/dist-es/internal/gridHooks.js.map +1 -1
- package/dist-es/internal/utils.js.map +1 -1
- package/package.json +11 -8
- package/dist-cjs/internal/FakeCell.css.js +0 -6
- package/dist-cjs/internal/FakeCell.css.js.map +0 -1
- package/dist-es/internal/FakeCell.css.js +0 -4
- package/dist-es/internal/FakeCell.css.js.map +0 -1
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -36,20 +34,26 @@ function RowSelectionCheckboxHeaderCellValue(props) {
|
|
|
36
34
|
event.stopPropagation();
|
|
37
35
|
}
|
|
38
36
|
};
|
|
39
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
onMouseDown: onMousedown,
|
|
41
|
+
className: "saltGridCheckboxContainer",
|
|
42
|
+
onKeyDown,
|
|
43
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
44
|
+
core.Checkbox,
|
|
45
|
+
{
|
|
46
|
+
"data-testid": "grid-row-select-all-checkbox",
|
|
47
|
+
inputProps: {
|
|
48
|
+
"aria-label": "Select All",
|
|
49
|
+
tabIndex: isFocused ? 0 : -1
|
|
50
|
+
},
|
|
51
|
+
checked: isAllSelected,
|
|
52
|
+
indeterminate: !isAllSelected && isAnySelected
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
);
|
|
53
57
|
}
|
|
54
58
|
|
|
55
59
|
exports.RowSelectionCheckboxHeaderCellValue = RowSelectionCheckboxHeaderCellValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelectionCheckboxHeaderCellValue.js","sources":["../src/RowSelectionCheckboxHeaderCellValue.tsx"],"sourcesContent":["import { Checkbox } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { KeyboardEventHandler, MouseEventHandler } from \"react\";\n\nimport type { GridHeaderValueProps } from \"./GridColumn\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionCheckboxHeaderCellValue<T>(\n props: GridHeaderValueProps<T>,\n) {\n const { isFocused } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n const { selectAll, unselectAll, isAllSelected, isAnySelected } =\n useSelectionContext();\n\n const onMousedown: MouseEventHandler<HTMLDivElement> = (event) => {\n if (isAllSelected) {\n unselectAll();\n } else {\n selectAll();\n }\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLDivElement> = (event) => {\n if (event.key === \" \") {\n if (isAllSelected) {\n unselectAll();\n } else {\n selectAll();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n return (\n <div\n onMouseDown={onMousedown}\n className=\"saltGridCheckboxContainer\"\n onKeyDown={onKeyDown}\n >\n <Checkbox\n data-testid=\"grid-row-select-all-checkbox\"\n inputProps={{\n \"aria-label\": \"Select All\",\n tabIndex: isFocused ? 0 : -1,\n }}\n checked={isAllSelected}\n indeterminate={!isAllSelected && isAnySelected}\n />\n </div>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","useSelectionContext","jsx","Checkbox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowSelectionCheckboxHeaderCellValue.js","sources":["../src/RowSelectionCheckboxHeaderCellValue.tsx"],"sourcesContent":["import { Checkbox } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport type { KeyboardEventHandler, MouseEventHandler } from \"react\";\n\nimport type { GridHeaderValueProps } from \"./GridColumn\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionCheckboxHeaderCellValue<T>(\n props: GridHeaderValueProps<T>,\n) {\n const { isFocused } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n const { selectAll, unselectAll, isAllSelected, isAnySelected } =\n useSelectionContext();\n\n const onMousedown: MouseEventHandler<HTMLDivElement> = (event) => {\n if (isAllSelected) {\n unselectAll();\n } else {\n selectAll();\n }\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLDivElement> = (event) => {\n if (event.key === \" \") {\n if (isAllSelected) {\n unselectAll();\n } else {\n selectAll();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n return (\n <div\n onMouseDown={onMousedown}\n className=\"saltGridCheckboxContainer\"\n onKeyDown={onKeyDown}\n >\n <Checkbox\n data-testid=\"grid-row-select-all-checkbox\"\n inputProps={{\n \"aria-label\": \"Select All\",\n tabIndex: isFocused ? 0 : -1,\n }}\n checked={isAllSelected}\n indeterminate={!isAllSelected && isAnySelected}\n />\n </div>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","useSelectionContext","jsx","Checkbox"],"mappings":";;;;;;;;;AAUO,SAAS,oCACd,KACA,EAAA;AACA,EAAM,MAAA,EAAE,WAAc,GAAA,KAAA;AAEtB,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,YAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,MAAM,EAAE,SAAW,EAAA,WAAA,EAAa,aAAe,EAAA,aAAA,KAC7CC,oCAAoB,EAAA;AAEtB,EAAM,MAAA,WAAA,GAAiD,CAAC,KAAU,KAAA;AAChE,IAAA,IAAI,aAAe,EAAA;AACjB,MAAY,WAAA,EAAA;AAAA,KACP,MAAA;AACL,MAAU,SAAA,EAAA;AAAA;AACZ,GACF;AAEA,EAAM,MAAA,SAAA,GAAkD,CAAC,KAAU,KAAA;AACjE,IAAI,IAAA,KAAA,CAAM,QAAQ,GAAK,EAAA;AACrB,MAAA,IAAI,aAAe,EAAA;AACjB,QAAY,WAAA,EAAA;AAAA,OACP,MAAA;AACL,QAAU,SAAA,EAAA;AAAA;AAEZ,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA,KAAA,CAAM,eAAgB,EAAA;AAAA;AACxB,GACF;AAEA,EACE,uBAAAC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAa,EAAA,WAAA;AAAA,MACb,SAAU,EAAA,2BAAA;AAAA,MACV,SAAA;AAAA,MAEA,QAAA,kBAAAA,cAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,aAAY,EAAA,8BAAA;AAAA,UACZ,UAAY,EAAA;AAAA,YACV,YAAc,EAAA,YAAA;AAAA,YACd,QAAA,EAAU,YAAY,CAAI,GAAA,CAAA;AAAA,WAC5B;AAAA,UACA,OAAS,EAAA,aAAA;AAAA,UACT,aAAA,EAAe,CAAC,aAAiB,IAAA;AAAA;AAAA;AACnC;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -19,14 +17,14 @@ function RowSelectionRadioCellValue(props) {
|
|
|
19
17
|
});
|
|
20
18
|
const { selRowIdxs } = SelectionContext.useSelectionContext();
|
|
21
19
|
const isSelected = selRowIdxs.has(row.index);
|
|
22
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "saltGridCheckboxContainer", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
+
core.RadioButton,
|
|
22
|
+
{
|
|
25
23
|
checked: isSelected,
|
|
26
24
|
"data-testid": "grid-row-selection-radiobox",
|
|
27
25
|
tabIndex: isFocused ? 0 : -1
|
|
28
|
-
}
|
|
29
|
-
});
|
|
26
|
+
}
|
|
27
|
+
) });
|
|
30
28
|
}
|
|
31
29
|
|
|
32
30
|
exports.RowSelectionRadioCellValue = RowSelectionRadioCellValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelectionRadioCellValue.js","sources":["../src/RowSelectionRadioCellValue.tsx"],"sourcesContent":["import { RadioButton } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport type { GridCellValueProps } from \"./GridColumn\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionRadioCellValue<T>(props: GridCellValueProps<T>) {\n const { row, isFocused } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n const { selRowIdxs } = useSelectionContext();\n\n const isSelected = selRowIdxs.has(row.index);\n\n return (\n <div className=\"saltGridCheckboxContainer\">\n <RadioButton\n checked={isSelected}\n data-testid=\"grid-row-selection-radiobox\"\n tabIndex={isFocused ? 0 : -1}\n />\n </div>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","useSelectionContext","jsx","RadioButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowSelectionRadioCellValue.js","sources":["../src/RowSelectionRadioCellValue.tsx"],"sourcesContent":["import { RadioButton } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport type { GridCellValueProps } from \"./GridColumn\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionRadioCellValue<T>(props: GridCellValueProps<T>) {\n const { row, isFocused } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n const { selRowIdxs } = useSelectionContext();\n\n const isSelected = selRowIdxs.has(row.index);\n\n return (\n <div className=\"saltGridCheckboxContainer\">\n <RadioButton\n checked={isSelected}\n data-testid=\"grid-row-selection-radiobox\"\n tabIndex={isFocused ? 0 : -1}\n />\n </div>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","useSelectionContext","jsx","RadioButton"],"mappings":";;;;;;;;;AASO,SAAS,2BAA8B,KAA8B,EAAA;AAC1E,EAAM,MAAA,EAAE,GAAK,EAAA,SAAA,EAAc,GAAA,KAAA;AAE3B,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,YAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,oCAAoB,EAAA;AAE3C,EAAA,MAAM,UAAa,GAAA,UAAA,CAAW,GAAI,CAAA,GAAA,CAAI,KAAK,CAAA;AAE3C,EACE,uBAAAC,cAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,2BACb,EAAA,QAAA,kBAAAA,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,UAAA;AAAA,MACT,aAAY,EAAA,6BAAA;AAAA,MACZ,QAAA,EAAU,YAAY,CAAI,GAAA,CAAA;AAAA;AAAA,GAE9B,EAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var react = require('react');
|
|
7
5
|
var GridColumn = require('./GridColumn.js');
|
|
@@ -21,13 +19,16 @@ function RowSelectionRadioColumn(props) {
|
|
|
21
19
|
},
|
|
22
20
|
[selectRows]
|
|
23
21
|
);
|
|
24
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
23
|
+
GridColumn.GridColumn,
|
|
24
|
+
{
|
|
25
|
+
...props,
|
|
26
|
+
defaultWidth: 100,
|
|
27
|
+
headerComponent: RowSelectionRadioHeaderCell.RowSelectionRadioHeaderCell,
|
|
28
|
+
cellValueComponent: RowSelectionRadioCellValue.RowSelectionRadioCellValue,
|
|
29
|
+
onKeyDown
|
|
30
|
+
}
|
|
31
|
+
);
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
exports.RowSelectionRadioColumn = RowSelectionRadioColumn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelectionRadioColumn.js","sources":["../src/RowSelectionRadioColumn.tsx"],"sourcesContent":["import { type KeyboardEvent, useCallback } from \"react\";\nimport { GridColumn, type GridColumnProps } from \"./GridColumn\";\nimport { RowSelectionRadioCellValue } from \"./RowSelectionRadioCellValue\";\nimport { RowSelectionRadioHeaderCell } from \"./RowSelectionRadioHeaderCell\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nexport type RowSelectionRadioColumnProps<T> = Omit<\n GridColumnProps<T>,\n \"width\" | \"name\"\n>;\n\nexport function RowSelectionRadioColumn<T>(\n props: RowSelectionRadioColumnProps<T>,\n) {\n const { selectRows } = useSelectionContext();\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>, rowIndex: number) => {\n if (event.key === \" \") {\n selectRows({ rowIndex });\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [selectRows],\n );\n\n return (\n <GridColumn\n {...props}\n defaultWidth={100}\n headerComponent={RowSelectionRadioHeaderCell}\n cellValueComponent={RowSelectionRadioCellValue}\n onKeyDown={onKeyDown}\n />\n );\n}\n"],"names":["useSelectionContext","useCallback","jsx","GridColumn","RowSelectionRadioHeaderCell","RowSelectionRadioCellValue"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowSelectionRadioColumn.js","sources":["../src/RowSelectionRadioColumn.tsx"],"sourcesContent":["import { type KeyboardEvent, useCallback } from \"react\";\nimport { GridColumn, type GridColumnProps } from \"./GridColumn\";\nimport { RowSelectionRadioCellValue } from \"./RowSelectionRadioCellValue\";\nimport { RowSelectionRadioHeaderCell } from \"./RowSelectionRadioHeaderCell\";\nimport { useSelectionContext } from \"./SelectionContext\";\n\nexport type RowSelectionRadioColumnProps<T> = Omit<\n GridColumnProps<T>,\n \"width\" | \"name\"\n>;\n\nexport function RowSelectionRadioColumn<T>(\n props: RowSelectionRadioColumnProps<T>,\n) {\n const { selectRows } = useSelectionContext();\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>, rowIndex: number) => {\n if (event.key === \" \") {\n selectRows({ rowIndex });\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [selectRows],\n );\n\n return (\n <GridColumn\n {...props}\n defaultWidth={100}\n headerComponent={RowSelectionRadioHeaderCell}\n cellValueComponent={RowSelectionRadioCellValue}\n onKeyDown={onKeyDown}\n />\n );\n}\n"],"names":["useSelectionContext","useCallback","jsx","GridColumn","RowSelectionRadioHeaderCell","RowSelectionRadioCellValue"],"mappings":";;;;;;;;;AAWO,SAAS,wBACd,KACA,EAAA;AACA,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIA,oCAAoB,EAAA;AAE3C,EAAA,MAAM,SAAY,GAAAC,iBAAA;AAAA,IAChB,CAAC,OAAsC,QAAqB,KAAA;AAC1D,MAAI,IAAA,KAAA,CAAM,QAAQ,GAAK,EAAA;AACrB,QAAW,UAAA,CAAA,EAAE,UAAU,CAAA;AACvB,QAAA,KAAA,CAAM,cAAe,EAAA;AACrB,QAAA,KAAA,CAAM,eAAgB,EAAA;AAAA;AACxB,KACF;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EACE,uBAAAC,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,YAAc,EAAA,GAAA;AAAA,MACd,eAAiB,EAAAC,uDAAA;AAAA,MACjB,kBAAoB,EAAAC,qDAAA;AAAA,MACpB;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var clsx = require('clsx');
|
|
7
5
|
var core = require('@salt-ds/core');
|
|
@@ -17,13 +15,7 @@ function RowSelectionRadioHeaderCell(props) {
|
|
|
17
15
|
css: CheckboxCell,
|
|
18
16
|
window: targetWindow
|
|
19
17
|
});
|
|
20
|
-
return /* @__PURE__ */ jsxRuntime.jsx(HeaderCell.AutoSizeHeaderCell, {
|
|
21
|
-
...props,
|
|
22
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
23
|
-
className: clsx.clsx("saltGridCheckboxContainer", "saltGrid-hidden"),
|
|
24
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(core.RadioButtonIcon, {})
|
|
25
|
-
})
|
|
26
|
-
});
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HeaderCell.AutoSizeHeaderCell, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx("saltGridCheckboxContainer", "saltGrid-hidden"), children: /* @__PURE__ */ jsxRuntime.jsx(core.RadioButtonIcon, {}) }) });
|
|
27
19
|
}
|
|
28
20
|
|
|
29
21
|
exports.RowSelectionRadioHeaderCell = RowSelectionRadioHeaderCell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelectionRadioHeaderCell.js","sources":["../src/RowSelectionRadioHeaderCell.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { RadioButtonIcon } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport type { HeaderCellProps } from \"./GridColumn\";\nimport { AutoSizeHeaderCell } from \"./HeaderCell\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionRadioHeaderCell<T>(props: HeaderCellProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n return (\n <AutoSizeHeaderCell {...props}>\n <div className={clsx(\"saltGridCheckboxContainer\", \"saltGrid-hidden\")}>\n <RadioButtonIcon />\n </div>\n </AutoSizeHeaderCell>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","jsx","AutoSizeHeaderCell","clsx","RadioButtonIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowSelectionRadioHeaderCell.js","sources":["../src/RowSelectionRadioHeaderCell.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\n\nimport { RadioButtonIcon } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport type { HeaderCellProps } from \"./GridColumn\";\nimport { AutoSizeHeaderCell } from \"./HeaderCell\";\n\nimport checkboxCellCss from \"./CheckboxCell.css\";\n\nexport function RowSelectionRadioHeaderCell<T>(props: HeaderCellProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-checkbox-cell\",\n css: checkboxCellCss,\n window: targetWindow,\n });\n\n return (\n <AutoSizeHeaderCell {...props}>\n <div className={clsx(\"saltGridCheckboxContainer\", \"saltGrid-hidden\")}>\n <RadioButtonIcon />\n </div>\n </AutoSizeHeaderCell>\n );\n}\n"],"names":["useWindow","useComponentCssInjection","checkboxCellCss","jsx","AutoSizeHeaderCell","clsx","RadioButtonIcon"],"mappings":";;;;;;;;;;AAWO,SAAS,4BAA+B,KAA2B,EAAA;AACxE,EAAA,MAAM,eAAeA,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,YAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,uBACGC,cAAA,CAAAC,6BAAA,EAAA,EAAoB,GAAG,KAAA,EACtB,yCAAC,KAAI,EAAA,EAAA,SAAA,EAAWC,SAAK,CAAA,2BAAA,EAA6B,iBAAiB,CAAA,EACjE,QAAC,kBAAAF,cAAA,CAAAG,oBAAA,EAAA,EAAgB,GACnB,CACF,EAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowValidationStatus.js","sources":["../src/RowValidationStatus.tsx"],"sourcesContent":["import { StatusIndicator } from \"@salt-ds/core\";\nimport { createContext, useContext } from \"react\";\nimport {\n type CellValidationState,\n GridColumn,\n type GridColumnProps,\n} from \"./GridColumn\";\n\nexport const RowValidationStatusContext = createContext<{\n status?: CellValidationState;\n}>({});\n\nexport type RowValidationStatusColumnProps<T> = Omit<\n GridColumnProps<T>,\n \"width\" | \"name\"\n>;\n\nexport function RowValidationStatusColumn<T>(\n props: RowValidationStatusColumnProps<T>,\n) {\n return (\n <GridColumn\n aria-label=\"Row status\"\n defaultWidth={30}\n cellValueComponent={RowValidationCell}\n {...props}\n />\n );\n}\n\nconst knownStatus = new Set([\"error\", \"warning\", \"success\"]);\n\nfunction RowValidationCell() {\n const rowValidationContext = useContext(RowValidationStatusContext);\n if (\n !rowValidationContext?.status ||\n !knownStatus.has(rowValidationContext.status)\n )\n return null;\n\n const validationStatus = rowValidationContext.status;\n\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n >\n <StatusIndicator\n aria-label={`Row ${validationStatus}`}\n status={validationStatus}\n />\n </div>\n );\n}\n"],"names":["createContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RowValidationStatus.js","sources":["../src/RowValidationStatus.tsx"],"sourcesContent":["import { StatusIndicator } from \"@salt-ds/core\";\nimport { createContext, useContext } from \"react\";\nimport {\n type CellValidationState,\n GridColumn,\n type GridColumnProps,\n} from \"./GridColumn\";\n\nexport const RowValidationStatusContext = createContext<{\n status?: CellValidationState;\n}>({});\n\nexport type RowValidationStatusColumnProps<T> = Omit<\n GridColumnProps<T>,\n \"width\" | \"name\"\n>;\n\nexport function RowValidationStatusColumn<T>(\n props: RowValidationStatusColumnProps<T>,\n) {\n return (\n <GridColumn\n aria-label=\"Row status\"\n defaultWidth={30}\n cellValueComponent={RowValidationCell}\n {...props}\n />\n );\n}\n\nconst knownStatus = new Set([\"error\", \"warning\", \"success\"]);\n\nfunction RowValidationCell() {\n const rowValidationContext = useContext(RowValidationStatusContext);\n if (\n !rowValidationContext?.status ||\n !knownStatus.has(rowValidationContext.status)\n )\n return null;\n\n const validationStatus = rowValidationContext.status;\n\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n width: \"100%\",\n }}\n >\n <StatusIndicator\n aria-label={`Row ${validationStatus}`}\n status={validationStatus}\n />\n </div>\n );\n}\n"],"names":["createContext"],"mappings":";;;;;;;AAQa,MAAA,0BAAA,GAA6BA,mBAEvC,CAAA,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionContext.js","sources":["../src/SelectionContext.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { CellRange, SelectRowsOptions } from \"./internal\";\n\nexport interface SelectionContext {\n selectedCellRange: CellRange | undefined;\n selRowIdxs: Set<number>;\n isAnySelected: boolean;\n isAllSelected: boolean;\n selectRows: (args: SelectRowsOptions) => void;\n selectAll: () => void;\n unselectAll: () => void;\n}\n\nexport const SelectionContext = createContext<SelectionContext | undefined>(\n undefined,\n);\n\nexport const useSelectionContext = () => {\n const c = useContext(SelectionContext);\n if (!c) {\n throw new Error(\"useSelectionContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SelectionContext.js","sources":["../src/SelectionContext.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { CellRange, SelectRowsOptions } from \"./internal\";\n\nexport interface SelectionContext {\n selectedCellRange: CellRange | undefined;\n selRowIdxs: Set<number>;\n isAnySelected: boolean;\n isAllSelected: boolean;\n selectRows: (args: SelectRowsOptions) => void;\n selectAll: () => void;\n unselectAll: () => void;\n}\n\nexport const SelectionContext = createContext<SelectionContext | undefined>(\n undefined,\n);\n\nexport const useSelectionContext = () => {\n const c = useContext(SelectionContext);\n if (!c) {\n throw new Error(\"useSelectionContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;AAaO,MAAM,gBAAmB,GAAAA,mBAAA;AAAA,EAC9B,KAAA;AACF;AAEO,MAAM,sBAAsB,MAAM;AACvC,EAAM,MAAA,CAAA,GAAIC,iBAAW,gBAAgB,CAAA;AACrC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,+CAA+C,CAAA;AAAA;AAEjE,EAAO,OAAA,CAAA;AACT;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SizingContext.js","sources":["../src/SizingContext.ts"],"sourcesContent":["import type { MouseEvent } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nexport interface SizingContext {\n rowHeight: number;\n resizeColumn: (colIdx: number, width: number) => void;\n onResizeHandleMouseDown: (event: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport const SizingContext = createContext<SizingContext | undefined>(\n undefined,\n);\nexport const useSizingContext = () => {\n const c = useContext(SizingContext);\n if (!c) {\n throw new Error(\"useSizingContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SizingContext.js","sources":["../src/SizingContext.ts"],"sourcesContent":["import type { MouseEvent } from \"react\";\nimport { createContext, useContext } from \"react\";\n\nexport interface SizingContext {\n rowHeight: number;\n resizeColumn: (colIdx: number, width: number) => void;\n onResizeHandleMouseDown: (event: MouseEvent<HTMLDivElement>) => void;\n}\n\nexport const SizingContext = createContext<SizingContext | undefined>(\n undefined,\n);\nexport const useSizingContext = () => {\n const c = useContext(SizingContext);\n if (!c) {\n throw new Error(\"useSizingContext invoked outside of a Grid\");\n }\n return c;\n};\n"],"names":["createContext","useContext"],"mappings":";;;;AASO,MAAM,aAAgB,GAAAA,mBAAA;AAAA,EAC3B,KAAA;AACF;AACO,MAAM,mBAAmB,MAAM;AACpC,EAAM,MAAA,CAAA,GAAIC,iBAAW,aAAa,CAAA;AAClC,EAAA,IAAI,CAAC,CAAG,EAAA;AACN,IAAM,MAAA,IAAI,MAAM,4CAA4C,CAAA;AAAA;AAE9D,EAAO,OAAA,CAAA;AACT;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltGridTextCellEditor
|
|
3
|
+
var css_248z = ".saltGridTextCellEditor-inputContainer {\n background: var(--grid-background);\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n box-sizing: border-box;\n border-style: var(--grid-cursor-border-style);\n border-width: var(--grid-cursor-border-width);\n border-color: var(--grid-cursor-borderColor);\n padding: 0;\n}\n\n.saltGridTextCellEditor input {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n outline: none;\n border: none;\n padding: 0 calc(var(--grid-padding) - 2px);\n font-size: var(--grid-fontSize);\n font-family: inherit;\n background: var(--grid-editableCell-background-active);\n color: var(--grid-editableCell-color-active);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=TextCellEditor.css.js.map
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -64,24 +62,20 @@ function TextCellEditor(props) {
|
|
|
64
62
|
document == null ? void 0 : document.removeEventListener("mousedown", focusOut, true);
|
|
65
63
|
};
|
|
66
64
|
}, [endEditMode, editorText]);
|
|
67
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(CellFrame.CellFrame, {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}),
|
|
82
|
-
/* @__PURE__ */ jsxRuntime.jsx(CornerTag.CornerTag, {})
|
|
83
|
-
]
|
|
84
|
-
});
|
|
65
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(CellFrame.CellFrame, { separator: column == null ? void 0 : column.separator, className: withBaseName(), children: [
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName("inputContainer"), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
|
+
"input",
|
|
68
|
+
{
|
|
69
|
+
"data-testid": "grid-cell-editor-input",
|
|
70
|
+
ref: inputRef,
|
|
71
|
+
autoFocus: true,
|
|
72
|
+
value: editorText,
|
|
73
|
+
onChange,
|
|
74
|
+
onKeyDown
|
|
75
|
+
}
|
|
76
|
+
) }),
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx(CornerTag.CornerTag, {})
|
|
78
|
+
] });
|
|
85
79
|
}
|
|
86
80
|
|
|
87
81
|
exports.TextCellEditor = TextCellEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextCellEditor.js","sources":["../src/TextCellEditor.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport {\n type ChangeEventHandler,\n type KeyboardEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { CellFrame } from \"./CellFrame\";\nimport { CornerTag } from \"./CornerTag\";\nimport { useEditorContext } from \"./EditorContext\";\nimport type { GridColumnModel, GridRowModel } from \"./Grid\";\n\nimport textCellEditorCss from \"./TextCellEditor.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTextCellEditor\");\n\nexport interface TextCellEditorProps<T> {\n row?: GridRowModel<T>;\n column?: GridColumnModel<T>;\n}\n\nexport function TextCellEditor<T>(props: TextCellEditorProps<T>) {\n const { column, row } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-text-cell-editor\",\n css: textCellEditorCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const { endEditMode, cancelEditMode, initialText } = useEditorContext();\n\n const [editorText, setEditorText] = useState<string>(\n initialText != null ? initialText : column!.info.props.getValue!(row!.data),\n );\n\n const initialSelectionRef = useRef(!!initialText);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n setEditorText(e.target.value);\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n if (event.key === \"Enter\") {\n endEditMode(editorText);\n return;\n }\n if (event.key === \"Escape\") {\n cancelEditMode();\n return;\n }\n if (event.key === \"Tab\") {\n endEditMode(editorText);\n event.preventDefault();\n return;\n }\n event.stopPropagation();\n };\n\n useEffect(() => {\n if (inputRef.current && !initialSelectionRef.current) {\n inputRef.current.select();\n initialSelectionRef.current = true;\n }\n }, [inputRef.current]);\n\n useEffect(() => {\n const input = inputRef.current;\n const focusOut = (event: FocusEvent) => {\n if (!input?.contains(event.target as Node)) {\n endEditMode(editorText);\n }\n };\n\n // This uses the capture phase to detect clicks outside the input to avoid a race condition where the component gets unmounted when edit mode ends.\n document?.addEventListener(\"mousedown\", focusOut, true);\n\n return () => {\n document?.removeEventListener(\"mousedown\", focusOut, true);\n };\n }, [endEditMode, editorText]);\n\n return (\n <CellFrame separator={column?.separator} className={withBaseName()}>\n <div className={withBaseName(\"inputContainer\")}>\n <input\n data-testid=\"grid-cell-editor-input\"\n ref={inputRef}\n autoFocus={true}\n value={editorText}\n onChange={onChange}\n onKeyDown={onKeyDown}\n />\n </div>\n <CornerTag />\n </CellFrame>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","textCellEditorCss","useRef","useEditorContext","useState","useEffect","
|
|
1
|
+
{"version":3,"file":"TextCellEditor.js","sources":["../src/TextCellEditor.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport {\n type ChangeEventHandler,\n type KeyboardEventHandler,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { CellFrame } from \"./CellFrame\";\nimport { CornerTag } from \"./CornerTag\";\nimport { useEditorContext } from \"./EditorContext\";\nimport type { GridColumnModel, GridRowModel } from \"./Grid\";\n\nimport textCellEditorCss from \"./TextCellEditor.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTextCellEditor\");\n\nexport interface TextCellEditorProps<T> {\n row?: GridRowModel<T>;\n column?: GridColumnModel<T>;\n}\n\nexport function TextCellEditor<T>(props: TextCellEditorProps<T>) {\n const { column, row } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-text-cell-editor\",\n css: textCellEditorCss,\n window: targetWindow,\n });\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const { endEditMode, cancelEditMode, initialText } = useEditorContext();\n\n const [editorText, setEditorText] = useState<string>(\n initialText != null ? initialText : column!.info.props.getValue!(row!.data),\n );\n\n const initialSelectionRef = useRef(!!initialText);\n\n const onChange: ChangeEventHandler<HTMLInputElement> = (e) => {\n setEditorText(e.target.value);\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n if (event.key === \"Enter\") {\n endEditMode(editorText);\n return;\n }\n if (event.key === \"Escape\") {\n cancelEditMode();\n return;\n }\n if (event.key === \"Tab\") {\n endEditMode(editorText);\n event.preventDefault();\n return;\n }\n event.stopPropagation();\n };\n\n useEffect(() => {\n if (inputRef.current && !initialSelectionRef.current) {\n inputRef.current.select();\n initialSelectionRef.current = true;\n }\n }, [inputRef.current]);\n\n useEffect(() => {\n const input = inputRef.current;\n const focusOut = (event: FocusEvent) => {\n if (!input?.contains(event.target as Node)) {\n endEditMode(editorText);\n }\n };\n\n // This uses the capture phase to detect clicks outside the input to avoid a race condition where the component gets unmounted when edit mode ends.\n document?.addEventListener(\"mousedown\", focusOut, true);\n\n return () => {\n document?.removeEventListener(\"mousedown\", focusOut, true);\n };\n }, [endEditMode, editorText]);\n\n return (\n <CellFrame separator={column?.separator} className={withBaseName()}>\n <div className={withBaseName(\"inputContainer\")}>\n <input\n data-testid=\"grid-cell-editor-input\"\n ref={inputRef}\n autoFocus={true}\n value={editorText}\n onChange={onChange}\n onKeyDown={onKeyDown}\n />\n </div>\n <CornerTag />\n </CellFrame>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","textCellEditorCss","useRef","useEditorContext","useState","useEffect","CellFrame","jsx","CornerTag"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA;AAOnD,SAAS,eAAkB,KAA+B,EAAA;AAC/D,EAAM,MAAA,EAAE,MAAQ,EAAA,GAAA,EAAQ,GAAA,KAAA;AAExB,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,gBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,aAAyB,IAAI,CAAA;AAE9C,EAAA,MAAM,EAAE,WAAA,EAAa,cAAgB,EAAA,WAAA,KAAgBC,8BAAiB,EAAA;AAEtE,EAAM,MAAA,CAAC,UAAY,EAAA,aAAa,CAAI,GAAAC,cAAA;AAAA,IAClC,WAAA,IAAe,OAAO,WAAc,GAAA,MAAA,CAAQ,KAAK,KAAM,CAAA,QAAA,CAAU,IAAK,IAAI;AAAA,GAC5E;AAEA,EAAA,MAAM,mBAAsB,GAAAF,YAAA,CAAO,CAAC,CAAC,WAAW,CAAA;AAEhD,EAAM,MAAA,QAAA,GAAiD,CAAC,CAAM,KAAA;AAC5D,IAAc,aAAA,CAAA,CAAA,CAAE,OAAO,KAAK,CAAA;AAAA,GAC9B;AAEA,EAAM,MAAA,SAAA,GAAoD,CAAC,KAAU,KAAA;AACnE,IAAI,IAAA,KAAA,CAAM,QAAQ,OAAS,EAAA;AACzB,MAAA,WAAA,CAAY,UAAU,CAAA;AACtB,MAAA;AAAA;AAEF,IAAI,IAAA,KAAA,CAAM,QAAQ,QAAU,EAAA;AAC1B,MAAe,cAAA,EAAA;AACf,MAAA;AAAA;AAEF,IAAI,IAAA,KAAA,CAAM,QAAQ,KAAO,EAAA;AACvB,MAAA,WAAA,CAAY,UAAU,CAAA;AACtB,MAAA,KAAA,CAAM,cAAe,EAAA;AACrB,MAAA;AAAA;AAEF,IAAA,KAAA,CAAM,eAAgB,EAAA;AAAA,GACxB;AAEA,EAAAG,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,QAAS,CAAA,OAAA,IAAW,CAAC,mBAAA,CAAoB,OAAS,EAAA;AACpD,MAAA,QAAA,CAAS,QAAQ,MAAO,EAAA;AACxB,MAAA,mBAAA,CAAoB,OAAU,GAAA,IAAA;AAAA;AAChC,GACC,EAAA,CAAC,QAAS,CAAA,OAAO,CAAC,CAAA;AAErB,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,QAAQ,QAAS,CAAA,OAAA;AACvB,IAAM,MAAA,QAAA,GAAW,CAAC,KAAsB,KAAA;AACtC,MAAA,IAAI,EAAC,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,QAAS,CAAA,KAAA,CAAM,MAAiB,CAAA,CAAA,EAAA;AAC1C,QAAA,WAAA,CAAY,UAAU,CAAA;AAAA;AACxB,KACF;AAGA,IAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,gBAAA,CAAiB,aAAa,QAAU,EAAA,IAAA,CAAA;AAElD,IAAA,OAAO,MAAM;AACX,MAAU,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,mBAAA,CAAoB,aAAa,QAAU,EAAA,IAAA,CAAA;AAAA,KACvD;AAAA,GACC,EAAA,CAAC,WAAa,EAAA,UAAU,CAAC,CAAA;AAE5B,EAAA,uCACGC,mBAAU,EAAA,EAAA,SAAA,EAAW,iCAAQ,SAAW,EAAA,SAAA,EAAW,cAClD,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,YAAa,CAAA,gBAAgB,CAC3C,EAAA,QAAA,kBAAAA,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,aAAY,EAAA,wBAAA;AAAA,QACZ,GAAK,EAAA,QAAA;AAAA,QACL,SAAW,EAAA,IAAA;AAAA,QACX,KAAO,EAAA,UAAA;AAAA,QACP,QAAA;AAAA,QACA;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,mCACCC,mBAAU,EAAA,EAAA;AAAA,GACb,EAAA,CAAA;AAEJ;;;;"}
|
package/dist-cjs/index.js
CHANGED
package/dist-cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltGridCellMeasure {\n position: fixed;\n top: -1000px;\n left: 0;\n}\n\n.saltGridCellMeasure
|
|
3
|
+
var css_248z = ".saltGridCellMeasure {\n position: fixed;\n top: -1000px;\n left: 0;\n}\n\n.saltGridCellMeasure tr {\n height: var(--grid-row-height);\n}\n\n.saltGridCellMeasure th {\n box-sizing: border-box;\n overflow: hidden;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=CellMeasure.css.js.map
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -29,20 +27,7 @@ function CellMeasure(props) {
|
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
29
|
});
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
33
|
-
className: withBaseName(),
|
|
34
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("table", {
|
|
35
|
-
"aria-hidden": true,
|
|
36
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("thead", {
|
|
37
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("tr", {
|
|
38
|
-
ref: rowRef,
|
|
39
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("th", {
|
|
40
|
-
children: "Invisible Cell"
|
|
41
|
-
})
|
|
42
|
-
})
|
|
43
|
-
})
|
|
44
|
-
})
|
|
45
|
-
});
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName(), children: /* @__PURE__ */ jsxRuntime.jsx("table", { "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { ref: rowRef, children: /* @__PURE__ */ jsxRuntime.jsx("th", { children: "Invisible Cell" }) }) }) }) });
|
|
46
31
|
}
|
|
47
32
|
|
|
48
33
|
exports.CellMeasure = CellMeasure;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellMeasure.js","sources":["../src/internal/CellMeasure.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useEffect, useRef } from \"react\";\n\nimport cellMeasureCss from \"./CellMeasure.css\";\n\nconst withBaseName = makePrefixer(\"saltGridCellMeasure\");\n\nexport interface CellMeasureProps<T> {\n setRowHeight: (rowHeight: number) => void;\n}\n\n// Renders a cell in invisible location, measures its height and provides it to\n// the grid.\nexport function CellMeasure<T>(props: CellMeasureProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cell-measure\",\n css: cellMeasureCss,\n window: targetWindow,\n });\n\n const rowRef = useRef<HTMLTableRowElement>(null);\n const heightRef = useRef<number>(-1);\n\n const { setRowHeight } = props;\n\n useEffect(() => {\n if (rowRef.current) {\n const height = rowRef.current.getBoundingClientRect().height;\n if (heightRef.current !== height) {\n // console.log(`Row height changing to ${height}px`);\n heightRef.current = height;\n setRowHeight(height);\n }\n }\n });\n\n return (\n <div className={withBaseName()}>\n <table aria-hidden>\n <thead>\n <tr ref={rowRef}>\n <th>Invisible Cell</th>\n </tr>\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","cellMeasureCss","useRef","useEffect","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CellMeasure.js","sources":["../src/internal/CellMeasure.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useEffect, useRef } from \"react\";\n\nimport cellMeasureCss from \"./CellMeasure.css\";\n\nconst withBaseName = makePrefixer(\"saltGridCellMeasure\");\n\nexport interface CellMeasureProps<T> {\n setRowHeight: (rowHeight: number) => void;\n}\n\n// Renders a cell in invisible location, measures its height and provides it to\n// the grid.\nexport function CellMeasure<T>(props: CellMeasureProps<T>) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-cell-measure\",\n css: cellMeasureCss,\n window: targetWindow,\n });\n\n const rowRef = useRef<HTMLTableRowElement>(null);\n const heightRef = useRef<number>(-1);\n\n const { setRowHeight } = props;\n\n useEffect(() => {\n if (rowRef.current) {\n const height = rowRef.current.getBoundingClientRect().height;\n if (heightRef.current !== height) {\n // console.log(`Row height changing to ${height}px`);\n heightRef.current = height;\n setRowHeight(height);\n }\n }\n });\n\n return (\n <div className={withBaseName()}>\n <table aria-hidden>\n <thead>\n <tr ref={rowRef}>\n <th>Invisible Cell</th>\n </tr>\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","cellMeasureCss","useRef","useEffect","jsx"],"mappings":";;;;;;;;;AAOA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA;AAQhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,mBAAA;AAAA,IACR,GAAK,EAAAC,aAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,MAAA,GAASC,aAA4B,IAAI,CAAA;AAC/C,EAAM,MAAA,SAAA,GAAYA,aAAe,CAAE,CAAA,CAAA;AAEnC,EAAM,MAAA,EAAE,cAAiB,GAAA,KAAA;AAEzB,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,OAAS,EAAA;AAClB,MAAA,MAAM,MAAS,GAAA,MAAA,CAAO,OAAQ,CAAA,qBAAA,EAAwB,CAAA,MAAA;AACtD,MAAI,IAAA,SAAA,CAAU,YAAY,MAAQ,EAAA;AAEhC,QAAA,SAAA,CAAU,OAAU,GAAA,MAAA;AACpB,QAAA,YAAA,CAAa,MAAM,CAAA;AAAA;AACrB;AACF,GACD,CAAA;AAED,EACE,uBAAAC,cAAA,CAAC,SAAI,SAAW,EAAA,YAAA,IACd,QAAC,kBAAAA,cAAA,CAAA,OAAA,EAAA,EAAM,eAAW,IAChB,EAAA,QAAA,kBAAAA,cAAA,CAAC,WACC,QAAC,kBAAAA,cAAA,CAAA,IAAA,EAAA,EAAG,KAAK,MACP,EAAA,QAAA,kBAAAA,cAAA,CAAC,QAAG,QAAc,EAAA,gBAAA,EAAA,CAAA,EACpB,CACF,EAAA,CAAA,EACF,CACF,EAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,44 +1,48 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
|
|
7
|
-
const CellWarningIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
r: "4"
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const CellSuccessIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
5
|
+
const CellWarningIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
6
|
+
"svg",
|
|
7
|
+
{
|
|
8
|
+
"aria-hidden": true,
|
|
9
|
+
height: "1em",
|
|
10
|
+
viewBox: "0 0 10 8",
|
|
11
|
+
fill: "none",
|
|
12
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.6188 0L9.2376 8H0L4.6188 0Z" })
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
const CellErrorIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
17
|
+
"svg",
|
|
18
|
+
{
|
|
19
|
+
"aria-hidden": true,
|
|
20
|
+
width: "1em",
|
|
21
|
+
height: "1em",
|
|
22
|
+
viewBox: "0 0 8 8",
|
|
23
|
+
fill: "none",
|
|
24
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
25
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "4", cy: "4", r: "4" })
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
const CellSuccessIcon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
29
|
+
"svg",
|
|
30
|
+
{
|
|
31
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
32
|
+
width: "1em",
|
|
33
|
+
viewBox: "0 0 14 14",
|
|
34
|
+
fill: "none",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36
|
+
"path",
|
|
37
|
+
{
|
|
38
|
+
fillRule: "evenodd",
|
|
39
|
+
clipRule: "evenodd",
|
|
40
|
+
d: "M13.7668 2.63645L5.06034 12.0309L0.277532 7.56074L1.47248 6.28223L4.97136 9.55242L12.4832 1.4469L13.7668 2.63645Z",
|
|
41
|
+
fill: "#24874B"
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
);
|
|
42
46
|
|
|
43
47
|
exports.CellErrorIcon = CellErrorIcon;
|
|
44
48
|
exports.CellSuccessIcon = CellSuccessIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellStatusIcons.js","sources":["../src/internal/CellStatusIcons.tsx"],"sourcesContent":["export const CellWarningIcon = (\n <svg\n aria-hidden\n height=\"1em\"\n viewBox=\"0 0 10 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.6188 0L9.2376 8H0L4.6188 0Z\" />\n </svg>\n);\n\nexport const CellErrorIcon = (\n <svg\n aria-hidden\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 8 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"4\" cy=\"4\" r=\"4\" />\n </svg>\n);\n\nexport const CellSuccessIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.7668 2.63645L5.06034 12.0309L0.277532 7.56074L1.47248 6.28223L4.97136 9.55242L12.4832 1.4469L13.7668 2.63645Z\"\n fill=\"#24874B\"\n />\n </svg>\n);\n"],"names":["jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CellStatusIcons.js","sources":["../src/internal/CellStatusIcons.tsx"],"sourcesContent":["export const CellWarningIcon = (\n <svg\n aria-hidden\n height=\"1em\"\n viewBox=\"0 0 10 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M4.6188 0L9.2376 8H0L4.6188 0Z\" />\n </svg>\n);\n\nexport const CellErrorIcon = (\n <svg\n aria-hidden\n width=\"1em\"\n height=\"1em\"\n viewBox=\"0 0 8 8\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle cx=\"4\" cy=\"4\" r=\"4\" />\n </svg>\n);\n\nexport const CellSuccessIcon = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.7668 2.63645L5.06034 12.0309L0.277532 7.56074L1.47248 6.28223L4.97136 9.55242L12.4832 1.4469L13.7668 2.63645Z\"\n fill=\"#24874B\"\n />\n </svg>\n);\n"],"names":["jsx"],"mappings":";;;;AAAO,MAAM,eACX,mBAAAA,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,aAAW,EAAA,IAAA;AAAA,IACX,MAAO,EAAA,KAAA;AAAA,IACP,OAAQ,EAAA,UAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IACL,KAAM,EAAA,4BAAA;AAAA,IAEN,QAAA,kBAAAA,cAAA,CAAC,MAAK,EAAA,EAAA,CAAA,EAAE,gCAAiC,EAAA;AAAA;AAC3C;AAGK,MAAM,aACX,mBAAAA,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,aAAW,EAAA,IAAA;AAAA,IACX,KAAM,EAAA,KAAA;AAAA,IACN,MAAO,EAAA,KAAA;AAAA,IACP,OAAQ,EAAA,SAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IACL,KAAM,EAAA,4BAAA;AAAA,IAEN,yCAAC,QAAO,EAAA,EAAA,EAAA,EAAG,KAAI,EAAG,EAAA,GAAA,EAAI,GAAE,GAAI,EAAA;AAAA;AAC9B;AAGK,MAAM,eACX,mBAAAA,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,KAAM,EAAA,4BAAA;AAAA,IACN,KAAM,EAAA,KAAA;AAAA,IACN,OAAQ,EAAA,WAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IAEL,QAAA,kBAAAA,cAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,QAAS,EAAA,SAAA;AAAA,QACT,QAAS,EAAA,SAAA;AAAA,QACT,CAAE,EAAA,mHAAA;AAAA,QACF,IAAK,EAAA;AAAA;AAAA;AACP;AACF;;;;;;"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -26,10 +24,7 @@ function ColumnDropTarget(props) {
|
|
|
26
24
|
if (props.x === void 0) {
|
|
27
25
|
return null;
|
|
28
26
|
}
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
30
|
-
className: withBaseName(),
|
|
31
|
-
style
|
|
32
|
-
});
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName(), style });
|
|
33
28
|
}
|
|
34
29
|
|
|
35
30
|
exports.ColumnDropTarget = ColumnDropTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnDropTarget.js","sources":["../src/internal/ColumnDropTarget.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useMemo } from \"react\";\n\nimport columDropTargetCss from \"./ColumnDropTarget.css\";\n\nconst withBaseName = makePrefixer(\"saltGridColumnDropTarget\");\n\nexport interface ColumnDropTargetProps {\n x?: number;\n}\n\n// When the user drags a column, this component is used to show the potential\n// drop target. Experimental feature. No UX yet.\nexport function ColumnDropTarget(props: ColumnDropTargetProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-column-drop-target\",\n css: columDropTargetCss,\n window: targetWindow,\n });\n\n const { x = 0 } = props;\n\n const style = useMemo(() => {\n return {\n left: `${x - 2}px`,\n };\n }, [x]);\n\n if (props.x === undefined) {\n return null;\n }\n\n return <div className={withBaseName()} style={style} />;\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","columDropTargetCss","useMemo","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColumnDropTarget.js","sources":["../src/internal/ColumnDropTarget.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useMemo } from \"react\";\n\nimport columDropTargetCss from \"./ColumnDropTarget.css\";\n\nconst withBaseName = makePrefixer(\"saltGridColumnDropTarget\");\n\nexport interface ColumnDropTargetProps {\n x?: number;\n}\n\n// When the user drags a column, this component is used to show the potential\n// drop target. Experimental feature. No UX yet.\nexport function ColumnDropTarget(props: ColumnDropTargetProps) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-column-drop-target\",\n css: columDropTargetCss,\n window: targetWindow,\n });\n\n const { x = 0 } = props;\n\n const style = useMemo(() => {\n return {\n left: `${x - 2}px`,\n };\n }, [x]);\n\n if (props.x === undefined) {\n return null;\n }\n\n return <div className={withBaseName()} style={style} />;\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","columDropTargetCss","useMemo","jsx"],"mappings":";;;;;;;;;AAOA,MAAM,YAAA,GAAeA,kBAAa,0BAA0B,CAAA;AAQrD,SAAS,iBAAiB,KAA8B,EAAA;AAC7D,EAAA,MAAM,eAAeC,gBAAU,EAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,yBAAA;AAAA,IACR,GAAK,EAAAC,kBAAA;AAAA,IACL,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAM,MAAA,EAAE,CAAI,GAAA,CAAA,EAAM,GAAA,KAAA;AAElB,EAAM,MAAA,KAAA,GAAQC,cAAQ,MAAM;AAC1B,IAAO,OAAA;AAAA,MACL,IAAA,EAAM,CAAG,EAAA,CAAA,GAAI,CAAC,CAAA,EAAA;AAAA,KAChB;AAAA,GACF,EAAG,CAAC,CAAC,CAAC,CAAA;AAEN,EAAI,IAAA,KAAA,CAAM,MAAM,KAAW,CAAA,EAAA;AACzB,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,uBAAQC,cAAA,CAAA,KAAA,EAAA,EAAI,SAAW,EAAA,YAAA,IAAgB,KAAc,EAAA,CAAA;AACvD;;;;"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var core = require('@salt-ds/core');
|
|
7
5
|
var styles = require('@salt-ds/styles');
|
|
@@ -29,30 +27,20 @@ function ColumnGhost(props) {
|
|
|
29
27
|
left: x,
|
|
30
28
|
top: y
|
|
31
29
|
};
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/* @__PURE__ */ jsxRuntime.jsx(TableBody.TableBody, {
|
|
47
|
-
columns: [movingColumn],
|
|
48
|
-
rows,
|
|
49
|
-
setHoverRowKey: () => {
|
|
50
|
-
},
|
|
51
|
-
zebra
|
|
52
|
-
})
|
|
53
|
-
]
|
|
54
|
-
})
|
|
55
|
-
});
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: withBaseName(), style, children: /* @__PURE__ */ jsxRuntime.jsxs("table", { "aria-hidden": true, children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, { columns: [movingColumn] }),
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, { columns: [movingColumn] }) }),
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
TableBody.TableBody,
|
|
35
|
+
{
|
|
36
|
+
columns: [movingColumn],
|
|
37
|
+
rows,
|
|
38
|
+
setHoverRowKey: () => {
|
|
39
|
+
},
|
|
40
|
+
zebra
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] }) });
|
|
56
44
|
}
|
|
57
45
|
|
|
58
46
|
exports.ColumnGhost = ColumnGhost;
|