@kanunilabs/datagrid-react 1.5.0 → 1.7.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.
Files changed (44) hide show
  1. package/README.md +12 -4
  2. package/dist/index.cjs +3 -2
  3. package/dist/index.d.cts +521 -13
  4. package/dist/index.d.ts +521 -13
  5. package/dist/index.js +3 -2
  6. package/dist/styles.css +699 -80
  7. package/dist/themes/all.css +1588 -0
  8. package/dist/themes/amber.css +41 -0
  9. package/dist/themes/aubergine.css +49 -0
  10. package/dist/themes/azure.css +41 -0
  11. package/dist/themes/burgundy.css +49 -0
  12. package/dist/themes/charcoal.css +49 -0
  13. package/dist/themes/contrast-dark.css +49 -0
  14. package/dist/themes/contrast-light.css +41 -0
  15. package/dist/themes/coral.css +41 -0
  16. package/dist/themes/corporate.css +41 -0
  17. package/dist/themes/deep-sea.css +49 -0
  18. package/dist/themes/editorial.css +41 -0
  19. package/dist/themes/ember.css +49 -0
  20. package/dist/themes/emerald.css +41 -0
  21. package/dist/themes/forest.css +49 -0
  22. package/dist/themes/glacier.css +41 -0
  23. package/dist/themes/graphite.css +49 -0
  24. package/dist/themes/indigo-night.css +49 -0
  25. package/dist/themes/indigo.css +41 -0
  26. package/dist/themes/ivory.css +41 -0
  27. package/dist/themes/lagoon.css +41 -0
  28. package/dist/themes/linen.css +41 -0
  29. package/dist/themes/midnight.css +49 -0
  30. package/dist/themes/mist.css +41 -0
  31. package/dist/themes/monochrome.css +41 -0
  32. package/dist/themes/onyx.css +49 -0
  33. package/dist/themes/orchid.css +41 -0
  34. package/dist/themes/porcelain.css +41 -0
  35. package/dist/themes/rose.css +41 -0
  36. package/dist/themes/sandstone.css +41 -0
  37. package/dist/themes/slate-night.css +49 -0
  38. package/dist/themes/slate.css +41 -0
  39. package/dist/themes/steel.css +49 -0
  40. package/dist/themes/stone.css +41 -0
  41. package/dist/themes/taupe.css +41 -0
  42. package/dist/themes/teal.css +41 -0
  43. package/dist/themes/terminal.css +49 -0
  44. package/package.json +10 -5
