@stereopt/data-table 0.1.9 → 0.1.11

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/dist/styles.css CHANGED
@@ -1,8 +1,28 @@
1
1
  /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
2
2
  @layer properties;
3
+ .sr-only {
4
+ position: absolute;
5
+ width: 1px;
6
+ height: 1px;
7
+ padding: 0;
8
+ margin: -1px;
9
+ overflow: hidden;
10
+ clip-path: inset(50%);
11
+ white-space: nowrap;
12
+ border-width: 0;
13
+ }
3
14
  .relative {
4
15
  position: relative;
5
16
  }
17
+ .flex {
18
+ display: flex;
19
+ }
20
+ .hidden {
21
+ display: none;
22
+ }
23
+ .inline-flex {
24
+ display: inline-flex;
25
+ }
6
26
  .table {
7
27
  display: table;
8
28
  }
@@ -15,12 +35,30 @@
15
35
  .table-row {
16
36
  display: table-row;
17
37
  }
38
+ .w-\[100px\] {
39
+ width: 100px;
40
+ }
18
41
  .w-full {
19
42
  width: 100%;
20
43
  }
44
+ .flex-1 {
45
+ flex: 1;
46
+ }
47
+ .shrink-0 {
48
+ flex-shrink: 0;
49
+ }
21
50
  .caption-bottom {
22
51
  caption-side: bottom;
23
52
  }
