@uxf/data-grid 11.35.0 → 11.36.0

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/components.d.ts CHANGED
@@ -1,19 +1,19 @@
1
+ import * as dataGridStories from "./data-grid.stories";
1
2
  import * as dataGridCustomExampleStories from "./data-grid-custom-example.stories";
2
3
  import * as dataGridV2Stories from "./data-grid-v2.stories";
3
- import * as dataGridStories from "./data-grid.stories";
4
4
  import * as exportButtonStories from "./export-button/export-button.stories";
5
5
  import * as filterListStories from "./filter-list/filter-list.stories";
6
- import * as filtersButtonStories from "./filters-button/filters-button.stories";
7
6
  import * as filtersStories from "./filters/filters.stories";
7
+ import * as filtersButtonStories from "./filters-button/filters-button.stories";
8
8
  import * as fulltextInputStories from "./fulltext-input/fulltext-input.stories";
9
- import * as hiddenColumnsButtonStories from "./hidden-columns-button/hidden-columns-button.stories";
10
9
  import * as hiddenColumnsStories from "./hidden-columns/hidden-columns.stories";
10
+ import * as hiddenColumnsButtonStories from "./hidden-columns-button/hidden-columns-button.stories";
11
11
  import * as paginationStories from "./pagination/pagination.stories";
12
12
  import * as rowCountsStories from "./row-counts/row-counts.stories";
13
13
  import * as rowsPerPageSelectStories from "./rows-per-page-select/rows-per-page-select.stories";
14
14
  import * as selectedRowsToolbarStories from "./selected-rows-toolbar/selected-rows-toolbar.stories";
15
- import * as tableV2Stories from "./table-v2/table-v2.stories";
16
15
  import * as tableStories from "./table/table.stories";
16
+ import * as tableV2Stories from "./table-v2/table-v2.stories";
17
17
  import * as toolbarControlStories from "./toolbar-control/toolbar-control.stories";
18
18
  import * as toolbarCustomsStories from "./toolbar-customs/toolbar-customs.stories";
19
19
  import * as toolbarTabsStories from "./toolbar-tabs/toolbar-tabs.stories";
@@ -22,14 +22,14 @@ export declare const components: {
22
22
  readonly title: "DataGrid";
23
23
  readonly stories: typeof dataGridStories;
24
24
  };
25
- readonly "data-grid-v2": {
26
- readonly title: "DataGridV2";
27
- readonly stories: typeof dataGridV2Stories;
28
- };
29
25
  readonly "data-grid-custom-example": {
30
26
  readonly title: "DataGridCustomExample";
31
27
  readonly stories: typeof dataGridCustomExampleStories;
32
28
  };
