@nexgrid/react 0.2.0 → 0.2.1

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/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@nexgrid/react",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "TableX for React and Next.js — a professional, server-driven data grid with search, sorting, selection, density, exports, and responsive card layout.",
5
5
  "license": "MIT",
6
6
  "author": "Chhagan Sinha <sinhachhagan@outlook.com>",
7
7
  "homepage": "https://github.com/ChhaganSinha/NexGrid#readme",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/ChhaganSinha/NexGrid.git",
10
+ "url": "git+https://github.com/ChhaganSinha/NexGrid.git",
11
11
  "directory": "packages/react"
12
12
  },
13
13
  "bugs": {
@@ -50,7 +50,7 @@
50
50
  "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\""
51
51
  },
52
52
  "dependencies": {
53
- "@nexgrid/core": "^0.2.0"
53
+ "@nexgrid/core": "^0.2.1"
54
54
  },
55
55
  "peerDependencies": {
56
56
  "react": ">=18.0.0"
package/styles.css CHANGED
@@ -681,6 +681,30 @@
681
681
  text-align: center;
682
682
  }
683
683
 
684
+ /* Multi-level column header grouping */
685
+ .tbx-th--group {
686
+ text-align: center;
687
+ font-weight: 700;
688
+ letter-spacing: 0.02em;
689
+ background: var(--tbx-card-2);
690
+ border-bottom: 1px solid var(--tbx-border);
691
+ border-right: 1px solid var(--tbx-border);
692
+ padding: 8px 12px;
693
+ }
694
+
695
+ .tbx-th-group-title {
696
+ display: inline-block;
697
+ font-size: 11px;
698
+ font-weight: 700;
699
+ letter-spacing: 0.05em;
700
+ text-transform: uppercase;
701
+ color: var(--tbx-muted-fg);
702
+ }
703
+
704
+ .tbx-th--grouped-child {
705
+ border-bottom: 1px solid var(--tbx-border);
706
+ }
707
+
684
708
  .tbx-th--sortable {
685
709
  cursor: pointer;
686
710
  }
@@ -901,6 +925,117 @@
901
925
  opacity: 0.9;
902
926
  }
903
927
 
928
+ .tbx-filter-popover.tbx-btn--primary:hover {
929
+ opacity: 0.9;
930
+ }
931
+
932
+ /* ---- Active Filter Pills Bar ---- */
933
+ .tbx-filter-pills-bar {
934
+ display: flex;
935
+ flex-wrap: wrap;
936
+ align-items: center;
937
+ gap: 8px;
938
+ padding: 8px 16px;
939
+ background: var(--tbx-card-2, #f8fafc);
940
+ border-bottom: 1px solid var(--tbx-border-subtle, #f1f5f9);
941
+ font-size: 12px;
942
+ }
943
+
944
+ .tbx-dark .tbx-filter-pills-bar {
945
+ background: rgba(30, 41, 59, 0.5);
946
+ border-bottom-color: var(--tbx-border);
947
+ }
948
+
949
+ .tbx-filter-pills-title {
950
+ font-weight: 600;
951
+ color: var(--tbx-muted-fg);
952
+ text-transform: uppercase;
953
+ font-size: 11px;
954
+ letter-spacing: 0.04em;
955
+ margin-right: 4px;
956
+ }
957
+
958
+ .tbx-filter-pill {
959
+ display: inline-flex;
960
+ align-items: center;
961
+ gap: 6px;
962
+ padding: 3px 8px 3px 10px;
963
+ background: var(--tbx-card);
964
+ border: 1px solid var(--tbx-border);
965
+ border-radius: 9999px;
966
+ color: var(--tbx-fg);
967
+ font-size: 12px;
968
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
969
+ transition: border-color 120ms ease, background-color 120ms ease;
970
+ }
971
+
972
+ .tbx-filter-pill:hover {
973
+ border-color: var(--tbx-primary);
974
+ }
975
+
976
+ .tbx-filter-pill-label {
977
+ font-weight: 500;
978
+ color: var(--tbx-muted-fg);
979
+ }
980
+
981
+ .tbx-filter-pill-val {
982
+ font-weight: 600;
983
+ color: var(--tbx-fg);
984
+ }
985
+
986
+ .tbx-filter-pill-remove {
987
+ display: inline-flex;
988
+ align-items: center;
989
+ justify-content: center;
990
+ width: 16px;
991
+ height: 16px;
992
+ padding: 0;
993
+ margin-left: 2px;
994
+ background: transparent;
995
+ border: none;
996
+ border-radius: 50%;
997
+ color: var(--tbx-muted-fg);
998
+ cursor: pointer;
999
+ transition: background-color 120ms ease, color 120ms ease;
1000
+ }
1001
+
1002
+ .tbx-filter-pill-remove:hover {
1003
+ background: rgba(239, 68, 68, 0.15);
1004
+ color: #ef4444;
1005
+ }
1006
+
1007
+ .tbx-filter-pill-clear-all {
1008
+ display: inline-flex;
1009
+ align-items: center;
1010
+ padding: 3px 8px;
1011
+ background: transparent;
1012
+ border: none;
1013
+ color: var(--tbx-primary);
1014
+ font-size: 12px;
1015
+ font-weight: 500;
1016
+ cursor: pointer;
1017
+ text-decoration: underline;
1018
+ text-underline-offset: 2px;
1019
+ transition: opacity 120ms ease;
1020
+ }
1021
+
1022
+ .tbx-filter-pill-clear-all:hover {
1023
+ opacity: 0.8;
1024
+ }
1025
+
1026
+ .tbx-menu-item--reset {
1027
+ color: var(--tbx-muted-fg);
1028
+ font-size: 12px;
1029
+ border-top: 1px solid var(--tbx-border);
1030
+ margin-top: 4px;
1031
+ padding-top: 8px;
1032
+ }
1033
+
1034
+ .tbx-menu-item--reset:hover {
1035
+ color: var(--tbx-fg);
1036
+ }
1037
+
1038
+
904
1039
  /* ---- Column resize handles ---- */
905
1040
  .tbx-resize-handle {
906
1041
  position: absolute;