comins-table 0.1.6 → 0.1.7

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.
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- export type CominsTableIconName = "columnMove" | "disclosureCollapsed" | "disclosureExpanded" | "sortAscending" | "sortDescending" | "sortUnsorted";
2
+ export type CominsTableIconName = "columnMove" | "disclosureCollapsed" | "disclosureExpanded" | "filter" | "sortAscending" | "sortDescending" | "sortUnsorted";
3
3
  export declare function CominsTableIcon({ className, name }: {
4
4
  className?: string;
5
5
  name: CominsTableIconName;
@@ -1 +1 @@
1
- {"version":3,"file":"table-icons.d.ts","sourceRoot":"","sources":["../src/table-icons.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAWnB,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,qBAWrG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;kBAJlB,MAAM;UACd,mBAAmB;2CAgB1B,CAAC"}
1
+ {"version":3,"file":"table-icons.d.ts","sourceRoot":"","sources":["../src/table-icons.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,GACR,eAAe,GACf,gBAAgB,GAChB,cAAc,CAAC;AAYnB,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,qBAWrG;AAED,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;kBAJlB,MAAM;UACd,mBAAmB;2CAgB1B,CAAC"}
@@ -14,7 +14,7 @@ export type CominsDataVirtualSlot<TData> = {
14
14
  visibleIndex: number;
15
15
  };
16
16
  export type CominsGroupVirtualSlot = {
17
- groupId: string;
17
+ groupId: CominsRowId;
18
18
  height: number;
19
19
  key: string;
20
20
  kind: "group";
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-layout.d.ts","sourceRoot":"","sources":["../src/virtual-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virtual-layout.d.ts","sourceRoot":"","sources":["../src/virtual-layout.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "comins-table",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -25,10 +25,11 @@
25
25
  "test:perf": "env -u NO_COLOR playwright test --config=playwright.config.ts --grep @perf",
26
26
  "test:run": "vitest run",
27
27
  "test:licenses": "node --test test/license-gates.node.mjs",
28
- "test:security": "node --test test/sensitive-data-gates.node.mjs test/package-artifact-gate.node.mjs",
28
+ "test:security": "node --test test/sensitive-data-gates.node.mjs test/package-artifact-gate.node.mjs test/npm-maintainer-gate.node.mjs",
29
29
  "verify": "npm run check:hygiene && npm run test:security && npm run test:licenses && npm run check:licenses && npm run lint && npm run test:run && npm run build",
30
30
  "verify:e2e": "npm run test:e2e",
31
31
  "verify:full": "npm run verify && npm run verify:e2e",
32
+ "verify:npm-maintainer": "node scripts/check-npm-maintainer.mjs",
32
33
  "verify:package-artifact": "node scripts/verify-package-artifact.mjs"
33
34
  },
34
35
  "exports": {
@@ -69,13 +70,13 @@
69
70
  "@tailwindcss/postcss": "^4.3.3",
70
71
  "@types/react": "^19.2.18",
71
72
  "@types/react-dom": "^19.2.4",
72
- "@vitejs/plugin-react": "^6.0.5",
73
+ "@vitejs/plugin-react": "^6.1.0",
73
74
  "jsdom": "^29.1.1",
74
75
  "prism-react-renderer": "^2.4.1",
75
76
  "react-router": "^8.3.0",
76
77
  "typescript": "^7.0.2",
77
- "vite": "^8.1.5",
78
- "vitest": "^4.1.10"
78
+ "vite": "^8.2.2",
79
+ "vitest": "^4.1.11"
79
80
  },
80
81
  "dependencies": {
81
82
  "@radix-ui/react-icons": "1.3.2"
package/styles.css CHANGED
@@ -21,6 +21,8 @@
21
21
  --comins-table-drop-valid-background: rgba(37, 99, 235, 0.22);
22
22
  --comins-table-focus: rgba(16, 185, 129, 0.28);
23
23
  --comins-table-foreground: #111827;
24
+ --comins-table-group-row-background: #d1d5db;
25
+ --comins-table-group-row-color: var(--comins-table-foreground);
24
26
  --comins-table-header-background: var(--comins-table-accent);
25
27
  --comins-table-header-border: var(--comins-table-row-border);
26
28
  --comins-table-header-color: var(--comins-table-accent-foreground);
@@ -116,6 +118,8 @@
116
118
  --comins-table-drop-marker: #34d399;
117
119
  --comins-table-focus: rgba(45, 212, 191, 0.26);
118
120
  --comins-table-foreground: #effcf7;
121
+ --comins-table-group-row-background: #334155;
122
+ --comins-table-group-row-color: #f8fafc;
119
123
  --comins-table-header-background: #064e3b;
120
124
  --comins-table-header-border: var(--comins-table-row-border);
121
125
  --comins-table-header-color: #ecfdf5;
@@ -308,6 +312,96 @@
308
312
  min-width: 0;
309
313
  }
310
314
 
315
+ .comins-table__group-row {
316
+ background: var(--comins-table-group-row-background);
317
+ color: var(--comins-table-group-row-color);
318
+ }
319
+
320
+ .comins-table__group-row > .comins-table__group-cell {
321
+ background: inherit;
322
+ color: inherit;
323
+ font-weight: 600;
324
+ text-align: left;
325
+ }
326
+
327
+ .comins-row-group-cell-content {
328
+ align-items: center;
329
+ display: flex;
330
+ gap: 4px;
331
+ min-width: 0;
332
+ }
333
+
334
+ .comins-row-group-content {
335
+ align-items: center;
336
+ display: flex;
337
+ gap: 10px;
338
+ min-width: 0;
339
+ }
340
+
341
+ .comins-row-group-count,
342
+ .comins-row-group-aggregate {
343
+ color: var(--comins-table-muted);
344
+ flex: 0 0 auto;
345
+ font-size: 0.875em;
346
+ font-weight: 500;
347
+ }
348
+
349
+ .comins-row-group-drag-handle {
350
+ color: var(--comins-table-accent-strong);
351
+ cursor: grab;
352
+ flex: 0 0 24px;
353
+ }
354
+
355
+ .comins-row-group-drag-handle:active {
356
+ cursor: grabbing;
357
+ }
358
+
359
+ .comins-row-group-expander {
360
+ color: var(--comins-table-accent-strong);
361
+ flex: 0 0 24px;
362
+ }
363
+
364
+ .comins-row-group-expander .comins-table-icon {
365
+ transform: rotate(0deg);
366
+ transition: transform 160ms ease;
367
+ }
368
+
369
+ .comins-row-group-expander[aria-expanded="true"] .comins-table-icon {
370
+ transform: rotate(90deg);
371
+ }
372
+
373
+ .comins-row-group-label {
374
+ min-width: 0;
375
+ overflow: hidden;
376
+ text-overflow: ellipsis;
377
+ white-space: nowrap;
378
+ }
379
+
380
+ .comins-table__group-row[data-comins-group-drag-source="true"] > .comins-table__group-cell {
381
+ opacity: 0.68;
382
+ }
383
+
384
+ .comins-table__group-row[data-comins-group-drop-position="before"] > .comins-table__group-cell {
385
+ box-shadow: inset 0 3px var(--comins-table-drop-marker);
386
+ }
387
+
388
+ .comins-table__group-row[data-comins-group-drop-position="after"] > .comins-table__group-cell {
389
+ box-shadow: inset 0 -3px var(--comins-table-drop-marker);
390
+ }
391
+
392
+ .comins-table__group-row[data-comins-row-drop-valid="true"] > .comins-table__group-cell {
393
+ background: var(--comins-table-drop-valid-background);
394
+ }
395
+
396
+ .comins-table__group-row[data-comins-row-drop-valid="false"] > .comins-table__group-cell {
397
+ background: var(--comins-table-drop-invalid-background);
398
+ }
399
+
400
+ .comins-row-group-column-label {
401
+ font-weight: 500;
402
+ opacity: 0.72;
403
+ }
404
+
311
405
  .comins-row-detail-expander {
312
406
  color: var(--comins-table-accent-strong);
313
407
  }
@@ -692,6 +786,94 @@
692
786
  margin-left: 6px;
693
787
  }
694
788
 
789
+ .comins-column-filter {
790
+ display: inline-flex;
791
+ flex: 0 0 24px;
792
+ overflow: visible;
793
+ position: relative;
794
+ }
795
+
796
+ .comins-column-filter__trigger {
797
+ border-radius: 4px;
798
+ color: var(--comins-table-header-color);
799
+ opacity: 0.72;
800
+ }
801
+
802
+ .comins-column-filter__trigger:hover,
803
+ .comins-column-filter__trigger:focus-visible,
804
+ .comins-column-filter__trigger[data-active="true"] {
805
+ background: color-mix(in srgb, var(--comins-table-header-color) 18%, transparent);
806
+ opacity: 1;
807
+ }
808
+
809
+ .comins-column-filter__popover {
810
+ background: var(--comins-table-component-surface);
811
+ border: 1px solid var(--comins-table-component-border);
812
+ border-radius: 6px;
813
+ box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
814
+ color: var(--comins-table-component-foreground);
815
+ display: grid;
816
+ font-size: 12px;
817
+ font-weight: 400;
818
+ gap: 10px;
819
+ min-width: 260px;
820
+ padding: 12px;
821
+ position: fixed;
822
+ text-align: left;
823
+ z-index: 9999;
824
+ }
825
+
826
+ .comins-column-filter__title {
827
+ font-size: 13px;
828
+ font-weight: 700;
829
+ }
830
+
831
+ .comins-column-filter__field {
832
+ color: var(--comins-table-component-muted);
833
+ display: grid;
834
+ gap: 4px;
835
+ }
836
+
837
+ .comins-column-filter__field > input,
838
+ .comins-column-filter__field > select {
839
+ background: var(--comins-table-component-surface);
840
+ border: 1px solid var(--comins-table-component-border);
841
+ border-radius: 4px;
842
+ color: var(--comins-table-component-foreground);
843
+ font: inherit;
844
+ min-height: 30px;
845
+ padding: 4px 8px;
846
+ width: 100%;
847
+ }
848
+
849
+ .comins-column-filter__field > input:focus-visible,
850
+ .comins-column-filter__field > select:focus-visible {
851
+ box-shadow: 0 0 0 3px var(--comins-table-component-focus);
852
+ outline: none;
853
+ }
854
+
855
+ .comins-column-filter__clear {
856
+ background: var(--comins-table-component-surface-muted);
857
+ border: 1px solid var(--comins-table-component-border);
858
+ border-radius: 4px;
859
+ color: var(--comins-table-component-button-foreground);
860
+ cursor: pointer;
861
+ font: inherit;
862
+ min-height: 30px;
863
+ padding: 4px 10px;
864
+ }
865
+
866
+ .comins-column-filter__clear:hover,
867
+ .comins-column-filter__clear:focus-visible {
868
+ background: var(--comins-table-component-accent-soft);
869
+ outline: none;
870
+ }
871
+
872
+ .comins-column-filter__clear:disabled {
873
+ cursor: not-allowed;
874
+ opacity: 0.55;
875
+ }
876
+
695
877
  .comins-table__header-components {
696
878
  align-items: center;
697
879
  display: inline-flex;
@@ -932,6 +1114,11 @@
932
1114
  text-align: center;
933
1115
  }
934
1116
 
1117
+ .comins-row-move-placeholder[data-comins-row-drop-valid="false"] td {
1118
+ background: var(--comins-table-drop-invalid-background);
1119
+ color: var(--comins-table-drop-invalid);
1120
+ }
1121
+
935
1122
  .comins-table-empty-filler td {
936
1123
  border-bottom: 0;
937
1124
  border-right: 1px solid var(--comins-table-cell-border);