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,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableProps } from './Table.types.js';
3
+ export declare const Table: FC<TableProps>;
@@ -0,0 +1,8 @@
1
+ import { useTable } from './useTable.js';
2
+ import { renderTable } from './renderTable.js';
3
+ import { useTableStyles } from './useTableStyles.styles.js';
4
+ export const Table = (props) => {
5
+ const state = useTable(props);
6
+ useTableStyles(state);
7
+ return renderTable(state);
8
+ };
@@ -0,0 +1,9 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableSlots = {
3
+ root: NonNullable<Slot<'table'>>;
4
+ };
5
+ export type TableProps = ComponentProps<TableSlots> & {
6
+ size?: 'small' | 'medium';
7
+ sortable?: boolean;
8
+ };
9
+ export type TableState = ComponentState<TableSlots> & Required<Pick<TableProps, 'size' | 'sortable'>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableBodyProps } from './TableBody.types.js';
3
+ export declare const TableBody: FC<TableBodyProps>;
@@ -0,0 +1,8 @@
1
+ import { useTableBody } from './useTableBody.js';
2
+ import { renderTableBody } from './renderTableBody.js';
3
+ import { useTableBodyStyles } from './useTableBodyStyles.styles.js';
4
+ export const TableBody = (props) => {
5
+ const state = useTableBody(props);
6
+ useTableBodyStyles(state);
7
+ return renderTableBody(state);
8
+ };
@@ -0,0 +1,6 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableBodySlots = {
3
+ root: NonNullable<Slot<'tbody'>>;
4
+ };
5
+ export type TableBodyProps = ComponentProps<TableBodySlots>;
6
+ export type TableBodyState = ComponentState<TableBodySlots>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableCellProps } from './TableCell.types.js';
3
+ export declare const TableCell: FC<TableCellProps>;
@@ -0,0 +1,8 @@
1
+ import { useTableCell } from './useTableCell.js';
2
+ import { renderTableCell } from './renderTableCell.js';
3
+ import { useTableCellStyles } from './useTableCellStyles.styles.js';
4
+ export const TableCell = (props) => {
5
+ const state = useTableCell(props);
6
+ useTableCellStyles(state);
7
+ return renderTableCell(state);
8
+ };
@@ -0,0 +1,6 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableCellSlots = {
3
+ root: NonNullable<Slot<'td'>>;
4
+ };
5
+ export type TableCellProps = ComponentProps<TableCellSlots>;
6
+ export type TableCellState = ComponentState<TableCellSlots>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableHeaderProps } from './TableHeader.types.js';
3
+ export declare const TableHeader: FC<TableHeaderProps>;
@@ -0,0 +1,8 @@
1
+ import { useTableHeader } from './useTableHeader.js';
2
+ import { renderTableHeader } from './renderTableHeader.js';
3
+ import { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
4
+ export const TableHeader = (props) => {
5
+ const state = useTableHeader(props);
6
+ useTableHeaderStyles(state);
7
+ return renderTableHeader(state);
8
+ };
@@ -0,0 +1,6 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableHeaderSlots = {
3
+ root: NonNullable<Slot<'thead'>>;
4
+ };
5
+ export type TableHeaderProps = ComponentProps<TableHeaderSlots>;
6
+ export type TableHeaderState = ComponentState<TableHeaderSlots>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableHeaderCellProps } from './TableHeaderCell.types.js';
3
+ export declare const TableHeaderCell: FC<TableHeaderCellProps>;
@@ -0,0 +1,8 @@
1
+ import { useTableHeaderCell } from './useTableHeaderCell.js';
2
+ import { renderTableHeaderCell } from './renderTableHeaderCell.js';
3
+ import { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
4
+ export const TableHeaderCell = (props) => {
5
+ const state = useTableHeaderCell(props);
6
+ useTableHeaderCellStyles(state);
7
+ return renderTableHeaderCell(state);
8
+ };
@@ -0,0 +1,10 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableHeaderCellSlots = {
3
+ root: NonNullable<Slot<'th'>>;
4
+ };
5
+ export type TableHeaderCellProps = ComponentProps<TableHeaderCellSlots> & {
6
+ sortDirection?: 'ascending' | 'descending';
7
+ };
8
+ export type TableHeaderCellState = ComponentState<TableHeaderCellSlots> & {
9
+ sortDirection?: 'ascending' | 'descending';
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableRowProps } from './TableRow.types.js';
3
+ export declare const TableRow: FC<TableRowProps>;
@@ -0,0 +1,8 @@
1
+ import { useTableRow } from './useTableRow.js';
2
+ import { renderTableRow } from './renderTableRow.js';
3
+ import { useTableRowStyles } from './useTableRowStyles.styles.js';
4
+ export const TableRow = (props) => {
5
+ const state = useTableRow(props);
6
+ useTableRowStyles(state);
7
+ return renderTableRow(state);
8
+ };
@@ -0,0 +1,8 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+ export type TableRowSlots = {
3
+ root: NonNullable<Slot<'tr'>>;
4
+ };
5
+ export type TableRowProps = ComponentProps<TableRowSlots> & {
6
+ appearance?: 'none' | 'brand';
7
+ };
8
+ export type TableRowState = ComponentState<TableRowSlots> & Required<Pick<TableRowProps, 'appearance'>>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
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
+ export type { TableHeaderSlots, TableHeaderProps, TableHeaderState } from './TableHeader.types.js';
7
+ export { TableHeader } from './TableHeader.js';
8
+ export { useTableHeader } from './useTableHeader.js';
9
+ export { renderTableHeader } from './renderTableHeader.js';
10
+ export { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
11
+ export type { TableBodySlots, TableBodyProps, TableBodyState } from './TableBody.types.js';
12
+ export { TableBody } from './TableBody.js';
13
+ export { useTableBody } from './useTableBody.js';
14
+ export { renderTableBody } from './renderTableBody.js';
15
+ export { useTableBodyStyles } from './useTableBodyStyles.styles.js';
16
+ export type { TableRowSlots, TableRowProps, TableRowState } from './TableRow.types.js';
17
+ export { TableRow } from './TableRow.js';
18
+ export { useTableRow } from './useTableRow.js';
19
+ export { renderTableRow } from './renderTableRow.js';
20
+ export { useTableRowStyles } from './useTableRowStyles.styles.js';
21
+ export type { TableHeaderCellSlots, TableHeaderCellProps, TableHeaderCellState } from './TableHeaderCell.types.js';
22
+ export { TableHeaderCell } from './TableHeaderCell.js';
23
+ export { useTableHeaderCell } from './useTableHeaderCell.js';
24
+ export { renderTableHeaderCell } from './renderTableHeaderCell.js';
25
+ export { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
26
+ export type { TableCellSlots, TableCellProps, TableCellState } from './TableCell.types.js';
27
+ export { TableCell } from './TableCell.js';
28
+ export { useTableCell } from './useTableCell.js';
29
+ export { renderTableCell } from './renderTableCell.js';
30
+ export { useTableCellStyles } from './useTableCellStyles.styles.js';
@@ -0,0 +1,24 @@
1
+ export { Table } from './Table.js';
2
+ export { useTable } from './useTable.js';
3
+ export { renderTable } from './renderTable.js';
4
+ export { useTableStyles } from './useTableStyles.styles.js';
5
+ export { TableHeader } from './TableHeader.js';
6
+ export { useTableHeader } from './useTableHeader.js';
7
+ export { renderTableHeader } from './renderTableHeader.js';
8
+ export { useTableHeaderStyles } from './useTableHeaderStyles.styles.js';
9
+ export { TableBody } from './TableBody.js';
10
+ export { useTableBody } from './useTableBody.js';
11
+ export { renderTableBody } from './renderTableBody.js';
12
+ export { useTableBodyStyles } from './useTableBodyStyles.styles.js';
13
+ export { TableRow } from './TableRow.js';
14
+ export { useTableRow } from './useTableRow.js';
15
+ export { renderTableRow } from './renderTableRow.js';
16
+ export { useTableRowStyles } from './useTableRowStyles.styles.js';
17
+ export { TableHeaderCell } from './TableHeaderCell.js';
18
+ export { useTableHeaderCell } from './useTableHeaderCell.js';
19
+ export { renderTableHeaderCell } from './renderTableHeaderCell.js';
20
+ export { useTableHeaderCellStyles } from './useTableHeaderCellStyles.styles.js';
21
+ export { TableCell } from './TableCell.js';
22
+ export { useTableCell } from './useTableCell.js';
23
+ export { renderTableCell } from './renderTableCell.js';
24
+ export { useTableCellStyles } from './useTableCellStyles.styles.js';
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableState } from './Table.types.js';
3
+ export declare const renderTable: (state: TableState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTable = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableBodyState } from './TableBody.types.js';
3
+ export declare const renderTableBody: (state: TableBodyState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTableBody = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableCellState } from './TableCell.types.js';
3
+ export declare const renderTableCell: (state: TableCellState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTableCell = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableHeaderState } from './TableHeader.types.js';
3
+ export declare const renderTableHeader: (state: TableHeaderState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTableHeader = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableHeaderCellState } from './TableHeaderCell.types.js';
3
+ export declare const renderTableHeaderCell: (state: TableHeaderCellState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTableHeaderCell = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,3 @@
1
+ import type { Element } from '../../Types/utils/types.js';
2
+ import type { TableRowState } from './TableRow.types.js';
3
+ export declare const renderTableRow: (state: TableRowState) => Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "jsx-framework-test-pb/jsx-runtime";
2
+ export const renderTableRow = (state) => {
3
+ const Root = state.components.root;
4
+ const { as: _as, ...rootProps } = state.root;
5
+ return _jsx(Root, { ...rootProps });
6
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableProps, TableState } from './Table.types.js';
2
+ export declare const useTable: (props: TableProps) => TableState;
@@ -0,0 +1,9 @@
1
+ export const useTable = (props) => {
2
+ const { size, sortable, ...rest } = props;
3
+ return {
4
+ size: size ?? 'medium',
5
+ sortable: sortable ?? false,
6
+ components: { root: 'table' },
7
+ root: { ...rest },
8
+ };
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableBodyProps, TableBodyState } from './TableBody.types.js';
2
+ export declare const useTableBody: (props: TableBodyProps) => TableBodyState;
@@ -0,0 +1,6 @@
1
+ export const useTableBody = (props) => {
2
+ return {
3
+ components: { root: 'tbody' },
4
+ root: { ...props },
5
+ };
6
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableBodySlots, TableBodyState } from './TableBody.types.js';
3
+ export declare const tableBodyClassNames: SlotClassNames<TableBodySlots>;
4
+ export declare const useTableBodyStyles: (state: TableBodyState) => TableBodyState;
@@ -0,0 +1,12 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ export const tableBodyClassNames = {
3
+ root: 'TableBody'
4
+ };
5
+ const useRootBaseClassName = makeResetStyles({
6
+ display: 'table-row-group',
7
+ });
8
+ export const useTableBodyStyles = (state) => {
9
+ const rootBaseClassName = useRootBaseClassName();
10
+ state.root.className = mergeClasses(tableBodyClassNames.root, rootBaseClassName, state.root.className);
11
+ return state;
12
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableCellProps, TableCellState } from './TableCell.types.js';
2
+ export declare const useTableCell: (props: TableCellProps) => TableCellState;
@@ -0,0 +1,6 @@
1
+ export const useTableCell = (props) => {
2
+ return {
3
+ components: { root: 'td' },
4
+ root: { ...props },
5
+ };
6
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableCellSlots, TableCellState } from './TableCell.types.js';
3
+ export declare const tableCellClassNames: SlotClassNames<TableCellSlots>;
4
+ export declare const useTableCellStyles: (state: TableCellState) => TableCellState;
@@ -0,0 +1,17 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { Tokens } from '../../Theme/tokens.js';
3
+ export const tableCellClassNames = {
4
+ root: 'TableCell'
5
+ };
6
+ const useRootBaseClassName = makeResetStyles({
7
+ textAlign: 'left',
8
+ paddingTop: Tokens.spacingS,
9
+ paddingBottom: Tokens.spacingS,
10
+ paddingLeft: Tokens.spacingM,
11
+ paddingRight: Tokens.spacingM,
12
+ });
13
+ export const useTableCellStyles = (state) => {
14
+ const rootBaseClassName = useRootBaseClassName();
15
+ state.root.className = mergeClasses(tableCellClassNames.root, rootBaseClassName, state.root.className);
16
+ return state;
17
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableHeaderProps, TableHeaderState } from './TableHeader.types.js';
2
+ export declare const useTableHeader: (props: TableHeaderProps) => TableHeaderState;
@@ -0,0 +1,6 @@
1
+ export const useTableHeader = (props) => {
2
+ return {
3
+ components: { root: 'thead' },
4
+ root: { ...props },
5
+ };
6
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableHeaderCellProps, TableHeaderCellState } from './TableHeaderCell.types.js';
2
+ export declare const useTableHeaderCell: (props: TableHeaderCellProps) => TableHeaderCellState;
@@ -0,0 +1,12 @@
1
+ export const useTableHeaderCell = (props) => {
2
+ const { sortDirection, ...rest } = props;
3
+ const root = { ...rest };
4
+ if (sortDirection) {
5
+ root['aria-sort'] = sortDirection;
6
+ }
7
+ return {
8
+ sortDirection,
9
+ components: { root: 'th' },
10
+ root,
11
+ };
12
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableHeaderCellSlots, TableHeaderCellState } from './TableHeaderCell.types.js';
3
+ export declare const tableHeaderCellClassNames: SlotClassNames<TableHeaderCellSlots>;
4
+ export declare const useTableHeaderCellStyles: (state: TableHeaderCellState) => TableHeaderCellState;
@@ -0,0 +1,27 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { Tokens } from '../../Theme/tokens.js';
3
+ export const tableHeaderCellClassNames = {
4
+ root: 'TableHeaderCell'
5
+ };
6
+ const useRootBaseClassName = makeResetStyles({
7
+ fontWeight: Tokens.fontWeightSemibold,
8
+ textAlign: 'left',
9
+ paddingTop: Tokens.spacingS,
10
+ paddingBottom: Tokens.spacingS,
11
+ paddingLeft: Tokens.spacingM,
12
+ paddingRight: Tokens.spacingM,
13
+ });
14
+ const useRootStyles = makeStyles({
15
+ ascending: {
16
+ cursor: 'pointer',
17
+ },
18
+ descending: {
19
+ cursor: 'pointer',
20
+ },
21
+ });
22
+ export const useTableHeaderCellStyles = (state) => {
23
+ const rootBaseClassName = useRootBaseClassName();
24
+ const rootStyles = useRootStyles();
25
+ state.root.className = mergeClasses(tableHeaderCellClassNames.root, rootBaseClassName, state.sortDirection && rootStyles[state.sortDirection], state.root.className);
26
+ return state;
27
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableHeaderSlots, TableHeaderState } from './TableHeader.types.js';
3
+ export declare const tableHeaderClassNames: SlotClassNames<TableHeaderSlots>;
4
+ export declare const useTableHeaderStyles: (state: TableHeaderState) => TableHeaderState;
@@ -0,0 +1,12 @@
1
+ import { makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ export const tableHeaderClassNames = {
3
+ root: 'TableHeader'
4
+ };
5
+ const useRootBaseClassName = makeResetStyles({
6
+ display: 'table-header-group',
7
+ });
8
+ export const useTableHeaderStyles = (state) => {
9
+ const rootBaseClassName = useRootBaseClassName();
10
+ state.root.className = mergeClasses(tableHeaderClassNames.root, rootBaseClassName, state.root.className);
11
+ return state;
12
+ };
@@ -0,0 +1,2 @@
1
+ import type { TableRowProps, TableRowState } from './TableRow.types.js';
2
+ export declare const useTableRow: (props: TableRowProps) => TableRowState;
@@ -0,0 +1,8 @@
1
+ export const useTableRow = (props) => {
2
+ const { appearance, ...rest } = props;
3
+ return {
4
+ appearance: appearance ?? 'none',
5
+ components: { root: 'tr' },
6
+ root: { ...rest },
7
+ };
8
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableRowSlots, TableRowState } from './TableRow.types.js';
3
+ export declare const tableRowClassNames: SlotClassNames<TableRowSlots>;
4
+ export declare const useTableRowStyles: (state: TableRowState) => TableRowState;
@@ -0,0 +1,31 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { Tokens } from '../../Theme/tokens.js';
3
+ export const tableRowClassNames = {
4
+ root: 'TableRow'
5
+ };
6
+ const useRootBaseClassName = makeResetStyles({
7
+ borderBottom: `${Tokens.strokeWidthThin} solid ${Tokens.colorNeutralStroke1}`,
8
+ transitionDuration: Tokens.durationNormal,
9
+ transitionProperty: 'background',
10
+ transitionTimingFunction: Tokens.curveEasy,
11
+ });
12
+ const useRootStyles = makeStyles({
13
+ none: {
14
+ ':hover': {
15
+ backgroundColor: Tokens.colorNeutralBackground1Hover,
16
+ },
17
+ },
18
+ brand: {
19
+ backgroundColor: Tokens.colorBrandBackground,
20
+ color: Tokens.colorBrandForeground1,
21
+ ':hover': {
22
+ backgroundColor: Tokens.colorBrandBackgroundHover,
23
+ },
24
+ },
25
+ });
26
+ export const useTableRowStyles = (state) => {
27
+ const rootBaseClassName = useRootBaseClassName();
28
+ const rootStyles = useRootStyles();
29
+ state.root.className = mergeClasses(tableRowClassNames.root, rootBaseClassName, rootStyles[state.appearance], state.root.className);
30
+ return state;
31
+ };
@@ -0,0 +1,4 @@
1
+ import { SlotClassNames } from '../../Types/compose/types.js';
2
+ import { TableSlots, TableState } from './Table.types.js';
3
+ export declare const tableClassNames: SlotClassNames<TableSlots>;
4
+ export declare const useTableStyles: (state: TableState) => TableState;
@@ -0,0 +1,22 @@
1
+ import { makeStyles, makeResetStyles, mergeClasses } from 'css-engine-test-pb';
2
+ import { Tokens } from '../../Theme/tokens.js';
3
+ export const tableClassNames = {
4
+ root: 'Table'
5
+ };
6
+ const useRootBaseClassName = makeResetStyles({
7
+ borderCollapse: 'collapse',
8
+ width: '100%',
9
+ fontFamily: Tokens.fontFamilyBase,
10
+ fontSize: Tokens.fontSize300,
11
+ lineHeight: Tokens.lineHeight300,
12
+ });
13
+ const useRootStyles = makeStyles({
14
+ small: {},
15
+ medium: {},
16
+ });
17
+ export const useTableStyles = (state) => {
18
+ const rootBaseClassName = useRootBaseClassName();
19
+ const rootStyles = useRootStyles();
20
+ state.root.className = mergeClasses(tableClassNames.root, rootBaseClassName, rootStyles[state.size], state.root.className);
21
+ return state;
22
+ };
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { Text, useText, renderText, useTextStyles } from './Components/Text/inde
2
2
  export type { TextSlots, TextProps, TextPresetProps, TextState } from './Components/Text/index.js';
3
3
  export { Button, useButton, renderButton, useButtonStyles } from './Components/Button/index.js';
4
4
  export type { ButtonSlots, ButtonProps, ButtonBaseProps, ButtonState } from './Components/Button/index.js';
5
+ export { Table, useTable, renderTable, useTableStyles, TableHeader, useTableHeader, renderTableHeader, useTableHeaderStyles, TableBody, useTableBody, renderTableBody, useTableBodyStyles, TableRow, useTableRow, renderTableRow, useTableRowStyles, TableHeaderCell, useTableHeaderCell, renderTableHeaderCell, useTableHeaderCellStyles, TableCell, useTableCell, renderTableCell, useTableCellStyles } from './Components/Table/index.js';
6
+ export type { TableSlots, TableProps, TableState, TableHeaderSlots, TableHeaderProps, TableHeaderState, TableBodySlots, TableBodyProps, TableBodyState, TableRowSlots, TableRowProps, TableRowState, TableHeaderCellSlots, TableHeaderCellProps, TableHeaderCellState, TableCellSlots, TableCellProps, TableCellState } from './Components/Table/index.js';
5
7
  export * from './Types/compose/index.js';
6
8
  export * from './Types/utils/index.js';
7
9
  export { useARIAButtonProps } from './utilities/index.js';
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Text, useText, renderText, useTextStyles } from './Components/Text/index.js';
2
2
  export { Button, useButton, renderButton, useButtonStyles } from './Components/Button/index.js';
3
+ export { Table, useTable, renderTable, useTableStyles, TableHeader, useTableHeader, renderTableHeader, useTableHeaderStyles, TableBody, useTableBody, renderTableBody, useTableBodyStyles, TableRow, useTableRow, renderTableRow, useTableRowStyles, TableHeaderCell, useTableHeaderCell, renderTableHeaderCell, useTableHeaderCellStyles, TableCell, useTableCell, renderTableCell, useTableCellStyles } from './Components/Table/index.js';
3
4
  export * from './Types/compose/index.js';
4
5
  export * from './Types/utils/index.js';
5
6
  export { useARIAButtonProps } from './utilities/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "components-test-pb",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -0,0 +1,13 @@
1
+ import type { FC } from '../../Types/utils/types.js';
2
+ import type { TableProps } from './Table.types.js';
3
+ import { useTable } from './useTable.js';
4
+ import { renderTable } from './renderTable.js';
5
+ import { useTableStyles } from './useTableStyles.styles.js';
6
+
7
+ export const Table: FC<TableProps> = (props) => {
8
+ const state = useTable(props);
9
+
10
+ useTableStyles(state);
11
+
12
+ return renderTable(state);
13
+ };
@@ -0,0 +1,13 @@
1
+ import { ComponentProps, ComponentState, Slot } from '../../Types/compose/types.js';
2
+
3
+ export type TableSlots = {
4
+ root: NonNullable<Slot<'table'>>;
5
+ };
6
+
7
+ export type TableProps = ComponentProps<TableSlots> & {
8
+ size?: 'small' | 'medium';
9
+ sortable?: boolean;
10
+ };
11
+
12
+ export type TableState = ComponentState<TableSlots> &
13
+ Required<Pick<TableProps, 'size' | 'sortable'>>;