components-test-pb 0.1.0 → 0.1.3

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.
Files changed (97) hide show
  1. package/dist/Components/Table/Table.d.ts +3 -0
  2. package/dist/Components/Table/Table.js +8 -0
  3. package/dist/Components/Table/Table.types.d.ts +9 -0
  4. package/dist/Components/Table/Table.types.js +1 -0
  5. package/dist/Components/Table/TableBody.d.ts +3 -0
  6. package/dist/Components/Table/TableBody.js +8 -0
  7. package/dist/Components/Table/TableBody.types.d.ts +6 -0
  8. package/dist/Components/Table/TableBody.types.js +1 -0
  9. package/dist/Components/Table/TableCell.d.ts +3 -0
  10. package/dist/Components/Table/TableCell.js +8 -0
  11. package/dist/Components/Table/TableCell.types.d.ts +6 -0
  12. package/dist/Components/Table/TableCell.types.js +1 -0
  13. package/dist/Components/Table/TableHeader.d.ts +3 -0
  14. package/dist/Components/Table/TableHeader.js +8 -0
  15. package/dist/Components/Table/TableHeader.types.d.ts +6 -0
  16. package/dist/Components/Table/TableHeader.types.js +1 -0
  17. package/dist/Components/Table/TableHeaderCell.d.ts +3 -0
  18. package/dist/Components/Table/TableHeaderCell.js +8 -0
  19. package/dist/Components/Table/TableHeaderCell.types.d.ts +10 -0
  20. package/dist/Components/Table/TableHeaderCell.types.js +1 -0
  21. package/dist/Components/Table/TableRow.d.ts +3 -0
  22. package/dist/Components/Table/TableRow.js +8 -0
  23. package/dist/Components/Table/TableRow.types.d.ts +8 -0
  24. package/dist/Components/Table/TableRow.types.js +1 -0
  25. package/dist/Components/Table/index.d.ts +30 -0
  26. package/dist/Components/Table/index.js +24 -0
  27. package/dist/Components/Table/renderTable.d.ts +3 -0
  28. package/dist/Components/Table/renderTable.js +6 -0
  29. package/dist/Components/Table/renderTableBody.d.ts +3 -0
  30. package/dist/Components/Table/renderTableBody.js +6 -0
  31. package/dist/Components/Table/renderTableCell.d.ts +3 -0
  32. package/dist/Components/Table/renderTableCell.js +6 -0
  33. package/dist/Components/Table/renderTableHeader.d.ts +3 -0
  34. package/dist/Components/Table/renderTableHeader.js +6 -0
  35. package/dist/Components/Table/renderTableHeaderCell.d.ts +3 -0
  36. package/dist/Components/Table/renderTableHeaderCell.js +6 -0
  37. package/dist/Components/Table/renderTableRow.d.ts +3 -0
  38. package/dist/Components/Table/renderTableRow.js +6 -0
  39. package/dist/Components/Table/useTable.d.ts +2 -0
  40. package/dist/Components/Table/useTable.js +9 -0
  41. package/dist/Components/Table/useTableBody.d.ts +2 -0
  42. package/dist/Components/Table/useTableBody.js +6 -0
  43. package/dist/Components/Table/useTableBodyStyles.styles.d.ts +4 -0
  44. package/dist/Components/Table/useTableBodyStyles.styles.js +12 -0
  45. package/dist/Components/Table/useTableCell.d.ts +2 -0
  46. package/dist/Components/Table/useTableCell.js +6 -0
  47. package/dist/Components/Table/useTableCellStyles.styles.d.ts +4 -0
  48. package/dist/Components/Table/useTableCellStyles.styles.js +17 -0
  49. package/dist/Components/Table/useTableHeader.d.ts +2 -0
  50. package/dist/Components/Table/useTableHeader.js +6 -0
  51. package/dist/Components/Table/useTableHeaderCell.d.ts +2 -0
  52. package/dist/Components/Table/useTableHeaderCell.js +12 -0
  53. package/dist/Components/Table/useTableHeaderCellStyles.styles.d.ts +4 -0
  54. package/dist/Components/Table/useTableHeaderCellStyles.styles.js +27 -0
  55. package/dist/Components/Table/useTableHeaderStyles.styles.d.ts +4 -0
  56. package/dist/Components/Table/useTableHeaderStyles.styles.js +12 -0
  57. package/dist/Components/Table/useTableRow.d.ts +2 -0
  58. package/dist/Components/Table/useTableRow.js +8 -0
  59. package/dist/Components/Table/useTableRowStyles.styles.d.ts +4 -0
  60. package/dist/Components/Table/useTableRowStyles.styles.js +31 -0
  61. package/dist/Components/Table/useTableStyles.styles.d.ts +4 -0
  62. package/dist/Components/Table/useTableStyles.styles.js +22 -0
  63. package/dist/index.d.ts +2 -0
  64. package/dist/index.js +1 -0
  65. package/package.json +1 -1
  66. package/src/Components/Table/Table.tsx +13 -0
  67. package/src/Components/Table/Table.types.ts +13 -0
  68. package/src/Components/Table/TableBody.tsx +13 -0
  69. package/src/Components/Table/TableBody.types.ts +9 -0
  70. package/src/Components/Table/TableCell.tsx +13 -0
  71. package/src/Components/Table/TableCell.types.ts +9 -0
  72. package/src/Components/Table/TableHeader.tsx +13 -0
  73. package/src/Components/Table/TableHeader.types.ts +9 -0
  74. package/src/Components/Table/TableHeaderCell.tsx +13 -0
  75. package/src/Components/Table/TableHeaderCell.types.ts +13 -0
  76. package/src/Components/Table/TableRow.tsx +13 -0
  77. package/src/Components/Table/TableRow.types.ts +12 -0
  78. package/src/Components/Table/index.ts +35 -0
  79. package/src/Components/Table/renderTable.tsx +9 -0
  80. package/src/Components/Table/renderTableBody.tsx +9 -0
  81. package/src/Components/Table/renderTableCell.tsx +9 -0
  82. package/src/Components/Table/renderTableHeader.tsx +9 -0
  83. package/src/Components/Table/renderTableHeaderCell.tsx +9 -0
  84. package/src/Components/Table/renderTableRow.tsx +9 -0
  85. package/src/Components/Table/useTable.ts +14 -0
  86. package/src/Components/Table/useTableBody.ts +9 -0
  87. package/src/Components/Table/useTableBodyStyles.styles.ts +23 -0
  88. package/src/Components/Table/useTableCell.ts +9 -0
  89. package/src/Components/Table/useTableCellStyles.styles.ts +28 -0
  90. package/src/Components/Table/useTableHeader.ts +9 -0
  91. package/src/Components/Table/useTableHeaderCell.ts +19 -0
  92. package/src/Components/Table/useTableHeaderCellStyles.styles.ts +40 -0
  93. package/src/Components/Table/useTableHeaderStyles.styles.ts +23 -0
  94. package/src/Components/Table/useTableRow.ts +13 -0
  95. package/src/Components/Table/useTableRowStyles.styles.ts +45 -0
  96. package/src/Components/Table/useTableStyles.styles.ts +35 -0
  97. package/src/index.ts +48 -0
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableBodyProps } from './TableBody.types.js';
3
+ import { useTableBody } from './useTableBody.js';
4
+ import { renderTableBody } from './renderTableBody.js';
5
+ import { useTableBodyStyles } from './useTableBodyStyles.styles.js';
6
+
7
+ export const TableBody: FC<TableBodyProps> = (props) => {
8
+ const state = useTableBody(props);
9
+
10
+ useTableBodyStyles(state);
11
+
12
+ return renderTableBody(state);
13
+ };
@@ -0,0 +1,9 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableBodySlots = {
4
+ root: NonNullable<Slot<'tbody'>>;
5
+ };
6
+
7
+ export type TableBodyProps = ComponentProps<TableBodySlots>;
8
+
9
+ export type TableBodyState = ComponentState<TableBodySlots>;
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableCellProps } from './TableCell.types.js';
3
+ import { useTableCell } from './useTableCell.js';
4
+ import { renderTableCell } from './renderTableCell.js';
5
+ import { useTableCellStyles } from './useTableCellStyles.styles.js';
6
+
7
+ export const TableCell: FC<TableCellProps> = (props) => {
8
+ const state = useTableCell(props);
9
+
10
+ useTableCellStyles(state);
11
+
12
+ return renderTableCell(state);
13
+ };
@@ -0,0 +1,9 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableCellSlots = {
4
+ root: NonNullable<Slot<'td'>>;
5
+ };
6
+
7
+ export type TableCellProps = ComponentProps<TableCellSlots>;
8
+
9
+ export type TableCellState = ComponentState<TableCellSlots>;
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableHeaderProps } from './TableHeader.types.js';
3
+ import { useTableHeader } from './useTableHeader.js';
4
+ import { renderTableHeader } from './renderTableHeader.js';
5
+ import { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
6
+
7
+ export const TableHeader: FC<TableHeaderProps> = (props) => {
8
+ const state = useTableHeader(props);
9
+
10
+ useTableHeaderStyles(state);
11
+
12
+ return renderTableHeader(state);
13
+ };
@@ -0,0 +1,9 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableHeaderSlots = {
4
+ root: NonNullable<Slot<'thead'>>;
5
+ };
6
+
7
+ export type TableHeaderProps = ComponentProps<TableHeaderSlots>;
8
+
9
+ export type TableHeaderState = ComponentState<TableHeaderSlots>;
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableHeaderCellProps } from './TableHeaderCell.types.js';
3
+ import { useTableHeaderCell } from './useTableHeaderCell.js';
4
+ import { renderTableHeaderCell } from './renderTableHeaderCell.js';
5
+ import { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
6
+
7
+ export const TableHeaderCell: FC<TableHeaderCellProps> = (props) => {
8
+ const state = useTableHeaderCell(props);
9
+
10
+ useTableHeaderCellStyles(state);
11
+
12
+ return renderTableHeaderCell(state);
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableHeaderCellSlots = {
4
+ root: NonNullable<Slot<'th'>>;
5
+ };
6
+
7
+ export type TableHeaderCellProps = ComponentProps<TableHeaderCellSlots> & {
8
+ sortDirection?: 'ascending' | 'descending';
9
+ };
10
+
11
+ export type TableHeaderCellState = ComponentState<TableHeaderCellSlots> & {
12
+ sortDirection?: 'ascending' | 'descending';
13
+ };
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableRowProps } from './TableRow.types.js';
3
+ import { useTableRow } from './useTableRow.js';
4
+ import { renderTableRow } from './renderTableRow.js';
5
+ import { useTableRowStyles } from './useTableRowStyles.styles.js';
6
+
7
+ export const TableRow: FC<TableRowProps> = (props) => {
8
+ const state = useTableRow(props);
9
+
10
+ useTableRowStyles(state);
11
+
12
+ return renderTableRow(state);
13
+ };
@@ -0,0 +1,12 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableRowSlots = {
4
+ root: NonNullable<Slot<'tr'>>;
5
+ };
6
+
7
+ export type TableRowProps = ComponentProps<TableRowSlots> & {
8
+ appearance?: 'none' | 'brand';
9
+ };
10
+
11
+ export type TableRowState = ComponentState<TableRowSlots> &
12
+ Required<Pick<TableRowProps, 'appearance'>>;
@@ -0,0 +1,35 @@
1
+ export type { TableSlots, TableProps, TableState } from './Table.types.js';
2
+ export { Table } from './Table.js';
3
+ export { useTable } from './useTable.js';
4
+ export { renderTable } from './renderTable.js';
5
+ export { useTableStyles } from './useTableStyles.styles.js';
6
+
7
+ export type { TableHeaderSlots, TableHeaderProps, TableHeaderState } from './TableHeader.types.js';
8
+ export { TableHeader } from './TableHeader.js';
9
+ export { useTableHeader } from './useTableHeader.js';
10
+ export { renderTableHeader } from './renderTableHeader.js';
11
+ export { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
12
+
13
+ export type { TableBodySlots, TableBodyProps, TableBodyState } from './TableBody.types.js';
14
+ export { TableBody } from './TableBody.js';
15
+ export { useTableBody } from './useTableBody.js';
16
+ export { renderTableBody } from './renderTableBody.js';
17
+ export { useTableBodyStyles } from './useTableBodyStyles.styles.js';
18
+
19
+ export type { TableRowSlots, TableRowProps, TableRowState } from './TableRow.types.js';
20
+ export { TableRow } from './TableRow.js';
21
+ export { useTableRow } from './useTableRow.js';
22
+ export { renderTableRow } from './renderTableRow.js';
23
+ export { useTableRowStyles } from './useTableRowStyles.styles.js';
24
+
25
+ export type { TableHeaderCellSlots, TableHeaderCellProps, TableHeaderCellState } from './TableHeaderCell.types.js';
26
+ export { TableHeaderCell } from './TableHeaderCell.js';
27
+ export { useTableHeaderCell } from './useTableHeaderCell.js';
28
+ export { renderTableHeaderCell } from './renderTableHeaderCell.js';
29
+ export { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
30
+
31
+ export type { TableCellSlots, TableCellProps, TableCellState } from './TableCell.types.js';
32
+ export { TableCell } from './TableCell.js';
33
+ export { useTableCell } from './useTableCell.js';
34
+ export { renderTableCell } from './renderTableCell.js';
35
+ export { useTableCellStyles } from './useTableCellStyles.styles.js';
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableState } from './Table.types.js';
3
+
4
+ export const renderTable = (state: TableState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableBodyState } from './TableBody.types.js';
3
+
4
+ export const renderTableBody = (state: TableBodyState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableCellState } from './TableCell.types.js';
3
+
4
+ export const renderTableCell = (state: TableCellState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableHeaderState } from './TableHeader.types.js';
3
+
4
+ export const renderTableHeader = (state: TableHeaderState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableHeaderCellState } from './TableHeaderCell.types.js';
3
+
4
+ export const renderTableHeaderCell = (state: TableHeaderCellState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,9 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableRowState } from './TableRow.types.js';
3
+
4
+ export const renderTableRow = (state: TableRowState): Element => {
5
+ const Root = state.components.root;
6
+ const { as: _as, ...rootProps } = state.root;
7
+
8
+ return <Root {...rootProps} />;
9
+ };
@@ -0,0 +1,14 @@
1
+ import type { TableProps, TableState } from './Table.types.js';
2
+
3
+ export const useTable = (props: TableProps): TableState => {
4
+ const { size, sortable, ...rest } = props;
5
+
6
+ return {
7
+ size: size ?? 'medium',
8
+ sortable: sortable ?? false,
9
+
10
+ components: { root: 'table' },
11
+
12
+ root: { ...rest } as TableState['root'],
13
+ };
14
+ };
@@ -0,0 +1,9 @@
1
+ import type { TableBodyProps, TableBodyState } from './TableBody.types.js';
2
+
3
+ export const useTableBody = (props: TableBodyProps): TableBodyState => {
4
+ return {
5
+ components: { root: 'tbody' },
6
+
7
+ root: { ...props } as TableBodyState['root'],
8
+ };
9
+ };
@@ -0,0 +1,23 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableBodySlots, TableBodyState } from './TableBody.types.js';
4
+
5
+ export const tableBodyClassNames: SlotClassNames<TableBodySlots> = {
6
+ root: 'TableBody'
7
+ };
8
+
9
+ const useRootBaseClassName = makeResetStyles({
10
+ display: 'table-row-group',
11
+ });
12
+
13
+ export const useTableBodyStyles = (state: TableBodyState): TableBodyState => {
14
+ const rootBaseClassName = useRootBaseClassName();
15
+
16
+ state.root.className = mergeClasses(
17
+ tableBodyClassNames.root,
18
+ rootBaseClassName,
19
+ state.root.className,
20
+ );
21
+
22
+ return state;
23
+ };
@@ -0,0 +1,9 @@
1
+ import type { TableCellProps, TableCellState } from './TableCell.types.js';
2
+
3
+ export const useTableCell = (props: TableCellProps): TableCellState => {
4
+ return {
5
+ components: { root: 'td' },
6
+
7
+ root: { ...props } as TableCellState['root'],
8
+ };
9
+ };
@@ -0,0 +1,28 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableCellSlots, TableCellState } from './TableCell.types.js';
4
+ import { Tokens } from '../../Theme/tokens.js';
5
+
6
+ export const tableCellClassNames: SlotClassNames<TableCellSlots> = {
7
+ root: 'TableCell'
8
+ };
9
+
10
+ const useRootBaseClassName = makeResetStyles({
11
+ textAlign: 'left',
12
+ paddingTop: Tokens.spacingS,
13
+ paddingBottom: Tokens.spacingS,
14
+ paddingLeft: Tokens.spacingM,
15
+ paddingRight: Tokens.spacingM,
16
+ });
17
+
18
+ export const useTableCellStyles = (state: TableCellState): TableCellState => {
19
+ const rootBaseClassName = useRootBaseClassName();
20
+
21
+ state.root.className = mergeClasses(
22
+ tableCellClassNames.root,
23
+ rootBaseClassName,
24
+ state.root.className,
25
+ );
26
+
27
+ return state;
28
+ };
@@ -0,0 +1,9 @@
1
+ import type { TableHeaderProps, TableHeaderState } from './TableHeader.types.js';
2
+
3
+ export const useTableHeader = (props: TableHeaderProps): TableHeaderState => {
4
+ return {
5
+ components: { root: 'thead' },
6
+
7
+ root: { ...props } as TableHeaderState['root'],
8
+ };
9
+ };
@@ -0,0 +1,19 @@
1
+ import type { TableHeaderCellProps, TableHeaderCellState } from './TableHeaderCell.types.js';
2
+
3
+ export const useTableHeaderCell = (props: TableHeaderCellProps): TableHeaderCellState => {
4
+ const { sortDirection, ...rest } = props;
5
+
6
+ const root = { ...rest } as TableHeaderCellState['root'];
7
+
8
+ if (sortDirection) {
9
+ root['aria-sort'] = sortDirection;
10
+ }
11
+
12
+ return {
13
+ sortDirection,
14
+
15
+ components: { root: 'th' },
16
+
17
+ root,
18
+ };
19
+ };
@@ -0,0 +1,40 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableHeaderCellSlots, TableHeaderCellState } from './TableHeaderCell.types.js';
4
+ import { Tokens } from '../../Theme/tokens.js';
5
+
6
+ export const tableHeaderCellClassNames: SlotClassNames<TableHeaderCellSlots> = {
7
+ root: 'TableHeaderCell'
8
+ };
9
+
10
+ const useRootBaseClassName = makeResetStyles({
11
+ fontWeight: Tokens.fontWeightSemibold,
12
+ textAlign: 'left',
13
+ paddingTop: Tokens.spacingS,
14
+ paddingBottom: Tokens.spacingS,
15
+ paddingLeft: Tokens.spacingM,
16
+ paddingRight: Tokens.spacingM,
17
+ });
18
+
19
+ const useRootStyles = makeStyles({
20
+ ascending: {
21
+ cursor: 'pointer',
22
+ },
23
+ descending: {
24
+ cursor: 'pointer',
25
+ },
26
+ });
27
+
28
+ export const useTableHeaderCellStyles = (state: TableHeaderCellState): TableHeaderCellState => {
29
+ const rootBaseClassName = useRootBaseClassName();
30
+ const rootStyles = useRootStyles();
31
+
32
+ state.root.className = mergeClasses(
33
+ tableHeaderCellClassNames.root,
34
+ rootBaseClassName,
35
+ state.sortDirection && rootStyles[state.sortDirection],
36
+ state.root.className,
37
+ );
38
+
39
+ return state;
40
+ };
@@ -0,0 +1,23 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableHeaderSlots, TableHeaderState } from './TableHeader.types.js';
4
+
5
+ export const tableHeaderClassNames: SlotClassNames<TableHeaderSlots> = {
6
+ root: 'TableHeader'
7
+ };
8
+
9
+ const useRootBaseClassName = makeResetStyles({
10
+ display: 'table-header-group',
11
+ });
12
+
13
+ export const useTableHeaderStyles = (state: TableHeaderState): TableHeaderState => {
14
+ const rootBaseClassName = useRootBaseClassName();
15
+
16
+ state.root.className = mergeClasses(
17
+ tableHeaderClassNames.root,
18
+ rootBaseClassName,
19
+ state.root.className,
20
+ );
21
+
22
+ return state;
23
+ };
@@ -0,0 +1,13 @@
1
+ import type { TableRowProps, TableRowState } from './TableRow.types.js';
2
+
3
+ export const useTableRow = (props: TableRowProps): TableRowState => {
4
+ const { appearance, ...rest } = props;
5
+
6
+ return {
7
+ appearance: appearance ?? 'none',
8
+
9
+ components: { root: 'tr' },
10
+
11
+ root: { ...rest } as TableRowState['root'],
12
+ };
13
+ };
@@ -0,0 +1,45 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableRowSlots, TableRowState } from './TableRow.types.js';
4
+ import { Tokens } from '../../Theme/tokens.js';
5
+
6
+ export const tableRowClassNames: SlotClassNames<TableRowSlots> = {
7
+ root: 'TableRow'
8
+ };
9
+
10
+ const useRootBaseClassName = makeResetStyles({
11
+ borderBottom: `${Tokens.strokeWidthThin} solid ${Tokens.colorNeutralStroke1}`,
12
+ transitionDuration: Tokens.durationNormal,
13
+ transitionProperty: 'background',
14
+ transitionTimingFunction: Tokens.curveEasy,
15
+ });
16
+
17
+ const useRootStyles = makeStyles({
18
+ none: {
19
+ ':hover': {
20
+ backgroundColor: Tokens.colorNeutralBackground1Hover,
21
+ },
22
+ },
23
+ brand: {
24
+ backgroundColor: Tokens.colorBrandBackground,
25
+ color: Tokens.colorBrandForeground1,
26
+
27
+ ':hover': {
28
+ backgroundColor: Tokens.colorBrandBackgroundHover,
29
+ },
30
+ },
31
+ });
32
+
33
+ export const useTableRowStyles = (state: TableRowState): TableRowState => {
34
+ const rootBaseClassName = useRootBaseClassName();
35
+ const rootStyles = useRootStyles();
36
+
37
+ state.root.className = mergeClasses(
38
+ tableRowClassNames.root,
39
+ rootBaseClassName,
40
+ rootStyles[state.appearance],
41
+ state.root.className,
42
+ );
43
+
44
+ return state;
45
+ };
@@ -0,0 +1,35 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { SlotClassNames } from '../../Types/compose/types.js';
3
+ import { TableSlots, TableState } from './Table.types.js';
4
+ import { Tokens } from '../../Theme/tokens.js';
5
+
6
+ export const tableClassNames: SlotClassNames<TableSlots> = {
7
+ root: 'Table'
8
+ };
9
+
10
+ const useRootBaseClassName = makeResetStyles({
11
+ borderCollapse: 'collapse',
12
+ width: '100%',
13
+ fontFamily: Tokens.fontFamilyBase,
14
+ fontSize: Tokens.fontSize300,
15
+ lineHeight: Tokens.lineHeight300,
16
+ });
17
+
18
+ const useRootStyles = makeStyles({
19
+ small: {},
20
+ medium: {},
21
+ });
22
+
23
+ export const useTableStyles = (state: TableState): TableState => {
24
+ const rootBaseClassName = useRootBaseClassName();
25
+ const rootStyles = useRootStyles();
26
+
27
+ state.root.className = mergeClasses(
28
+ tableClassNames.root,
29
+ rootBaseClassName,
30
+ rootStyles[state.size],
31
+ state.root.className,
32
+ );
33
+
34
+ return state;
35
+ };
package/src/index.ts CHANGED
@@ -25,6 +25,54 @@ export type {
25
25
  ButtonState
26
26
  } from './Components/Button/index.js';
