analytica-frontend-lib 1.0.10 → 1.0.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/index.css +136 -0
- package/dist/index.d.mts +15 -2
- package/dist/index.d.ts +15 -2
- package/dist/index.js +114 -0
- package/dist/index.mjs +106 -0
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -48,6 +48,8 @@
|
|
|
48
48
|
--font-weight-extrabold: 800;
|
|
49
49
|
--font-weight-black: 900;
|
|
50
50
|
--radius-xl: 0.75rem;
|
|
51
|
+
--default-transition-duration: 150ms;
|
|
52
|
+
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
51
53
|
--default-font-family: var(--font-sans);
|
|
52
54
|
--default-mono-font-family: var(--font-mono);
|
|
53
55
|
--color-primary-400: #525252;
|
|
@@ -59,6 +61,7 @@
|
|
|
59
61
|
--color-text: #fefeff;
|
|
60
62
|
--color-text-600: #737373;
|
|
61
63
|
--color-text-700: #525252;
|
|
64
|
+
--color-text-800: #404040;
|
|
62
65
|
--color-text-900: #262627;
|
|
63
66
|
--color-text-950: #171717;
|
|
64
67
|
--color-background: #ffffff;
|
|
@@ -66,6 +69,8 @@
|
|
|
66
69
|
--color-background-100: #f2f1f1;
|
|
67
70
|
--color-background-200: #dcdbdb;
|
|
68
71
|
--color-border-50: #f3f3f3;
|
|
72
|
+
--color-border-100: #e6e6e6;
|
|
73
|
+
--color-border-200: #dddcdb;
|
|
69
74
|
--color-success-300: #66b584;
|
|
70
75
|
--color-success-400: #489766;
|
|
71
76
|
--color-success-500: #348352;
|
|
@@ -76,7 +81,9 @@
|
|
|
76
81
|
--color-error-500: #e63535;
|
|
77
82
|
--color-error-600: #dc2626;
|
|
78
83
|
--color-error-700: #b91c1c;
|
|
84
|
+
--color-indicator-primary: #373737;
|
|
79
85
|
--color-indicator-info: #5399ec;
|
|
86
|
+
--color-indicator-error: #b91c1c;
|
|
80
87
|
--font-weight-hairline: 100;
|
|
81
88
|
--text-2xs: 0.625rem;
|
|
82
89
|
--text-2xs--line-height: calc(1 / 0.625);
|
|
@@ -284,6 +291,20 @@
|
|
|
284
291
|
}
|
|
285
292
|
}
|
|
286
293
|
@layer utilities {
|
|
294
|
+
.sr-only {
|
|
295
|
+
position: absolute;
|
|
296
|
+
width: 1px;
|
|
297
|
+
height: 1px;
|
|
298
|
+
padding: 0;
|
|
299
|
+
margin: -1px;
|
|
300
|
+
overflow: hidden;
|
|
301
|
+
clip: rect(0, 0, 0, 0);
|
|
302
|
+
white-space: nowrap;
|
|
303
|
+
border-width: 0;
|
|
304
|
+
}
|
|
305
|
+
.relative {
|
|
306
|
+
position: relative;
|
|
307
|
+
}
|
|
287
308
|
.mx-2 {
|
|
288
309
|
margin-inline: calc(var(--spacing) * 2);
|
|
289
310
|
}
|
|
@@ -323,6 +344,9 @@
|
|
|
323
344
|
.h-8 {
|
|
324
345
|
height: calc(var(--spacing) * 8);
|
|
325
346
|
}
|
|
347
|
+
.h-10 {
|
|
348
|
+
height: calc(var(--spacing) * 10);
|
|
349
|
+
}
|
|
326
350
|
.w-5 {
|
|
327
351
|
width: calc(var(--spacing) * 5);
|
|
328
352
|
}
|
|
@@ -332,9 +356,18 @@
|
|
|
332
356
|
.w-8 {
|
|
333
357
|
width: calc(var(--spacing) * 8);
|
|
334
358
|
}
|
|
359
|
+
.w-full {
|
|
360
|
+
width: 100%;
|
|
361
|
+
}
|
|
362
|
+
.caption-bottom {
|
|
363
|
+
caption-side: bottom;
|
|
364
|
+
}
|
|
335
365
|
.transform {
|
|
336
366
|
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
337
367
|
}
|
|
368
|
+
.cursor-not-allowed {
|
|
369
|
+
cursor: not-allowed;
|
|
370
|
+
}
|
|
338
371
|
.cursor-pointer {
|
|
339
372
|
cursor: pointer;
|
|
340
373
|
}
|
|
@@ -368,6 +401,9 @@
|
|
|
368
401
|
.gap-6 {
|
|
369
402
|
gap: calc(var(--spacing) * 6);
|
|
370
403
|
}
|
|
404
|
+
.overflow-hidden {
|
|
405
|
+
overflow: hidden;
|
|
406
|
+
}
|
|
371
407
|
.rounded-full {
|
|
372
408
|
border-radius: calc(infinity * 1px);
|
|
373
409
|
}
|
|
@@ -378,18 +414,42 @@
|
|
|
378
414
|
border-style: var(--tw-border-style);
|
|
379
415
|
border-width: 1px;
|
|
380
416
|
}
|
|
417
|
+
.border-t {
|
|
418
|
+
border-top-style: var(--tw-border-style);
|
|
419
|
+
border-top-width: 1px;
|
|
420
|
+
}
|
|
421
|
+
.border-b {
|
|
422
|
+
border-bottom-style: var(--tw-border-style);
|
|
423
|
+
border-bottom-width: 1px;
|
|
424
|
+
}
|
|
425
|
+
.border-b-2 {
|
|
426
|
+
border-bottom-style: var(--tw-border-style);
|
|
427
|
+
border-bottom-width: 2px;
|
|
428
|
+
}
|
|
381
429
|
.border-background-200 {
|
|
382
430
|
border-color: var(--color-background-200);
|
|
383
431
|
}
|
|
384
432
|
.border-border-50 {
|
|
385
433
|
border-color: var(--color-border-50);
|
|
386
434
|
}
|
|
435
|
+
.border-border-100 {
|
|
436
|
+
border-color: var(--color-border-100);
|
|
437
|
+
}
|
|
438
|
+
.border-border-200 {
|
|
439
|
+
border-color: var(--color-border-200);
|
|
440
|
+
}
|
|
387
441
|
.border-error-300 {
|
|
388
442
|
border-color: var(--color-error-300);
|
|
389
443
|
}
|
|
390
444
|
.border-error-500 {
|
|
391
445
|
border-color: var(--color-error-500);
|
|
392
446
|
}
|
|
447
|
+
.border-indicator-error {
|
|
448
|
+
border-color: var(--color-indicator-error);
|
|
449
|
+
}
|
|
450
|
+
.border-indicator-primary {
|
|
451
|
+
border-color: var(--color-indicator-primary);
|
|
452
|
+
}
|
|
393
453
|
.border-primary-950 {
|
|
394
454
|
border-color: var(--color-primary-950);
|
|
395
455
|
}
|
|
@@ -402,6 +462,9 @@
|
|
|
402
462
|
.bg-background {
|
|
403
463
|
background-color: var(--color-background);
|
|
404
464
|
}
|
|
465
|
+
.bg-background-50 {
|
|
466
|
+
background-color: var(--color-background-50);
|
|
467
|
+
}
|
|
405
468
|
.bg-error-500 {
|
|
406
469
|
background-color: var(--color-error-500);
|
|
407
470
|
}
|
|
@@ -414,6 +477,9 @@
|
|
|
414
477
|
.bg-transparent {
|
|
415
478
|
background-color: transparent;
|
|
416
479
|
}
|
|
480
|
+
.p-2 {
|
|
481
|
+
padding: calc(var(--spacing) * 2);
|
|
482
|
+
}
|
|
417
483
|
.p-4 {
|
|
418
484
|
padding: calc(var(--spacing) * 4);
|
|
419
485
|
}
|
|
@@ -447,6 +513,15 @@
|
|
|
447
513
|
.py-3\.5 {
|
|
448
514
|
padding-block: calc(var(--spacing) * 3.5);
|
|
449
515
|
}
|
|
516
|
+
.text-left {
|
|
517
|
+
text-align: left;
|
|
518
|
+
}
|
|
519
|
+
.text-right {
|
|
520
|
+
text-align: right;
|
|
521
|
+
}
|
|
522
|
+
.align-middle {
|
|
523
|
+
vertical-align: middle;
|
|
524
|
+
}
|
|
450
525
|
.text-2xl {
|
|
451
526
|
font-size: var(--text-2xl);
|
|
452
527
|
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
@@ -541,12 +616,21 @@
|
|
|
541
616
|
.text-text-700 {
|
|
542
617
|
color: var(--color-text-700);
|
|
543
618
|
}
|
|
619
|
+
.text-text-800 {
|
|
620
|
+
color: var(--color-text-800);
|
|
621
|
+
}
|
|
544
622
|
.text-text-900 {
|
|
545
623
|
color: var(--color-text-900);
|
|
546
624
|
}
|
|
547
625
|
.text-text-950 {
|
|
548
626
|
color: var(--color-text-950);
|
|
549
627
|
}
|
|
628
|
+
.capitalize {
|
|
629
|
+
text-transform: capitalize;
|
|
630
|
+
}
|
|
631
|
+
.opacity-50 {
|
|
632
|
+
opacity: 50%;
|
|
633
|
+
}
|
|
550
634
|
.shadow-none {
|
|
551
635
|
--tw-shadow: 0 0 #0000;
|
|
552
636
|
box-shadow:
|
|
@@ -585,6 +669,21 @@
|
|
|
585
669
|
outline-style: var(--tw-outline-style);
|
|
586
670
|
outline-width: 1px;
|
|
587
671
|
}
|
|
672
|
+
.transition-colors {
|
|
673
|
+
transition-property:
|
|
674
|
+
color,
|
|
675
|
+
background-color,
|
|
676
|
+
border-color,
|
|
677
|
+
outline-color,
|
|
678
|
+
text-decoration-color,
|
|
679
|
+
fill,
|
|
680
|
+
stroke,
|
|
681
|
+
--tw-gradient-from,
|
|
682
|
+
--tw-gradient-via,
|
|
683
|
+
--tw-gradient-to;
|
|
684
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
685
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
686
|
+
}
|
|
588
687
|
.hover\:border-error-400 {
|
|
589
688
|
&:hover {
|
|
590
689
|
@media (hover: hover) {
|
|
@@ -905,6 +1004,37 @@
|
|
|
905
1004
|
opacity: 50%;
|
|
906
1005
|
}
|
|
907
1006
|
}
|
|
1007
|
+
.\[\&_tr\:first-child\]\:border-0 {
|
|
1008
|
+
& tr:first-child {
|
|
1009
|
+
border-style: var(--tw-border-style);
|
|
1010
|
+
border-width: 0px;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
.\[\&_tr\:last-child\]\:border-0 {
|
|
1014
|
+
& tr:last-child {
|
|
1015
|
+
border-style: var(--tw-border-style);
|
|
1016
|
+
border-width: 0px;
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0 {
|
|
1020
|
+
&:has([role=checkbox]) {
|
|
1021
|
+
padding-right: calc(var(--spacing) * 0);
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] {
|
|
1025
|
+
& > [role=checkbox] {
|
|
1026
|
+
--tw-translate-y: 2px;
|
|
1027
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
.\[\&\>tr\]\:last\:border-b-0 {
|
|
1031
|
+
& > tr {
|
|
1032
|
+
&:last-child {
|
|
1033
|
+
border-bottom-style: var(--tw-border-style);
|
|
1034
|
+
border-bottom-width: 0px;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
908
1038
|
}
|
|
909
1039
|
@layer base {
|
|
910
1040
|
[data-theme=dark] {
|
|
@@ -1248,6 +1378,9 @@
|
|
|
1248
1378
|
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
|
|
1249
1379
|
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
|
|
1250
1380
|
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
|
|
1381
|
+
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
|
|
1382
|
+
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
|
|
1383
|
+
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
|
|
1251
1384
|
@layer properties {
|
|
1252
1385
|
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
1253
1386
|
*,
|
|
@@ -1276,6 +1409,9 @@
|
|
|
1276
1409
|
--tw-ring-offset-color: #fff;
|
|
1277
1410
|
--tw-ring-offset-shadow: 0 0 #0000;
|
|
1278
1411
|
--tw-outline-style: solid;
|
|
1412
|
+
--tw-translate-x: 0;
|
|
1413
|
+
--tw-translate-y: 0;
|
|
1414
|
+
--tw-translate-z: 0;
|
|
1279
1415
|
}
|
|
1280
1416
|
}
|
|
1281
1417
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef } from 'react';
|
|
3
|
+
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, HTMLAttributes, TdHTMLAttributes } from 'react';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Button component props interface
|
|
@@ -184,4 +184,17 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
184
184
|
*/
|
|
185
185
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
|
|
188
|
+
interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
189
|
+
state?: TableRowState;
|
|
190
|
+
}
|
|
191
|
+
declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
|
|
192
|
+
declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
193
|
+
declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
194
|
+
declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
195
|
+
declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
|
|
196
|
+
declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
197
|
+
declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
198
|
+
declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
|
|
199
|
+
|
|
200
|
+
export { Button, IconRoundedButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef } from 'react';
|
|
3
|
+
import { ReactNode, ButtonHTMLAttributes, ElementType, ComponentPropsWithoutRef, HTMLAttributes, TdHTMLAttributes } from 'react';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Button component props interface
|
|
@@ -184,4 +184,17 @@ type TextProps<T extends ElementType = 'p'> = BaseTextProps & {
|
|
|
184
184
|
*/
|
|
185
185
|
declare const Text: <T extends ElementType = "p">({ children, size, weight, color, as, className, ...props }: TextProps<T>) => react_jsx_runtime.JSX.Element;
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
type TableRowState = 'default' | 'selected' | 'invalid' | 'disabled';
|
|
188
|
+
interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
|
|
189
|
+
state?: TableRowState;
|
|
190
|
+
}
|
|
191
|
+
declare const Table: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableElement> & react.RefAttributes<HTMLTableElement>>;
|
|
192
|
+
declare const TableHeader: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
193
|
+
declare const TableBody: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
194
|
+
declare const TableFooter: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & react.RefAttributes<HTMLTableSectionElement>>;
|
|
195
|
+
declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
|
|
196
|
+
declare const TableHead: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
197
|
+
declare const TableCell: react.ForwardRefExoticComponent<TdHTMLAttributes<HTMLTableCellElement> & react.RefAttributes<HTMLTableCellElement>>;
|
|
198
|
+
declare const TableCaption: react.ForwardRefExoticComponent<HTMLAttributes<HTMLTableCaptionElement> & react.RefAttributes<HTMLTableCaptionElement>>;
|
|
199
|
+
|
|
200
|
+
export { Button, IconRoundedButton, SelectionButton, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Text };
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,14 @@ __export(index_exports, {
|
|
|
23
23
|
Button: () => Button,
|
|
24
24
|
IconRoundedButton: () => IconRoundedButton,
|
|
25
25
|
SelectionButton: () => SelectionButton,
|
|
26
|
+
Table: () => Table,
|
|
27
|
+
TableBody: () => TableBody,
|
|
28
|
+
TableCaption: () => TableCaption,
|
|
29
|
+
TableCell: () => TableCell,
|
|
30
|
+
TableFooter: () => TableFooter,
|
|
31
|
+
TableHead: () => TableHead,
|
|
32
|
+
TableHeader: () => TableHeader,
|
|
33
|
+
TableRow: () => TableRow,
|
|
26
34
|
Text: () => Text
|
|
27
35
|
});
|
|
28
36
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -234,10 +242,116 @@ var Text = ({
|
|
|
234
242
|
}
|
|
235
243
|
);
|
|
236
244
|
};
|
|
245
|
+
|
|
246
|
+
// src/components/Table/Table.tsx
|
|
247
|
+
var import_react2 = require("react");
|
|
248
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
249
|
+
var Table = (0, import_react2.forwardRef)(
|
|
250
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "border border-border-200 rounded-xl relative w-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
251
|
+
"table",
|
|
252
|
+
{
|
|
253
|
+
ref,
|
|
254
|
+
className: `w-full caption-bottom text-sm ${className ?? ""}`,
|
|
255
|
+
...props,
|
|
256
|
+
children: [
|
|
257
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("caption", { className: "sr-only", children: "My Table" }),
|
|
258
|
+
children
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
) })
|
|
262
|
+
);
|
|
263
|
+
Table.displayName = "Table";
|
|
264
|
+
var TableHeader = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
265
|
+
"thead",
|
|
266
|
+
{
|
|
267
|
+
ref,
|
|
268
|
+
className: `[&_tr:first-child]:border-0 ${className}`,
|
|
269
|
+
...props
|
|
270
|
+
}
|
|
271
|
+
));
|
|
272
|
+
TableHeader.displayName = "TableHeader";
|
|
273
|
+
var TableBody = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
274
|
+
"tbody",
|
|
275
|
+
{
|
|
276
|
+
ref,
|
|
277
|
+
className: `[&_tr:last-child]:border-0 border-t border-border-200 ${className}`,
|
|
278
|
+
...props
|
|
279
|
+
}
|
|
280
|
+
));
|
|
281
|
+
TableBody.displayName = "TableBody";
|
|
282
|
+
var TableFooter = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
283
|
+
"tfoot",
|
|
284
|
+
{
|
|
285
|
+
ref,
|
|
286
|
+
className: `border-t bg-background-50 border-border-200 font-medium [&>tr]:last:border-b-0 px-6 py-3.5 ${className}`,
|
|
287
|
+
...props
|
|
288
|
+
}
|
|
289
|
+
));
|
|
290
|
+
TableFooter.displayName = "TableFooter";
|
|
291
|
+
var VARIANT_STATES_ROW = {
|
|
292
|
+
default: "border-b border-border-200",
|
|
293
|
+
selected: "border-b-2 border-indicator-primary",
|
|
294
|
+
invalid: "border-b-2 border-indicator-error",
|
|
295
|
+
disabled: "border-b border-border-100 bg-background-50 opacity-50 cursor-not-allowed"
|
|
296
|
+
};
|
|
297
|
+
var TableRow = (0, import_react2.forwardRef)(
|
|
298
|
+
({ state = "default", className, ...props }, ref) => {
|
|
299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
300
|
+
"tr",
|
|
301
|
+
{
|
|
302
|
+
ref,
|
|
303
|
+
className: `
|
|
304
|
+
transition-colors
|
|
305
|
+
${state !== "disabled" ? "hover:bg-muted/50" : ""}
|
|
306
|
+
${VARIANT_STATES_ROW[state]}
|
|
307
|
+
${className}
|
|
308
|
+
`,
|
|
309
|
+
"aria-disabled": state === "disabled",
|
|
310
|
+
...props
|
|
311
|
+
}
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
);
|
|
315
|
+
TableRow.displayName = "TableRow";
|
|
316
|
+
var TableHead = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
317
|
+
"th",
|
|
318
|
+
{
|
|
319
|
+
ref,
|
|
320
|
+
className: `h-10 px-6 py-3.5 bg-bg-secondary bg-muted/50 text-left align-middle font-bold text-text-800 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] ${className}`,
|
|
321
|
+
...props
|
|
322
|
+
}
|
|
323
|
+
));
|
|
324
|
+
TableHead.displayName = "TableHead";
|
|
325
|
+
var TableCell = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
326
|
+
"td",
|
|
327
|
+
{
|
|
328
|
+
ref,
|
|
329
|
+
className: `p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-md text-text-800 px-6 py-3.5 ${className}`,
|
|
330
|
+
...props
|
|
331
|
+
}
|
|
332
|
+
));
|
|
333
|
+
TableCell.displayName = "TableCell";
|
|
334
|
+
var TableCaption = (0, import_react2.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
335
|
+
"caption",
|
|
336
|
+
{
|
|
337
|
+
ref,
|
|
338
|
+
className: `border-t border-border-200 text-sm text-text-800 px-6 py-3.5 ${className}`,
|
|
339
|
+
...props
|
|
340
|
+
}
|
|
341
|
+
));
|
|
342
|
+
TableCaption.displayName = "TableCaption";
|
|
237
343
|
// Annotate the CommonJS export names for ESM import in node:
|
|
238
344
|
0 && (module.exports = {
|
|
239
345
|
Button,
|
|
240
346
|
IconRoundedButton,
|
|
241
347
|
SelectionButton,
|
|
348
|
+
Table,
|
|
349
|
+
TableBody,
|
|
350
|
+
TableCaption,
|
|
351
|
+
TableCell,
|
|
352
|
+
TableFooter,
|
|
353
|
+
TableHead,
|
|
354
|
+
TableHeader,
|
|
355
|
+
TableRow,
|
|
242
356
|
Text
|
|
243
357
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -205,9 +205,115 @@ var Text = ({
|
|
|
205
205
|
}
|
|
206
206
|
);
|
|
207
207
|
};
|
|
208
|
+
|
|
209
|
+
// src/components/Table/Table.tsx
|
|
210
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
211
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
212
|
+
var Table = forwardRef2(
|
|
213
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ jsx5("div", { className: "border border-border-200 rounded-xl relative w-full overflow-hidden", children: /* @__PURE__ */ jsxs3(
|
|
214
|
+
"table",
|
|
215
|
+
{
|
|
216
|
+
ref,
|
|
217
|
+
className: `w-full caption-bottom text-sm ${className ?? ""}`,
|
|
218
|
+
...props,
|
|
219
|
+
children: [
|
|
220
|
+
/* @__PURE__ */ jsx5("caption", { className: "sr-only", children: "My Table" }),
|
|
221
|
+
children
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
) })
|
|
225
|
+
);
|
|
226
|
+
Table.displayName = "Table";
|
|
227
|
+
var TableHeader = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
228
|
+
"thead",
|
|
229
|
+
{
|
|
230
|
+
ref,
|
|
231
|
+
className: `[&_tr:first-child]:border-0 ${className}`,
|
|
232
|
+
...props
|
|
233
|
+
}
|
|
234
|
+
));
|
|
235
|
+
TableHeader.displayName = "TableHeader";
|
|
236
|
+
var TableBody = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
237
|
+
"tbody",
|
|
238
|
+
{
|
|
239
|
+
ref,
|
|
240
|
+
className: `[&_tr:last-child]:border-0 border-t border-border-200 ${className}`,
|
|
241
|
+
...props
|
|
242
|
+
}
|
|
243
|
+
));
|
|
244
|
+
TableBody.displayName = "TableBody";
|
|
245
|
+
var TableFooter = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
246
|
+
"tfoot",
|
|
247
|
+
{
|
|
248
|
+
ref,
|
|
249
|
+
className: `border-t bg-background-50 border-border-200 font-medium [&>tr]:last:border-b-0 px-6 py-3.5 ${className}`,
|
|
250
|
+
...props
|
|
251
|
+
}
|
|
252
|
+
));
|
|
253
|
+
TableFooter.displayName = "TableFooter";
|
|
254
|
+
var VARIANT_STATES_ROW = {
|
|
255
|
+
default: "border-b border-border-200",
|
|
256
|
+
selected: "border-b-2 border-indicator-primary",
|
|
257
|
+
invalid: "border-b-2 border-indicator-error",
|
|
258
|
+
disabled: "border-b border-border-100 bg-background-50 opacity-50 cursor-not-allowed"
|
|
259
|
+
};
|
|
260
|
+
var TableRow = forwardRef2(
|
|
261
|
+
({ state = "default", className, ...props }, ref) => {
|
|
262
|
+
return /* @__PURE__ */ jsx5(
|
|
263
|
+
"tr",
|
|
264
|
+
{
|
|
265
|
+
ref,
|
|
266
|
+
className: `
|
|
267
|
+
transition-colors
|
|
268
|
+
${state !== "disabled" ? "hover:bg-muted/50" : ""}
|
|
269
|
+
${VARIANT_STATES_ROW[state]}
|
|
270
|
+
${className}
|
|
271
|
+
`,
|
|
272
|
+
"aria-disabled": state === "disabled",
|
|
273
|
+
...props
|
|
274
|
+
}
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
);
|
|
278
|
+
TableRow.displayName = "TableRow";
|
|
279
|
+
var TableHead = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
280
|
+
"th",
|
|
281
|
+
{
|
|
282
|
+
ref,
|
|
283
|
+
className: `h-10 px-6 py-3.5 bg-bg-secondary bg-muted/50 text-left align-middle font-bold text-text-800 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] ${className}`,
|
|
284
|
+
...props
|
|
285
|
+
}
|
|
286
|
+
));
|
|
287
|
+
TableHead.displayName = "TableHead";
|
|
288
|
+
var TableCell = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
289
|
+
"td",
|
|
290
|
+
{
|
|
291
|
+
ref,
|
|
292
|
+
className: `p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-md text-text-800 px-6 py-3.5 ${className}`,
|
|
293
|
+
...props
|
|
294
|
+
}
|
|
295
|
+
));
|
|
296
|
+
TableCell.displayName = "TableCell";
|
|
297
|
+
var TableCaption = forwardRef2(({ className, ...props }, ref) => /* @__PURE__ */ jsx5(
|
|
298
|
+
"caption",
|
|
299
|
+
{
|
|
300
|
+
ref,
|
|
301
|
+
className: `border-t border-border-200 text-sm text-text-800 px-6 py-3.5 ${className}`,
|
|
302
|
+
...props
|
|
303
|
+
}
|
|
304
|
+
));
|
|
305
|
+
TableCaption.displayName = "TableCaption";
|
|
208
306
|
export {
|
|
209
307
|
Button,
|
|
210
308
|
IconRoundedButton,
|
|
211
309
|
SelectionButton,
|
|
310
|
+
Table,
|
|
311
|
+
TableBody,
|
|
312
|
+
TableCaption,
|
|
313
|
+
TableCell,
|
|
314
|
+
TableFooter,
|
|
315
|
+
TableHead,
|
|
316
|
+
TableHeader,
|
|
317
|
+
TableRow,
|
|
212
318
|
Text
|
|
213
319
|
};
|
package/package.json
CHANGED