@dbcdk/react-components 0.0.119 → 0.0.121

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.
Files changed (41) hide show
  1. package/dist/components/button/Button.module.css +2 -2
  2. package/dist/components/card/Card.cjs +4 -7
  3. package/dist/components/card/Card.js +4 -7
  4. package/dist/components/card/Card.module.css +4 -9
  5. package/dist/components/lightbox/Lightbox.cjs +94 -23
  6. package/dist/components/lightbox/Lightbox.d.ts +14 -1
  7. package/dist/components/lightbox/Lightbox.js +95 -24
  8. package/dist/components/lightbox/Lightbox.module.css +56 -3
  9. package/dist/components/search-box/SearchBox.cjs +9 -4
  10. package/dist/components/search-box/SearchBox.js +9 -4
  11. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.cjs +1 -1
  12. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.js +1 -1
  13. package/dist/components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem.module.css +11 -7
  14. package/dist/components/table/Table.cjs +9 -4
  15. package/dist/components/table/Table.d.ts +1 -1
  16. package/dist/components/table/Table.js +10 -5
  17. package/dist/components/table/Table.module.css +25 -0
  18. package/dist/components/table/Table.types.d.ts +13 -0
  19. package/dist/components/table/TanstackTable.cjs +10 -1
  20. package/dist/components/table/TanstackTable.js +10 -1
  21. package/dist/components/table/components/TableBody.cjs +2 -0
  22. package/dist/components/table/components/TableBody.d.ts +7 -2
  23. package/dist/components/table/components/TableBody.js +2 -0
  24. package/dist/components/table/components/TableHeader.cjs +10 -1
  25. package/dist/components/table/components/TableHeader.d.ts +2 -1
  26. package/dist/components/table/components/TableHeader.js +10 -1
  27. package/dist/components/table/components/TableRow.cjs +75 -1
  28. package/dist/components/table/components/TableRow.d.ts +7 -2
  29. package/dist/components/table/components/TableRow.js +75 -1
  30. package/dist/components/table/hooks/useTableRowInteractions.cjs +2 -2
  31. package/dist/components/table/hooks/useTableRowInteractions.js +2 -2
  32. package/dist/components/table/table.utils.cjs +2 -0
  33. package/dist/components/table/table.utils.d.ts +1 -0
  34. package/dist/components/table/table.utils.js +2 -1
  35. package/dist/components/table/tanstackTable.utils.cjs +6 -4
  36. package/dist/components/table/tanstackTable.utils.d.ts +2 -0
  37. package/dist/components/table/tanstackTable.utils.js +7 -5
  38. package/package.json +1 -1
  39. package/dist/components/table/components/TableLoadingBody.cjs +0 -35
  40. package/dist/components/table/components/TableLoadingBody.d.ts +0 -9
  41. package/dist/components/table/components/TableLoadingBody.js +0 -29
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const SELECTION_COLUMN_PX = 40;
4
+ const CONTEXT_MENU_COLUMN_PX = 44;
4
5
  const DEFAULT_COLUMN_PX = 150;
