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 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
- export { Button, IconRoundedButton, SelectionButton, Text };
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
- export { Button, IconRoundedButton, SelectionButton, Text };
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "analytica-frontend-lib",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "description": "Repositório público dos componentes utilizados nas plataformas da Analytica Ensino",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "./dist/index.js",