27
27
 
28
+ export {
29
+ Table,
30
+ useTable,
31
+ renderTable,
32
+ useTableStyles,
33
+ TableHeader,
34
+ useTableHeader,
35
+ renderTableHeader,
36
+ useTableHeaderStyles,
37
+ TableBody,
38
+ useTableBody,
39
+ renderTableBody,
40
+ useTableBodyStyles,
41
+ TableRow,
42
+ useTableRow,
43
+ renderTableRow,
44
+ useTableRowStyles,
45
+ TableHeaderCell,
46
+ useTableHeaderCell,
47
+ renderTableHeaderCell,
48
+ useTableHeaderCellStyles,
49
+ TableCell,
50
+ useTableCell,
51
+ renderTableCell,
52
+ useTableCellStyles
53
+ } from './Components/Table/index.js';
54
+
55
+ export type {
56
+ TableSlots,
57
+ TableProps,
58
+ TableState,
59
+ TableHeaderSlots,
60
+ TableHeaderProps,
61
+ TableHeaderState,
62
+ TableBodySlots,
63
+ TableBodyProps,
64
+ TableBodyState,
65
+ TableRowSlots,
66
+ TableRowProps,
67
+ TableRowState,
68
+ TableHeaderCellSlots,
69
+ TableHeaderCellProps,
70
+ TableHeaderCellState,
71
+ TableCellSlots,
72
+ TableCellProps,
73
+ TableCellState
74
+ } from './Components/Table/index.js';
75
+
28
76
  export * from './Types/compose/index.js';
29
77
  export * from './Types/utils/index.js';
30
78