29
+ readonly "data-grid-v2": {
30
+ readonly title: "DataGridV2";
31
+ readonly stories: typeof dataGridV2Stories;
32
+ };
33
33
  readonly "export-button": {
34
34
  readonly title: "ExportButton";
35
35
  readonly stories: typeof exportButtonStories;
package/components.js CHANGED
@@ -25,100 +25,100 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.components = void 0;
27
27
  // generated file
28
+ const dataGridStories = __importStar(require("./data-grid.stories"));
28
29
  const dataGridCustomExampleStories = __importStar(require("./data-grid-custom-example.stories"));
29
30
  const dataGridV2Stories = __importStar(require("./data-grid-v2.stories"));
30
- const dataGridStories = __importStar(require("./data-grid.stories"));
31
31
  const exportButtonStories = __importStar(require("./export-button/export-button.stories"));
32
32
  const filterListStories = __importStar(require("./filter-list/filter-list.stories"));
33
- const filtersButtonStories = __importStar(require("./filters-button/filters-button.stories"));
34
33
  const filtersStories = __importStar(require("./filters/filters.stories"));
34
+ const filtersButtonStories = __importStar(require("./filters-button/filters-button.stories"));
35
35
  const fulltextInputStories = __importStar(require("./fulltext-input/fulltext-input.stories"));
36
- const hiddenColumnsButtonStories = __importStar(require("./hidden-columns-button/hidden-columns-button.stories"));
37
36
  const hiddenColumnsStories = __importStar(require("./hidden-columns/hidden-columns.stories"));
37
+ const hiddenColumnsButtonStories = __importStar(require("./hidden-columns-button/hidden-columns-button.stories"));
38
38
  const paginationStories = __importStar(require("./pagination/pagination.stories"));
39
39
  const rowCountsStories = __importStar(require("./row-counts/row-counts.stories"));
40
40
  const rowsPerPageSelectStories = __importStar(require("./rows-per-page-select/rows-per-page-select.stories"));
41
41
  const selectedRowsToolbarStories = __importStar(require("./selected-rows-toolbar/selected-rows-toolbar.stories"));
42
- const tableV2Stories = __importStar(require("./table-v2/table-v2.stories"));
43
42
  const tableStories = __importStar(require("./table/table.stories"));
43
+ const tableV2Stories = __importStar(require("./table-v2/table-v2.stories"));
44
44
  const toolbarControlStories = __importStar(require("./toolbar-control/toolbar-control.stories"));
45
45
  const toolbarCustomsStories = __importStar(require("./toolbar-customs/toolbar-customs.stories"));
46
46
  const toolbarTabsStories = __importStar(require("./toolbar-tabs/toolbar-tabs.stories"));
47
47
  exports.components = {
48
48
  "data-grid": {
49
49
  title: "DataGrid",
50
- stories: dataGridStories,
51
- },
52
- "data-grid-v2": {
53
- title: "DataGridV2",
54
- stories: dataGridV2Stories,
50
+ stories: dataGridStories
55
51
  },
56
52
  "data-grid-custom-example": {
57
53
  title: "DataGridCustomExample",
58
- stories: dataGridCustomExampleStories,
54
+ stories: dataGridCustomExampleStories
55
+ },
56
+ "data-grid-v2": {
57
+ title: "DataGridV2",
58
+ stories: dataGridV2Stories
59
59
  },
60
60
  "export-button": {
61
61
  title: "ExportButton",
62
- stories: exportButtonStories,
62
+ stories: exportButtonStories
63
63
  },
64
64
  "filter-list": {
65
65
  title: "FilterList",
66
- stories: filterListStories,
66
+ stories: filterListStories
67
67
  },
68
- filters: {
68
+ "filters": {
69
69
  title: "Filters",
70
- stories: filtersStories,
70
+ stories: filtersStories
71
71
  },
72
72
  "filters-button": {
73
73
  title: "FiltersButton",
74
- stories: filtersButtonStories,
74
+ stories: filtersButtonStories
75
75
  },
76
76
  "fulltext-input": {
77
77
  title: "FulltextInput",
78
- stories: fulltextInputStories,
78
+ stories: fulltextInputStories
79
79
  },
80
80
  "hidden-columns": {
81
81
  title: "HiddenColumns",
82
- stories: hiddenColumnsStories,
82
+ stories: hiddenColumnsStories
83
83
  },
84
84
  "hidden-columns-button": {
85
85
  title: "HiddenColumnsButton",
86
- stories: hiddenColumnsButtonStories,
86
+ stories: hiddenColumnsButtonStories
87
87
  },
88
- pagination: {
88
+ "pagination": {
89
89
  title: "Pagination",
90
- stories: paginationStories,
90
+ stories: paginationStories
91
91
  },
92
92
  "row-counts": {
93
93
  title: "RowCounts",
94
- stories: rowCountsStories,
94
+ stories: rowCountsStories
95
95
  },
96
96
  "rows-per-page-select": {
97
97
  title: "RowsPerPageSelect",
98
- stories: rowsPerPageSelectStories,
98
+ stories: rowsPerPageSelectStories
99
99
  },
100
100
  "selected-rows-toolbar": {
101
101
  title: "SelectedRowsToolbar",
102
- stories: selectedRowsToolbarStories,
102
+ stories: selectedRowsToolbarStories
103
103
  },
104
- table: {
104
+ "table": {
105
105
  title: "Table",
106
- stories: tableStories,
106
+ stories: tableStories
107
107
  },
108
108
  "table-v2": {
109
109
  title: "TableV2",
110
- stories: tableV2Stories,
110
+ stories: tableV2Stories
111
111
  },
112
112
  "toolbar-control": {
113
113
  title: "ToolbarControl",
114
- stories: toolbarControlStories,
114
+ stories: toolbarControlStories
115
115
  },
116
116
  "toolbar-customs": {
117
117
  title: "ToolbarCustoms",
118
- stories: toolbarCustomsStories,
118
+ stories: toolbarCustomsStories
119
119
  },
120
120
  "toolbar-tabs": {
121
121
  title: "ToolbarTabs",
122
- stories: toolbarTabsStories,
122
+ stories: toolbarTabsStories
123
123
  },
124
124
  };
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
1
  {
2
- "name": "@uxf/data-grid",
3
- "version": "11.35.0",
4
- "description": "UXF DataGrid",
5
- "homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
6
- "main": "index.js",
7
- "bin": {
8
- "uxf-data-grid-generator": "bin/uxf-data-grid-generator.js"
9
- },
10
- "typings": "index.d.ts",
11
- "publishConfig": {
12
- "access": "public"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://gitlab.com/uxf-npm/data-grid.git"
17
- },
18
- "license": "MIT",
19
- "keywords": [
20
- "data-table",
21
- "data-grid",
22
- "uxf"
23
- ],
24
- "scripts": {
25
- "dev": "next dev",
26
- "build": "tsc -P tsconfig.json",
27
- "gen:icons": "icons-gen",
28
- "gen:data-grid": "node bin/uxf-data-grid-generator.js -s _generator/__generator_tests__/data-grid-schema -o _generator/__generator_tests__/data-grid --requiredLoader",
29
- "lint": "./node_modules/.bin/eslint -c .eslintrc.js \"./**/*.ts*\"",
30
- "test": "npm run-script typecheck",
31
- "typecheck": "tsc --noEmit --skipLibCheck"
32
- },
33
- "dependencies": {
34
- "@uxf/core": "11.35.0",
35
- "@uxf/core-react": "11.35.0",
36
- "@uxf/ui": "11.35.0",
37
- "dayjs": "1.11.13",
38
- "deepmerge": "4.3.1",
39
- "fast-glob": "3.3.2",
40
- "qs": "6.13.0",
41
- "react-data-grid": "7.0.0-beta.39",
42
- "yargs": "17.7.2"
43
- },
44
- "peerDependencies": {
45
- "react": ">=18.2.0",
46
- "react-dom": ">=18.2.0"
47
- },
48
- "devDependencies": {
49
- "@types/react": "18.3.5",
50
- "@types/react-dom": "18.3.0",
51
- "react": "18.3.1",
52
- "react-dom": "18.3.1"
53
- },
54
- "gitHead": "e4f21a15c3d50fb6614d70cdaf36685232de87e7"
55
- }
2
+ "name": "@uxf/data-grid",
3
+ "version": "11.36.0",
4
+ "description": "UXF DataGrid",
5
+ "homepage": "https://gitlab.com/uxf-npm/data-grid#readme",
6
+ "main": "index.js",
7
+ "bin": {
8
+ "uxf-data-grid-generator": "bin/uxf-data-grid-generator.js"
9
+ },
10
+ "typings": "index.d.ts",
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://gitlab.com/uxf-npm/data-grid.git"
17
+ },
18
+ "license": "MIT",
19
+ "keywords": [
20
+ "data-table",
21
+ "data-grid",
22
+ "uxf"
23
+ ],
24
+ "scripts": {
25
+ "dev": "next dev",
26
+ "build": "tsc -P tsconfig.json",
27
+ "gen:icons": "icons-gen",
28
+ "gen:data-grid": "node bin/uxf-data-grid-generator.js -s _generator/__generator_tests__/data-grid-schema -o _generator/__generator_tests__/data-grid --requiredLoader",
29
+ "lint": "./node_modules/.bin/eslint -c .eslintrc.js \"./**/*.ts*\"",
30
+ "test": "npm run-script typecheck",
31
+ "typecheck": "tsc --noEmit --skipLibCheck"
32
+ },
33
+ "dependencies": {
34
+ "@uxf/core": "11.35.0",
35
+ "@uxf/core-react": "11.36.0",
36
+ "@uxf/ui": "11.36.0",
37
+ "dayjs": "1.11.13",
38
+ "deepmerge": "4.3.1",
39
+ "fast-glob": "3.3.2",
40
+ "qs": "6.13.0",
41
+ "react-data-grid": "7.0.0-beta.39",
42
+ "yargs": "17.7.2"
43
+ },
44
+ "peerDependencies": {
45
+ "react": ">=18.2.0",
46
+ "react-dom": ">=18.2.0"
47
+ },
48
+ "devDependencies": {
49
+ "@types/react": "18.3.5",
50
+ "@types/react-dom": "18.3.0",
51
+ "react": "18.3.1",
52
+ "react-dom": "18.3.1"
53
+ },
54
+ "gitHead": "e4f21a15c3d50fb6614d70cdaf36685232de87e7"
55
+ }
package/styles.css CHANGED
@@ -489,17 +489,17 @@
489
489
  }
490
490
 
491
491
  &__hidden-columns-empty-box {
492
- background-color: var(--uxf-color-warning-surface-muted);
493
- border: theme("borderWidth.DEFAULT") solid var(--uxf-color-warning-border);
492
+ background-color: theme("colors.warning_surface_muted");
493
+ border: theme("borderWidth.DEFAULT") solid theme("colors.warning_border");
494
494
  border-radius: theme("borderRadius.lg");
495
- color: var(--uxf-color-base-text-high-emphasis);
495
+ color: theme("colors.base_text_high_emphasis");
496
496
  display: flex;
497
497
  gap: 12px;
498
498
  margin: 8px 0;
499
499
  padding: 8px 16px;
500
500
 
501
501
  .uxf-icon {
502
- color: var(--uxf-color-warning-icon-on-muted);
502
+ color: theme("colors.warning_icon_on_muted");
503
503
  margin-top: 4px;
504
504
  }
505
505
  }
@@ -2,17 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useResizableColumns = useResizableColumns;
4
4
  const is_empty_1 = require("@uxf/core/utils/is-empty");
5
- const is_nil_1 = require("@uxf/core/utils/is-nil");
6
5
  const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
7
6
  const rem_1 = require("@uxf/styles/units/rem");
8
7
  const react_1 = require("react");
9
- function mapColumnSizesToGridTemplateColumns(columnSizes, actionCellWidth, selectRowCheckboxWidth) {
10
- const normalizedColumnSizes = columnSizes.map((size) => ((0, is_not_nil_1.isNotNil)(size) ? (0, rem_1.rem)(size) : "1fr"));
11
- const columnSizesWithSelectRows = (0, is_not_nil_1.isNotNil)(selectRowCheckboxWidth)
12
- ? `${(0, rem_1.rem)(selectRowCheckboxWidth)} ${normalizedColumnSizes.join(" ")}`
13
- : normalizedColumnSizes.join(" ");
14
- return (0, is_nil_1.isNil)(actionCellWidth) ? columnSizesWithSelectRows : `${columnSizesWithSelectRows} ${(0, rem_1.rem)(actionCellWidth)}`;
15
- }
8
+ const get_grid_template_columns_1 = require("../utils/get-grid-template-columns");
16
9
  function useResizableColumns(columns, actionCell, actions, selectRowsCellWidth) {
17
10
  const [activeIndex, setActiveIndex] = (0, react_1.useState)(null);
18
11
  const tableRef = (0, react_1.useRef)(null);
@@ -36,7 +29,7 @@ function useResizableColumns(columns, actionCell, actions, selectRowsCellWidth)
36
29
  // TODO @vejvis - jak tohle udělat lépe??
37
30
  tempColumnSizes = gridColumns;
38
31
  if (tableRef.current) {
39
- tableRef.current.style.gridTemplateColumns = mapColumnSizesToGridTemplateColumns(gridColumns, actionCellWidth, selectRowsCellWidth);
32
+ tableRef.current.style.gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)(gridColumns.map((size) => ((0, is_not_nil_1.isNotNil)(size) ? (0, rem_1.rem)(size) : "1fr")), actionCellWidth, selectRowsCellWidth);
40
33
  }
41
34
  };