@@ -0,0 +1,49 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Slate night (dark) — Deep slate and a sky accent — technical and cool. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-slate-night,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-slate-night,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-slate-night,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-slate-night.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-slate-night.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-slate-night.kanuni-datagrid-dark {
9
+ color-scheme: dark;
10
+ --dg-bg: #0f172a;
11
+ --dg-surface: #162033;
12
+ --dg-surface-header: #1e2a40;
13
+ --dg-surface-hover: #252f41;
14
+ --dg-surface-stripe: #1c2639;
15
+ --dg-border: #374051;
16
+ --dg-border-strong: #535c6c;
17
+ --dg-text: #e2e8f0;
18
+ --dg-text-muted: #afb5be;
19
+ --dg-primary: #38bdf8;
20
+ --dg-primary-soft: #1f4966;
21
+ --dg-on-primary: #0b0d12;
22
+ --dg-focus-ring: #38bdf8;
23
+ --dg-header-bg: #1e2a40;
24
+ --dg-header-text: #e2e8f0;
25
+ --dg-header-text-muted: #98a0ad;
26
+ --dg-header-hover: #2c374c;
27
+ --dg-selected-bg: #1f4966;
28
+ --dg-group-bg: #202a3c;
29
+ --dg-footer-bg: #1e2a40;
30
+ --dg-danger: #f87171;
31
+ --dg-danger-text: #f87171;
32
+ --dg-on-danger: #0b0d12;
33
+ --dg-warning: #fbbf24;
34
+ --dg-highlight-bg: #6b5024;
35
+ --dg-highlight-text: #e2e8f0;
36
+ --dg-note-marker: #f87171;
37
+ --dg-flash-bg: rgba(56, 189, 248, 0.35);
38
+ --dg-find-active-ring: #fbbf24;
39
+ --dg-overlay: rgba(0, 0, 0, 0.7);
40
+ --dg-scrollbar-thumb: #5b6473;
41
+ --dg-shadow-pinned: 2px 0 4px -2px rgba(0, 0, 0, 0.55);
42
+ --dg-shadow-pinned-right: -2px 0 4px -2px rgba(0, 0, 0, 0.55);
43
+ --dg-shadow-popup: 0 10px 25px -5px rgba(0, 0, 0, 0.6);
44
+ --dg-shadow-popup-sm: 0 8px 24px rgba(0, 0, 0, 0.5);
45
+ --dg-shadow-menu: 0 12px 28px rgba(0, 0, 0, 0.55);
46
+ --dg-shadow-card: 0 12px 32px rgba(0, 0, 0, 0.55);
47
+ --dg-shadow-panel: 0 8px 20px rgba(0, 0, 0, 0.45);
48
+ --dg-shadow-dialog: 0 24px 48px rgba(0, 0, 0, 0.65);
49
+ }
@@ -0,0 +1,41 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Slate (light) — Light slate surfaces with an indigo-slate accent; technical and calm. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-slate,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-slate,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-slate,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-slate.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-slate.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-slate.kanuni-datagrid-dark {
9
+ color-scheme: light;
10
+ --dg-bg: #d6dde6;
11
+ --dg-surface: #f1f5f9;
12
+ --dg-surface-header: #d9e1ea;
13
+ --dg-surface-hover: #e7ebf0;
14
+ --dg-surface-stripe: #edf1f5;
15
+ --dg-border: #cbd4df;
16
+ --dg-border-strong: #bbc0c7;
17
+ --dg-text: #0f172a;
18
+ --dg-text-muted: #5d6370;
19
+ --dg-primary: #4f5d95;
20
+ --dg-primary-soft: #dce1ec;
21
+ --dg-on-primary: #ffffff;
22
+ --dg-focus-ring: #4f5d95;
23
+ --dg-header-bg: #d9e1ea;
24
+ --dg-header-text: #0f172a;
25
+ --dg-header-text-muted: #535a68;
26
+ --dg-header-hover: #cbd3dd;
27
+ --dg-selected-bg: #dce1ec;
28
+ --dg-group-bg: #eaeef3;
29
+ --dg-footer-bg: #d9e1ea;
30
+ --dg-danger: #dc2626;
31
+ --dg-danger-text: #cd2323;
32
+ --dg-on-danger: #ffffff;
33
+ --dg-warning: #b05109;
34
+ --dg-highlight-bg: #f5e392;
35
+ --dg-highlight-text: #0f172a;
36
+ --dg-note-marker: #cd2323;
37
+ --dg-flash-bg: rgba(79, 93, 149, 0.35);
38
+ --dg-find-active-ring: #b05109;
39
+ --dg-overlay: rgba(15, 23, 42, 0.5);
40
+ --dg-scrollbar-thumb: #bbc0c7;
41
+ }
@@ -0,0 +1,49 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Steel (dark) — Blue-grey steel surfaces and a cornflower accent. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-steel,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-steel,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-steel,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-steel.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-steel.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-steel.kanuni-datagrid-dark {
9
+ color-scheme: dark;
10
+ --dg-bg: #1a2029;
11
+ --dg-surface: #212833;
12
+ --dg-surface-header: #2a3340;
13
+ --dg-surface-hover: #303641;
14
+ --dg-surface-stripe: #272e39;
15
+ --dg-border: #404751;
16
+ --dg-border-strong: #5b626b;
17
+ --dg-text: #e3e8ef;
18
+ --dg-text-muted: #b3b7be;
19
+ --dg-primary: #7fa6e0;
20
+ --dg-primary-soft: #394960;
21
+ --dg-on-primary: #0b0d12;
22
+ --dg-focus-ring: #7fa6e0;
23
+ --dg-header-bg: #2a3340;
24
+ --dg-header-text: #e3e8ef;
25
+ --dg-header-text-muted: #a7acb5;
26
+ --dg-header-hover: #37404c;
27
+ --dg-selected-bg: #394960;
28
+ --dg-group-bg: #2b323c;
29
+ --dg-footer-bg: #2a3340;
30
+ --dg-danger: #f87171;
31
+ --dg-danger-text: #f87575;
32
+ --dg-on-danger: #0b0d12;
33
+ --dg-warning: #fbbf24;
34
+ --dg-highlight-bg: #725524;
35
+ --dg-highlight-text: #e3e8ef;
36
+ --dg-note-marker: #f87575;
37
+ --dg-flash-bg: rgba(127, 166, 224, 0.35);
38
+ --dg-find-active-ring: #fbbf24;
39
+ --dg-overlay: rgba(0, 0, 0, 0.7);
40
+ --dg-scrollbar-thumb: #636973;
41
+ --dg-shadow-pinned: 2px 0 4px -2px rgba(0, 0, 0, 0.55);
42
+ --dg-shadow-pinned-right: -2px 0 4px -2px rgba(0, 0, 0, 0.55);
43
+ --dg-shadow-popup: 0 10px 25px -5px rgba(0, 0, 0, 0.6);
44
+ --dg-shadow-popup-sm: 0 8px 24px rgba(0, 0, 0, 0.5);
45
+ --dg-shadow-menu: 0 12px 28px rgba(0, 0, 0, 0.55);
46
+ --dg-shadow-card: 0 12px 32px rgba(0, 0, 0, 0.55);
47
+ --dg-shadow-panel: 0 8px 20px rgba(0, 0, 0, 0.45);
48
+ --dg-shadow-dialog: 0 24px 48px rgba(0, 0, 0, 0.65);
49
+ }
@@ -0,0 +1,41 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Stone (light) — Warm greys and a graphite accent — low noise, high polish. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-stone,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-stone,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-stone,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-stone.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-stone.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-stone.kanuni-datagrid-dark {
9
+ color-scheme: light;
10
+ --dg-bg: #efeeeb;
11
+ --dg-surface: #fbfbfa;
12
+ --dg-surface-header: #ecebe8;
13
+ --dg-surface-hover: #f1f1f0;
14
+ --dg-surface-stripe: #f7f7f6;
15
+ --dg-border: #e0e0df;
16
+ --dg-border-strong: #c5c5c4;
17
+ --dg-text: #1c1917;
18
+ --dg-text-muted: #666462;
19
+ --dg-primary: #57534e;
20
+ --dg-primary-soft: #e6e5e4;
21
+ --dg-on-primary: #ffffff;
22
+ --dg-focus-ring: #57534e;
23
+ --dg-header-bg: #ecebe8;
24
+ --dg-header-text: #1c1917;
25
+ --dg-header-text-muted: #63615e;
26
+ --dg-header-hover: #dddcd9;
27
+ --dg-selected-bg: #e6e5e4;
28
+ --dg-group-bg: #f4f4f3;
29
+ --dg-footer-bg: #ecebe8;
30
+ --dg-danger: #dc2626;
31
+ --dg-danger-text: #d12424;
32
+ --dg-on-danger: #ffffff;
33
+ --dg-warning: #b45309;
34
+ --dg-highlight-bg: #fbe693;
35
+ --dg-highlight-text: #1c1917;
36
+ --dg-note-marker: #d12424;
37
+ --dg-flash-bg: rgba(87, 83, 78, 0.35);
38
+ --dg-find-active-ring: #b45309;
39
+ --dg-overlay: rgba(15, 23, 42, 0.5);
40
+ --dg-scrollbar-thumb: #c5c5c4;
41
+ }
@@ -0,0 +1,41 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Taupe (light) — Soft grey-brown neutrals and a cocoa accent; understated. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-taupe,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-taupe,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-taupe,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-taupe.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-taupe.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-taupe.kanuni-datagrid-dark {
9
+ color-scheme: light;
10
+ --dg-bg: #eee9e4;
11
+ --dg-surface: #faf8f6;
12
+ --dg-surface-header: #e9e2db;
13
+ --dg-surface-hover: #f1efed;
14
+ --dg-surface-stripe: #f6f4f2;
15
+ --dg-border: #e2dfdd;
16
+ --dg-border-strong: #c9c6c4;
17
+ --dg-text: #2e2925;
18
+ --dg-text-muted: #686460;
19
+ --dg-primary: #7a5a48;
20
+ --dg-primary-soft: #e9e3df;
21
+ --dg-on-primary: #ffffff;
22
+ --dg-focus-ring: #7a5a48;
23
+ --dg-header-bg: #e9e2db;
24
+ --dg-header-text: #2e2925;
25
+ --dg-header-text-muted: #5f5a56;
26
+ --dg-header-hover: #dcd5ce;
27
+ --dg-selected-bg: #e9e3df;
28
+ --dg-group-bg: #f4f2f0;
29
+ --dg-footer-bg: #e9e2db;
30
+ --dg-danger: #dc2626;
31
+ --dg-danger-text: #d22424;
32
+ --dg-on-danger: #ffffff;
33
+ --dg-warning: #b45309;
34
+ --dg-highlight-bg: #fae491;
35
+ --dg-highlight-text: #2e2925;
36
+ --dg-note-marker: #d22424;
37
+ --dg-flash-bg: rgba(122, 90, 72, 0.35);
38
+ --dg-find-active-ring: #b45309;
39
+ --dg-overlay: rgba(15, 23, 42, 0.5);
40
+ --dg-scrollbar-thumb: #c9c6c4;
41
+ }
@@ -0,0 +1,41 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Teal (light) — Fresh mint band and a deep teal accent. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-teal,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-teal,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-teal,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-teal.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-teal.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-teal.kanuni-datagrid-dark {
9
+ color-scheme: light;
10
+ --dg-bg: #e3f4f1;
11
+ --dg-surface: #ffffff;
12
+ --dg-surface-header: #d3eee9;
13
+ --dg-surface-hover: #f4f5f5;
14
+ --dg-surface-stripe: #fbfbfb;
15
+ --dg-border: #e2e5e5;
16
+ --dg-border-strong: #c5cbcb;
17
+ --dg-text: #0f2725;
18
+ --dg-text-muted: #5d6a69;
19
+ --dg-primary: #0f766e;
20
+ --dg-primary-soft: #e0edec;
21
+ --dg-on-primary: #ffffff;
22
+ --dg-focus-ring: #0f766e;
23
+ --dg-header-bg: #d3eee9;
24
+ --dg-header-text: #0f2725;
25
+ --dg-header-text-muted: #4d625f;
26
+ --dg-header-hover: #c5e0db;
27
+ --dg-selected-bg: #e0edec;
28
+ --dg-group-bg: #f8f9f8;
29
+ --dg-footer-bg: #d3eee9;
30
+ --dg-danger: #dc2626;
31
+ --dg-danger-text: #d72525;
32
+ --dg-on-danger: #ffffff;
33
+ --dg-warning: #b45309;
34
+ --dg-highlight-bg: #fde896;
35
+ --dg-highlight-text: #0f2725;
36
+ --dg-note-marker: #d72525;
37
+ --dg-flash-bg: rgba(15, 118, 110, 0.35);
38
+ --dg-find-active-ring: #b45309;
39
+ --dg-overlay: rgba(15, 23, 42, 0.5);
40
+ --dg-scrollbar-thumb: #c5cbcb;
41
+ }
@@ -0,0 +1,49 @@
1
+ /* KanuniLabs DataGrid colour scheme — generated from the shared scheme source; edit the scheme, not this file. */
2
+ /* Terminal (dark) — Green-on-black for dense, data-heavy monitoring screens. */
3
+ .kanuni-datagrid-root.kanuni-datagrid-palette-terminal,
4
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-terminal,
5
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-terminal,
6
+ .kanuni-datagrid-root.kanuni-datagrid-palette-terminal.kanuni-datagrid-dark,
7
+ .kanuni-datagrid-enterprise.kanuni-datagrid-palette-terminal.kanuni-datagrid-dark,
8
+ .kanuni-datagrid-detached.kanuni-datagrid-palette-terminal.kanuni-datagrid-dark {
9
+ color-scheme: dark;
10
+ --dg-bg: #050805;
11
+ --dg-surface: #0a0f0a;
12
+ --dg-surface-header: #111a11;
13
+ --dg-surface-hover: #192019;
14
+ --dg-surface-stripe: #101610;
15
+ --dg-border: #2b342b;
16
+ --dg-border-strong: #485448;
17
+ --dg-text: #d7f5d7;
18
+ --dg-text-muted: #9bad9b;
19
+ --dg-primary: #4ade80;
20
+ --dg-primary-soft: #1b4529;
21
+ --dg-on-primary: #0b0d12;
22
+ --dg-focus-ring: #4ade80;
23
+ --dg-header-bg: #111a11;
24
+ --dg-header-text: #d7f5d7;
25
+ --dg-header-text-muted: #8ca28c;
26
+ --dg-header-hover: #1f291f;
27
+ --dg-selected-bg: #1b4529;
28
+ --dg-group-bg: #141b14;
29
+ --dg-footer-bg: #111a11;
30
+ --dg-danger: #f87171;
31
+ --dg-danger-text: #f87171;
32
+ --dg-on-danger: #0b0d12;
33
+ --dg-warning: #fbbf24;
34
+ --dg-highlight-bg: #63450a;
35
+ --dg-highlight-text: #d7f5d7;
36
+ --dg-note-marker: #f87171;
37
+ --dg-flash-bg: rgba(74, 222, 128, 0.35);
38
+ --dg-find-active-ring: #fbbf24;
39
+ --dg-overlay: rgba(0, 0, 0, 0.7);
40
+ --dg-scrollbar-thumb: #505d50;
41
+ --dg-shadow-pinned: 2px 0 4px -2px rgba(0, 0, 0, 0.55);
42
+ --dg-shadow-pinned-right: -2px 0 4px -2px rgba(0, 0, 0, 0.55);
43
+ --dg-shadow-popup: 0 10px 25px -5px rgba(0, 0, 0, 0.6);
44
+ --dg-shadow-popup-sm: 0 8px 24px rgba(0, 0, 0, 0.5);
45
+ --dg-shadow-menu: 0 12px 28px rgba(0, 0, 0, 0.55);
46
+ --dg-shadow-card: 0 12px 32px rgba(0, 0, 0, 0.55);
47
+ --dg-shadow-panel: 0 8px 20px rgba(0, 0, 0, 0.45);
48
+ --dg-shadow-dialog: 0 24px 48px rgba(0, 0, 0, 0.65);
49
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kanunilabs/datagrid-react",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "description": "High-performance React data grid — virtualized rows and columns, sticky pinned columns, sorting, filtering and theming",
5
5
  "keywords": [
6
6
  "react",
@@ -40,12 +40,15 @@
40
40
  "default": "./dist/index.cjs"
41
41
  }
42
42
  },
43
- "./styles.css": "./dist/styles.css"
43
+ "./styles.css": "./dist/styles.css",
44
+ "./themes/*": "./dist/themes/*"
44
45
  },
45
46
  "main": "./dist/index.cjs",
46
47
  "module": "./dist/index.js",
47
48
  "types": "./dist/index.d.ts",
48
- "sideEffects": false,
49
+ "sideEffects": [
50
+ "*.css"
51
+ ],
49
52
  "files": [
50
53
  "dist",
51
54
  "LICENSE"
@@ -54,14 +57,16 @@
54
57
  "access": "public"
55
58
  },
56
59
  "dependencies": {
57
- "@kanunilabs/datagrid-core": "1.7.0"
60
+ "@kanunilabs/datagrid-core": "1.9.0"
58
61
  },
59
62
  "peerDependencies": {
60
63
  "react": ">=18.0.0",
61
64
  "react-dom": ">=18.0.0"
62
65
  },
63
66
  "devDependencies": {
64
- "jsdom": "^30.0.1"
67
+ "axe-core": "4.10.2",
68
+ "jsdom": "^30.0.1",
69
+ "@kanunilabs/foundation": "1.0.4"
65
70
  },
66
71
  "scripts": {
67
72
  "lint": "tsc --noEmit",