53
+ .items-center {
54
+ align-items: center;
55
+ }
56
+ .justify-between {
57
+ justify-content: space-between;
58
+ }
59
+ .justify-center {
60
+ justify-content: center;
61
+ }
24
62
  .truncate {
25
63
  overflow: hidden;
26
64
  text-overflow: ellipsis;
@@ -32,6 +70,12 @@
32
70
  .overflow-x-auto {
33
71
  overflow-x: auto;
34
72
  }
73
+ .rounded-\[min\(var\(--radius-md\)\,10px\)\] {
74
+ border-radius: min(var(--radius-md), 10px);
75
+ }
76
+ .rounded-\[min\(var\(--radius-md\)\,12px\)\] {
77
+ border-radius: min(var(--radius-md), 12px);
78
+ }
35
79
  .border {
36
80
  border-style: var(--tw-border-style);
37
81
  border-width: 1px;
@@ -44,14 +88,14 @@
44
88
  border-bottom-style: var(--tw-border-style);
45
89
  border-bottom-width: 1px;
46
90
  }
47
- .bg-muted {
48
- background-color: var(--color-muted);
91
+ .border-transparent {
92
+ border-color: transparent;
49
93
  }
50
- .bg-muted\/50 {
51
- background-color: color-mix(in srgb, 0 0% 96.1% 50%, transparent);
52
- @supports (color: color-mix(in lab, red, red)) {
53
- background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
54
- }
94
+ .bg-transparent {
95
+ background-color: transparent;
96
+ }
97
+ .bg-clip-padding {
98
+ background-clip: padding-box;
55
99
  }
56
100
  .text-center {
57
101
  text-align: center;
@@ -62,41 +106,106 @@
62
106
  .align-middle {
63
107
  vertical-align: middle;
64
108
  }
109
+ .text-\[0\.8rem\] {
110
+ font-size: 0.8rem;
111
+ }
65
112
  .whitespace-nowrap {
66
113
  white-space: nowrap;
67
114
  }
68
- .text-foreground {
69
- color: var(--color-foreground);
115
+ .underline-offset-4 {
116
+ text-underline-offset: 4px;
70
117
  }
71
- .text-muted-foreground {
72
- color: var(--color-muted-foreground);
118
+ .outline {
119
+ outline-style: var(--tw-outline-style);
120
+ outline-width: 1px;
121
+ }
122
+ .filter {
123
+ filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
124
+ }
125
+ .transition-all {
126
+ transition-property: all;
127
+ transition-timing-function: var(--tw-ease, ease);
128
+ transition-duration: var(--tw-duration, 0s);
73
129
  }
74
130
  .transition-colors {
75
131
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
76
132
  transition-timing-function: var(--tw-ease, ease);
77
133
  transition-duration: var(--tw-duration, 0s);
78
134
  }
79
- .hover\:bg-muted\/50 {
135
+ .outline-none {
136
+ --tw-outline-style: none;
137
+ outline-style: none;
138
+ }
139
+ .select-none {
140
+ -webkit-user-select: none;
141
+ user-select: none;
142
+ }
143
+ .file\:inline-flex {
144
+ &::file-selector-button {
145
+ display: inline-flex;
146
+ }
147
+ }
148
+ .file\:border-0 {
149
+ &::file-selector-button {
150
+ border-style: var(--tw-border-style);
151
+ border-width: 0px;
152
+ }
153
+ }
154
+ .file\:bg-transparent {
155
+ &::file-selector-button {
156
+ background-color: transparent;
157
+ }
158
+ }
159
+ .hover\:underline {
80
160
  &:hover {
81
161
  @media (hover: hover) {
82
- background-color: color-mix(in srgb, 0 0% 96.1% 50%, transparent);
83
- @supports (color: color-mix(in lab, red, red)) {
84
- background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
85
- }
162
+ text-decoration-line: underline;
86
163
  }
87
164
  }
88
165
  }
89
- .has-aria-expanded\:bg-muted\/50 {
90
- &:has(*[aria-expanded="true"]) {
91
- background-color: color-mix(in srgb, 0 0% 96.1% 50%, transparent);
92
- @supports (color: color-mix(in lab, red, red)) {
93
- background-color: color-mix(in oklab, var(--color-muted) 50%, transparent);
166
+ .focus-visible\:ring-3 {
167
+ &:focus-visible {
168
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
169
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
170
+ }
171
+ }
172
+ .active\:not-aria-\[haspopup\]\:translate-y-px {
173
+ &:active {
174
+ &:not(*[aria-haspopup]) {
175
+ --tw-translate-y: 1px;
176
+ translate: var(--tw-translate-x) var(--tw-translate-y);
94
177
  }
95
178
  }
96
179
  }
97
- .data-\[state\=selected\]\:bg-muted {
98
- &[data-state="selected"] {
99
- background-color: var(--color-muted);
180
+ .disabled\:pointer-events-none {
181
+ &:disabled {
182
+ pointer-events: none;
183
+ }
184
+ }
185
+ .disabled\:cursor-not-allowed {
186
+ &:disabled {
187
+ cursor: not-allowed;
188
+ }
189
+ }
190
+ .disabled\:opacity-50 {
191
+ &:disabled {
192
+ opacity: 50%;
193
+ }
194
+ }
195
+ .aria-invalid\:ring-3 {
196
+ &[aria-invalid="true"] {
197
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
198
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
199
+ }
200
+ }
201
+ .\[\&_svg\]\:pointer-events-none {
202
+ & svg {
203
+ pointer-events: none;
204
+ }
205
+ }
206
+ .\[\&_svg\]\:shrink-0 {
207
+ & svg {
208
+ flex-shrink: 0;
100
209
  }
101
210
  }
102
211
  .\[\&_tr\]\:border-b {
@@ -119,43 +228,184 @@
119
228
  }
120
229
  }
121
230
  }
122
- :root, :host {
123
- --color-foreground: 0 0% 3.6%;
124
- --color-muted: 0 0% 96.1%;
125
- --color-muted-foreground: 0 0% 45.1%;
126
- }
127
- @media (prefers-color-scheme: dark) {
128
- :root {
129
- --color-background: 0 0% 3.6%;
130
- --color-foreground: 0 0% 98%;
131
- --color-card: 0 0% 3.6%;
132
- --color-card-foreground: 0 0% 98%;
133
- --color-popover: 0 0% 3.6%;
134
- --color-popover-foreground: 0 0% 98%;
135
- --color-muted: 0 0% 14.9%;
136
- --color-muted-foreground: 0 0% 63.9%;
137
- --color-accent: 0 0% 98%;
138
- --color-accent-foreground: 0 0% 9%;
139
- --color-destructive: 0 62.8% 30.6%;
140
- --color-destructive-foreground: 0 0% 98%;
141
- --color-border: 0 0% 14.9%;
142
- --color-input: 0 0% 14.9%;
143
- --color-primary: 0 0% 98%;
144
- --color-primary-foreground: 0 0% 9%;
145
- --color-secondary: 0 0% 14.9%;
146
- --color-secondary-foreground: 0 0% 98%;
147
- --color-ring: 0 0% 83.1%;
148
- }
149
- }
150
231
  @property --tw-border-style {
151
232
  syntax: "*";
152
233
  inherits: false;
153
234
  initial-value: solid;
154
235
  }
236
+ @property --tw-outline-style {
237
+ syntax: "*";
238
+ inherits: false;
239
+ initial-value: solid;
240
+ }
241
+ @property --tw-blur {
242
+ syntax: "*";
243
+ inherits: false;
244
+ }
245
+ @property --tw-brightness {
246
+ syntax: "*";
247
+ inherits: false;
248
+ }
249
+ @property --tw-contrast {
250
+ syntax: "*";
251
+ inherits: false;
252
+ }
253
+ @property --tw-grayscale {
254
+ syntax: "*";
255
+ inherits: false;
256
+ }
257
+ @property --tw-hue-rotate {
258
+ syntax: "*";
259
+ inherits: false;
260
+ }
261
+ @property --tw-invert {
262
+ syntax: "*";
263
+ inherits: false;
264
+ }
265
+ @property --tw-opacity {
266
+ syntax: "*";
267
+ inherits: false;
268
+ }
269
+ @property --tw-saturate {
270
+ syntax: "*";
271
+ inherits: false;
272
+ }
273
+ @property --tw-sepia {
274
+ syntax: "*";
275
+ inherits: false;
276
+ }
277
+ @property --tw-drop-shadow {
278
+ syntax: "*";
279
+ inherits: false;
280
+ }
281
+ @property --tw-drop-shadow-color {
282
+ syntax: "*";
283
+ inherits: false;
284
+ }
285
+ @property --tw-drop-shadow-alpha {
286
+ syntax: "<percentage>";
287
+ inherits: false;
288
+ initial-value: 100%;
289
+ }
290
+ @property --tw-drop-shadow-size {
291
+ syntax: "*";
292
+ inherits: false;
293
+ }
294
+ @property --tw-shadow {
295
+ syntax: "*";
296
+ inherits: false;
297
+ initial-value: 0 0 #0000;
298
+ }
299
+ @property --tw-shadow-color {
300
+ syntax: "*";
301
+ inherits: false;
302
+ }
303
+ @property --tw-shadow-alpha {
304
+ syntax: "<percentage>";
305
+ inherits: false;
306
+ initial-value: 100%;
307
+ }
308
+ @property --tw-inset-shadow {
309
+ syntax: "*";
310
+ inherits: false;
311
+ initial-value: 0 0 #0000;
312
+ }
313
+ @property --tw-inset-shadow-color {
314
+ syntax: "*";
315
+ inherits: false;
316
+ }
317
+ @property --tw-inset-shadow-alpha {
318
+ syntax: "<percentage>";
319
+ inherits: false;
320
+ initial-value: 100%;
321
+ }
322
+ @property --tw-ring-color {
323
+ syntax: "*";
324
+ inherits: false;
325
+ }
326
+ @property --tw-ring-shadow {
327
+ syntax: "*";
328
+ inherits: false;
329
+ initial-value: 0 0 #0000;
330
+ }
331
+ @property --tw-inset-ring-color {
332
+ syntax: "*";
333
+ inherits: false;
334
+ }
335
+ @property --tw-inset-ring-shadow {
336
+ syntax: "*";
337
+ inherits: false;
338
+ initial-value: 0 0 #0000;
339
+ }
340
+ @property --tw-ring-inset {
341
+ syntax: "*";
342
+ inherits: false;
343
+ }
344
+ @property --tw-ring-offset-width {
345
+ syntax: "<length>";
346
+ inherits: false;
347
+ initial-value: 0px;
348
+ }
349
+ @property --tw-ring-offset-color {
350
+ syntax: "*";
351
+ inherits: false;
352
+ initial-value: #fff;
353
+ }
354
+ @property --tw-ring-offset-shadow {
355
+ syntax: "*";
356
+ inherits: false;
357
+ initial-value: 0 0 #0000;
358
+ }
359
+ @property --tw-translate-x {
360
+ syntax: "*";
361
+ inherits: false;
362
+ initial-value: 0;
363
+ }
364
+ @property --tw-translate-y {
365
+ syntax: "*";
366
+ inherits: false;
367
+ initial-value: 0;
368
+ }
369
+ @property --tw-translate-z {
370
+ syntax: "*";
371
+ inherits: false;
372
+ initial-value: 0;
373
+ }
155
374
  @layer properties {
156
375
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
157
376
  *, ::before, ::after, ::backdrop {
158
377
  --tw-border-style: solid;
378
+ --tw-outline-style: solid;
379
+ --tw-blur: initial;
380
+ --tw-brightness: initial;
381
+ --tw-contrast: initial;
382
+ --tw-grayscale: initial;
383
+ --tw-hue-rotate: initial;
384
+ --tw-invert: initial;
385
+ --tw-opacity: initial;
386
+ --tw-saturate: initial;
387
+ --tw-sepia: initial;
388
+ --tw-drop-shadow: initial;
389
+ --tw-drop-shadow-color: initial;
390
+ --tw-drop-shadow-alpha: 100%;
391
+ --tw-drop-shadow-size: initial;
392
+ --tw-shadow: 0 0 #0000;
393
+ --tw-shadow-color: initial;
394
+ --tw-shadow-alpha: 100%;
395
+ --tw-inset-shadow: 0 0 #0000;
396
+ --tw-inset-shadow-color: initial;
397
+ --tw-inset-shadow-alpha: 100%;
398
+ --tw-ring-color: initial;
399
+ --tw-ring-shadow: 0 0 #0000;
400
+ --tw-inset-ring-color: initial;
401
+ --tw-inset-ring-shadow: 0 0 #0000;
402
+ --tw-ring-inset: initial;
403
+ --tw-ring-offset-width: 0px;
404
+ --tw-ring-offset-color: #fff;
405
+ --tw-ring-offset-shadow: 0 0 #0000;
406
+ --tw-translate-x: 0;
407
+ --tw-translate-y: 0;
408
+ --tw-translate-z: 0;
159
409
  }
160
410
  }
161
411
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stereopt/data-table",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Simple reusable React data table component",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "sideEffects": false,
25
25
  "scripts": {
26
- "build": "tsup src/index.ts --format esm,cjs --dts --external react,react-dom && postcss src/styles/globals.css -o dist/styles.css --minify",
26
+ "build": "tsup",
27
27
  "clean": "rm -rf dist",
28
- "dev": "tsup src/index.ts --format esm,cjs --dts --watch --external react,react-dom",
28
+ "dev": "tsup --watch",
29
29
  "format": "biome format ./src",
30
30
  "format:fix": "biome format ./src --write",
31
31
  "lint": "biome lint ./src && next lint",
@@ -57,12 +57,15 @@
57
57
  "@types/react": "^19.2.14",
58
58
  "@types/react-dom": "^19.2.3",
59
59
  "postcss-cli": "^11.0.1",
60
+ "lucide-react": "^0.574.0",
61
+ "radix-ui": "^1.4.3",
60
62
  "tailwindcss": "^4.2.2",
61
63
  "tsup": "^8.5.1",
62
64
  "typescript": "^5.9.3"
63
65
  },
64
66
  "dependencies": {
65
67
  "@tailwindcss/postcss": "^4.2.2",
68
+ "@tanstack/match-sorter-utils": "^8.19.4",
66
69
  "@tanstack/react-table": "^8.21.3",
67
70
  "class-variance-authority": "^0.7.1",
68
71
  "clsx": "^2.1.1",