42
35
  const onMouseUp = () => {
@@ -48,6 +48,12 @@
48
48
  }
49
49
  }
50
50
 
51
+ /* TODO tohle by asi nemělo mít classu uxf-data-grid */
52
+ .uxf-data-grid__action-cell-wrapper {
53
+ justify-content: flex-end;
54
+ padding: 0 theme("spacing.2");
55
+ }
56
+
51
57
  &__row {
52
58
  display: contents;
53
59
  }
@@ -15,6 +15,7 @@ const components_1 = require("./components");
15
15
  const header_select_all_rows_checkbox_1 = require("./components/header-select-all-rows-checkbox");
16
16
  const select_row_checkbox_1 = require("./components/select-row-checkbox");
17
17
  const use_resizable_columns_1 = require("./hooks/use-resizable-columns");
18
+ const get_grid_template_columns_1 = require("./utils/get-grid-template-columns");
18
19
  const get_grid_template_rows_1 = require("./utils/get-grid-template-rows");
19
20
  const SELECT_ROWS_CELL_WIDTH = 40;
20
21
  const defaultKeyExtractor = (r) => r.id;
@@ -26,18 +27,13 @@ function TableV2(props) {
26
27
  const visibleColumns = props.schema.columns
27
28
  .filter((column) => !column.hidden)
28
29
  .filter((column) => { var _a, _b, _c, _d; return !((_c = (_b = (_a = props.state.userConfig.columns) === null || _a === void 0 ? void 0 : _a[column.name]) === null || _b === void 0 ? void 0 : _b.isHidden) !== null && _c !== void 0 ? _c : (_d = column.config) === null || _d === void 0 ? void 0 : _d.isHidden); });
29
- const { tableRef, columnRefs, onResizeStart } = (0, use_resizable_columns_1.useResizableColumns)(visibleColumns, props.actionCell, props.actions, props.isRowSelectable ? SELECT_ROWS_CELL_WIDTH : null);
30
+ const selectedRowColumnWidth = props.isRowSelectable ? SELECT_ROWS_CELL_WIDTH : null;
31
+ const { tableRef, columnRefs, onResizeStart } = (0, use_resizable_columns_1.useResizableColumns)(visibleColumns, props.actionCell, props.actions, selectedRowColumnWidth);
30
32
  const gridTemplateRows = (0, get_grid_template_rows_1.getGridTemplateRows)(props.data, (_b = props.headerRowHeight) !== null && _b !== void 0 ? _b : 36, (_c = props.rowHeight) !== null && _c !== void 0 ? _c : 44);
31
- const gridTemplateColumnsWithoutAction = visibleColumns
33
+ const gridTemplateBasicColumns = visibleColumns
32
34
  .map((column) => { var _a, _b, _c, _d; return (_c = (_b = (_a = props.state.userConfig.columns) === null || _a === void 0 ? void 0 : _a[column.name]) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : (_d = column.config) === null || _d === void 0 ? void 0 : _d.width; })
33
- .map((width) => ((0, is_nil_1.isNil)(width) ? "1fr" : (0, rem_1.rem)(width)))
34
- .join(" ");
35
- const gridTemplateColumnsWithoutSelectable = (0, is_nil_1.isNil)((_d = props.actionCell) === null || _d === void 0 ? void 0 : _d.width)
36
- ? gridTemplateColumnsWithoutAction
37
- : `${gridTemplateColumnsWithoutAction} ${(0, rem_1.rem)(props.actionCell.width)}`;
38
- const gridTemplateColumns = props.isRowSelectable
39
- ? `${(0, rem_1.rem)(SELECT_ROWS_CELL_WIDTH)} ${gridTemplateColumnsWithoutSelectable}`
40
- : gridTemplateColumnsWithoutSelectable;
35
+ .map((width) => ((0, is_nil_1.isNil)(width) ? "1fr" : (0, rem_1.rem)(width)));
36
+ const gridTemplateColumns = (0, get_grid_template_columns_1.getGridTemplateColumns)(gridTemplateBasicColumns, selectedRowColumnWidth, (_d = props.actionCell) === null || _d === void 0 ? void 0 : _d.width);
41
37
  const selectedRows = (_e = props.state.selectedRows) !== null && _e !== void 0 ? _e : empty_array_1.EMPTY_ARRAY;
42
38
  const selectRowHandler = (rowId) => () => {
43
39
  const isRowSelected = selectedRows.find((r) => keyExtractor(r) === rowId);
@@ -0,0 +1,2 @@
1
+ import { Nullish } from "@uxf/core/types";
2
+ export declare function getGridTemplateColumns(columns: string[], selectRowColumnWidth: number | Nullish, actionColumnWidth: number | Nullish): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGridTemplateColumns = getGridTemplateColumns;
4
+ const buildArray_1 = require("@uxf/core/utils/buildArray");
5
+ const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
6
+ const rem_1 = require("@uxf/styles/units/rem");
7
+ function getGridTemplateColumns(columns, selectRowColumnWidth, actionColumnWidth) {
8
+ return (0, buildArray_1.buildArray)()
9
+ .when((0, is_not_nil_1.isNotNil)(selectRowColumnWidth), (0, rem_1.rem)(selectRowColumnWidth !== null && selectRowColumnWidth !== void 0 ? selectRowColumnWidth : 0))
10
+ .add(columns.join(" "))
11
+ .when((0, is_not_nil_1.isNotNil)(actionColumnWidth), `minmax(${(0, rem_1.rem)(actionColumnWidth !== null && actionColumnWidth !== void 0 ? actionColumnWidth : 0)}, auto)`)
12
+ .join(" ");
13
+ }