5
6
  function getVisibleColumns(columns) {
6
7
  return columns.filter((column) => !column.hidden);
@@ -44,6 +45,7 @@ function getCellDisplayValue(row, column) {
44
45
  return empty;
45
46
  }
46
47
 
48
+ exports.CONTEXT_MENU_COLUMN_PX = CONTEXT_MENU_COLUMN_PX;
47
49
  exports.DEFAULT_COLUMN_PX = DEFAULT_COLUMN_PX;
48
50
  exports.SELECTION_COLUMN_PX = SELECTION_COLUMN_PX;
49
51
  exports.getAriaSort = getAriaSort;
@@ -1,6 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { ColumnItem } from './Table.types';
3
3
  export declare const SELECTION_COLUMN_PX: 40;
4
+ export declare const CONTEXT_MENU_COLUMN_PX: 44;
4
5
  export declare const DEFAULT_COLUMN_PX: 150;
5
6
  export type SortDirection = 'asc' | 'desc' | null;
6
7
  export declare function getVisibleColumns<T>(columns: Array<ColumnItem<T>>): Array<ColumnItem<T>>;
@@ -1,4 +1,5 @@
1
1
  const SELECTION_COLUMN_PX = 40;
2
+ const CONTEXT_MENU_COLUMN_PX = 44;
2
3
  const DEFAULT_COLUMN_PX = 150;
3
4
  function getVisibleColumns(columns) {
4
5
  return columns.filter((column) => !column.hidden);
@@ -42,4 +43,4 @@ function getCellDisplayValue(row, column) {
42
43
  return empty;
43
44
  }
44
45
 
45
- export { DEFAULT_COLUMN_PX, SELECTION_COLUMN_PX, getAriaSort, getCellDisplayValue, getHeaderLabel, getNextSortDirection, getVisibleColumns, isActiveSort, isModifierClick, shouldAllowWrap, shouldToggleOnKey };
46
+ export { CONTEXT_MENU_COLUMN_PX, DEFAULT_COLUMN_PX, SELECTION_COLUMN_PX, getAriaSort, getCellDisplayValue, getHeaderLabel, getNextSortDirection, getVisibleColumns, isActiveSort, isModifierClick, shouldAllowWrap, shouldToggleOnKey };
@@ -93,9 +93,10 @@ function toIntegerTrackWidths(tracks, targetWidth) {
93
93
  return Object.fromEntries(floored.map((track) => [track.id, track.width]));
94
94
  }
95
95
  function buildDistributedColumnWidths(args) {
96
- const { table, hasSelection, defaultMinPx, columnSizing, availableWidth } = args;
96
+ const { table, hasSelection, hasContextMenu, defaultMinPx, columnSizing, availableWidth } = args;
97
97
  const leaf = table.getVisibleLeafColumns();
98
98
  const selectionWidth = hasSelection ? table_utils.SELECTION_COLUMN_PX : 0;
99
+ const contextMenuWidth = hasContextMenu ? table_utils.CONTEXT_MENU_COLUMN_PX : 0;
99
100
  const tracks = leaf.map((c) => {
100
101
  var _a, _b, _c, _d;
101
102
  const def = c.columnDef;
@@ -123,7 +124,7 @@ function buildDistributedColumnWidths(args) {
123
124
  fixed: false
124
125
  };
125
126
  });
126
- const fixedWidth = selectionWidth + tracks.reduce((sum, track) => sum + track.width, 0);
127
+ const fixedWidth = selectionWidth + contextMenuWidth + tracks.reduce((sum, track) => sum + track.width, 0);
127
128
  let remaining = Math.max(0, availableWidth - fixedWidth);
128
129
  let active = tracks.filter(
129
130
  (track) => !track.fixed && (track.max == null || track.width < track.max)
@@ -148,18 +149,19 @@ function buildDistributedColumnWidths(args) {
148
149
  active = nextActive;
149
150
  }
150
151
  const floatTrackTotal = tracks.reduce((sum, track) => sum + track.width, 0);
151
- const maxTrackWidth = availableWidth - selectionWidth;
152
+ const maxTrackWidth = availableWidth - selectionWidth - contextMenuWidth;
152
153
  const targetTrackWidth = Math.min(
153
154
  floatTrackTotal <= maxTrackWidth ? Math.floor(floatTrackTotal) : Math.ceil(floatTrackTotal),
154
155
  maxTrackWidth
155
156
  );
156
157
  const widths = toIntegerTrackWidths(tracks, targetTrackWidth);
157
158
  const totalWidth = Math.min(
158
- selectionWidth + Object.values(widths).reduce((sum, width) => sum + width, 0),
159
+ selectionWidth + contextMenuWidth + Object.values(widths).reduce((sum, width) => sum + width, 0),
159
160
  availableWidth
160
161
  );
161
162
  return {
162
163
  selectionWidth: hasSelection ? table_utils.SELECTION_COLUMN_PX : void 0,
164
+ contextMenuWidth: hasContextMenu ? table_utils.CONTEXT_MENU_COLUMN_PX : void 0,
163
165
  widths,
164
166
  totalWidth
165
167
  };
@@ -14,11 +14,13 @@ export declare function getSortPropsFromSorting(sorting: SortingState): {
14
14
  export declare function buildDistributedColumnWidths(args: {
15
15
  table: any;
16
16
  hasSelection: boolean;
17
+ hasContextMenu: boolean;
17
18
  defaultMinPx: number;
18
19
  columnSizing: ColumnSizingState;
19
20
  availableWidth: number;
20
21
  }): {
21
22
  selectionWidth?: number;
23
+ contextMenuWidth?: number;
22
24
  widths: Record<string, number>;
23
25
  totalWidth: number;
24
26
  };
@@ -1,4 +1,4 @@
1
- import { DEFAULT_COLUMN_PX, SELECTION_COLUMN_PX } from './table.utils';
1
+ import { DEFAULT_COLUMN_PX, CONTEXT_MENU_COLUMN_PX, SELECTION_COLUMN_PX } from './table.utils';
2
2
 
3
3
  function getColumnId(def, index) {
4
4
  const d = def;
@@ -91,9 +91,10 @@ function toIntegerTrackWidths(tracks, targetWidth) {
91
91
  return Object.fromEntries(floored.map((track) => [track.id, track.width]));
92
92
  }
93
93
  function buildDistributedColumnWidths(args) {
94
- const { table, hasSelection, defaultMinPx, columnSizing, availableWidth } = args;
94
+ const { table, hasSelection, hasContextMenu, defaultMinPx, columnSizing, availableWidth } = args;
95
95
  const leaf = table.getVisibleLeafColumns();
96
96
  const selectionWidth = hasSelection ? SELECTION_COLUMN_PX : 0;
97
+ const contextMenuWidth = hasContextMenu ? CONTEXT_MENU_COLUMN_PX : 0;
97
98
  const tracks = leaf.map((c) => {
98
99
  var _a, _b, _c, _d;
99
100
  const def = c.columnDef;
@@ -121,7 +122,7 @@ function buildDistributedColumnWidths(args) {
121
122
  fixed: false
122
123
  };
123
124
  });
124
- const fixedWidth = selectionWidth + tracks.reduce((sum, track) => sum + track.width, 0);
125
+ const fixedWidth = selectionWidth + contextMenuWidth + tracks.reduce((sum, track) => sum + track.width, 0);
125
126
  let remaining = Math.max(0, availableWidth - fixedWidth);
126
127
  let active = tracks.filter(
127
128
  (track) => !track.fixed && (track.max == null || track.width < track.max)
@@ -146,18 +147,19 @@ function buildDistributedColumnWidths(args) {
146
147
  active = nextActive;
147
148
  }
148
149
  const floatTrackTotal = tracks.reduce((sum, track) => sum + track.width, 0);
149
- const maxTrackWidth = availableWidth - selectionWidth;
150
+ const maxTrackWidth = availableWidth - selectionWidth - contextMenuWidth;
150
151
  const targetTrackWidth = Math.min(
151
152
  floatTrackTotal <= maxTrackWidth ? Math.floor(floatTrackTotal) : Math.ceil(floatTrackTotal),
152
153
  maxTrackWidth
153
154
  );
154
155
  const widths = toIntegerTrackWidths(tracks, targetTrackWidth);
155
156
  const totalWidth = Math.min(
156
- selectionWidth + Object.values(widths).reduce((sum, width) => sum + width, 0),
157
+ selectionWidth + contextMenuWidth + Object.values(widths).reduce((sum, width) => sum + width, 0),
157
158
  availableWidth
158
159
  );
159
160
  return {
160
161
  selectionWidth: hasSelection ? SELECTION_COLUMN_PX : void 0,
162
+ contextMenuWidth: hasContextMenu ? CONTEXT_MENU_COLUMN_PX : void 0,
161
163
  widths,
162
164
  totalWidth
163
165
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbcdk/react-components",
3
- "version": "0.0.119",
3
+ "version": "0.0.121",
4
4
  "description": "Reusable React components for DBC projects",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -1,35 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var SkeletonLoaderItem = require('../../../components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem');
5
- var table_classes = require('../table.classes');
6
- var styles = require('../Table.module.css');
7
-
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
-
10
- var styles__default = /*#__PURE__*/_interopDefault(styles);
11
-
12
- function TableLoadingBody({ rows, columns, hasSelection }) {
13
- return /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: styles__default.default.body, children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: styles__default.default.row, children: [
14
- hasSelection ? /* @__PURE__ */ jsxRuntime.jsx("td", { className: table_classes.cx(styles__default.default.cell, styles__default.default.selectionCell), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.cellContent, children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoaderItem.SkeletonLoaderItem, { height: 20, width: 20 }) }) }) : null,
15
- columns.map((column) => {
16
- var _a;
17
- return /* @__PURE__ */ jsxRuntime.jsx(
18
- "td",
19
- {
20
- className: table_classes.cx(
21
- styles__default.default.cell,
22
- column.divider === "left" && styles__default.default.dividerLeft,
23
- column.divider === "right" && styles__default.default.dividerRight
24
- ),
25
- "data-align": (_a = column.align) != null ? _a : "left",
26
- "data-divider": column.divider,
27
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.cellContent, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles__default.default.cellValueEllipsis, children: /* @__PURE__ */ jsxRuntime.jsx(SkeletonLoaderItem.SkeletonLoaderItem, { height: 20, width: "100%" }) }) })
28
- },
29
- column.id
30
- );
31
- })
32
- ] }, `loading-row-${rowIndex}`)) });
33
- }
34
-
35
- exports.TableLoadingBody = TableLoadingBody;
@@ -1,9 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import type { ColumnItem } from '../Table.types';
3
- type Props<T> = {
4
- rows: number;
5
- columns: ColumnItem<T>[];
6
- hasSelection: boolean;
7
- };
8
- export declare function TableLoadingBody<T>({ rows, columns, hasSelection }: Props<T>): ReactNode;
9
- export {};
@@ -1,29 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { SkeletonLoaderItem } from '../../../components/skeleton-loader/skeleton-loader-item/SkeletonLoaderItem';
3
- import { cx } from '../table.classes';
4
- import styles from '../Table.module.css';
5
-
6
- function TableLoadingBody({ rows, columns, hasSelection }) {
7
- return /* @__PURE__ */ jsx("tbody", { className: styles.body, children: Array.from({ length: rows }).map((_, rowIndex) => /* @__PURE__ */ jsxs("tr", { className: styles.row, children: [
8
- hasSelection ? /* @__PURE__ */ jsx("td", { className: cx(styles.cell, styles.selectionCell), children: /* @__PURE__ */ jsx("div", { className: styles.cellContent, children: /* @__PURE__ */ jsx(SkeletonLoaderItem, { height: 20, width: 20 }) }) }) : null,
9
- columns.map((column) => {
10
- var _a;
11
- return /* @__PURE__ */ jsx(
12
- "td",
13
- {
14
- className: cx(
15
- styles.cell,
16
- column.divider === "left" && styles.dividerLeft,
17
- column.divider === "right" && styles.dividerRight
18
- ),
19
- "data-align": (_a = column.align) != null ? _a : "left",
20
- "data-divider": column.divider,
21
- children: /* @__PURE__ */ jsx("div", { className: styles.cellContent, children: /* @__PURE__ */ jsx("div", { className: styles.cellValueEllipsis, children: /* @__PURE__ */ jsx(SkeletonLoaderItem, { height: 20, width: "100%" }) }) })
22
- },
23
- column.id
24
- );
25
- })
26
- ] }, `loading-row-${rowIndex}`)) });
27
- }
28
-
29
- export { TableLoadingBody };