@guardian/stand 0.0.70 → 0.0.71

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/Table.cjs ADDED
@@ -0,0 +1,10 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_table = require("./styleD/build/typescript/component/table.cjs");
3
+ const require_Table = require("./components/Table/Table.cjs");
4
+ exports.Table = require_Table.Table;
5
+ exports.TableBody = require_Table.TableBody;
6
+ exports.TableCell = require_Table.TableCell;
7
+ exports.TableColumnHeader = require_Table.TableColumnHeader;
8
+ exports.TableHeader = require_Table.TableHeader;
9
+ exports.TableRow = require_Table.TableRow;
10
+ exports.componentTable = require_table.componentTable;
@@ -0,0 +1,5 @@
1
+ import { ComponentTable, componentTable } from "./styleD/build/typescript/component/table.cjs";
2
+ import { PartialTableTheme } from "./components/Table/styles.cjs";
3
+ import { ResponsiveTableValue, TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps, TableProps, TableRowProps } from "./components/Table/types.cjs";
4
+ import { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow } from "./components/Table/Table.cjs";
5
+ export { type ComponentTable, type ResponsiveTableValue, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableColumnHeader, type TableColumnHeaderProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, type PartialTableTheme as TableTheme, componentTable };
@@ -0,0 +1,5 @@
1
+ import { ComponentTable, componentTable } from "./styleD/build/typescript/component/table.js";
2
+ import { PartialTableTheme } from "./components/Table/styles.js";
3
+ import { ResponsiveTableValue, TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps, TableProps, TableRowProps } from "./components/Table/types.js";
4
+ import { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow } from "./components/Table/Table.js";
5
+ export { type ComponentTable, type ResponsiveTableValue, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableColumnHeader, type TableColumnHeaderProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, type PartialTableTheme as TableTheme, componentTable };
package/dist/Table.js ADDED
@@ -0,0 +1,3 @@
1
+ import { componentTable } from "./styleD/build/typescript/component/table.js";
2
+ import { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow } from "./components/Table/Table.js";
3
+ export { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow, componentTable };
@@ -0,0 +1,80 @@
1
+ const require_mergeDeep = require("../../util/mergeDeep.cjs");
2
+ const require_styles = require("./styles.cjs");
3
+ let react = require("react");
4
+ let _emotion_react_jsx_runtime = require("@emotion/react/jsx-runtime");
5
+ let react_aria_components = require("react-aria-components");
6
+ //#region src/components/Table/Table.tsx
7
+ const TableContext = (0, react.createContext)({
8
+ columns: { sm: "minmax(0, 1fr)" },
9
+ headerVisibleFrom: "lg",
10
+ theme: require_styles.defaultTableTheme
11
+ });
12
+ function Table({ columns, headerVisibleFrom = "lg", theme = {}, cssOverrides, children, ...props }) {
13
+ const mergedTheme = require_mergeDeep.mergeDeep(require_styles.defaultTableTheme, theme);
14
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(TableContext.Provider, {
15
+ value: {
16
+ columns,
17
+ headerVisibleFrom,
18
+ theme: mergedTheme
19
+ },
20
+ children: /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.Table, {
21
+ css: [require_styles.tableStyles(mergedTheme), cssOverrides],
22
+ ...props,
23
+ children
24
+ })
25
+ });
26
+ }
27
+ function TableHeader({ theme = {}, cssOverrides, children, ...props }) {
28
+ const context = (0, react.useContext)(TableContext);
29
+ const mergedTheme = require_mergeDeep.mergeDeep(context.theme, theme);
30
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.TableHeader, {
31
+ css: [require_styles.tableHeaderStyles(mergedTheme, context.columns, context.headerVisibleFrom), cssOverrides],
32
+ ...props,
33
+ children
34
+ });
35
+ }
36
+ function TableBody({ cssOverrides, children, ...props }) {
37
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.TableBody, {
38
+ css: [require_styles.tableBodyStyles, cssOverrides],
39
+ ...props,
40
+ children
41
+ });
42
+ }
43
+ function TableRow({ theme = {}, cssOverrides, children, ...props }) {
44
+ const context = (0, react.useContext)(TableContext);
45
+ const mergedTheme = require_mergeDeep.mergeDeep(context.theme, theme);
46
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.Row, {
47
+ css: [require_styles.tableRowStyles(mergedTheme, context.columns), cssOverrides],
48
+ ...props,
49
+ children
50
+ });
51
+ }
52
+ function TableColumnHeader({ theme = {}, cssOverrides, children, ...props }) {
53
+ const context = (0, react.useContext)(TableContext);
54
+ const mergedTheme = require_mergeDeep.mergeDeep(context.theme, theme);
55
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.Column, {
56
+ css: [require_styles.tableColumnHeaderStyles(mergedTheme), cssOverrides],
57
+ ...props,
58
+ children
59
+ });
60
+ }
61
+ function TableCell({ compactLabel, gridColumn, gridRow, theme = {}, cssOverrides, children, ...props }) {
62
+ const context = (0, react.useContext)(TableContext);
63
+ const mergedTheme = require_mergeDeep.mergeDeep(context.theme, theme);
64
+ return /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)(react_aria_components.Cell, {
65
+ css: [require_styles.tableCellStyles(mergedTheme, gridColumn, gridRow), cssOverrides],
66
+ ...props,
67
+ children: (0, react_aria_components.composeRenderProps)(children, (children) => /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsxs)(_emotion_react_jsx_runtime.Fragment, { children: [compactLabel && /* @__PURE__ */ (0, _emotion_react_jsx_runtime.jsx)("span", {
68
+ css: require_styles.compactLabelStyles(mergedTheme, context.headerVisibleFrom),
69
+ "aria-hidden": "true",
70
+ children: compactLabel
71
+ }), children] }))
72
+ });
73
+ }
74
+ //#endregion
75
+ exports.Table = Table;
76
+ exports.TableBody = TableBody;
77
+ exports.TableCell = TableCell;
78
+ exports.TableColumnHeader = TableColumnHeader;
79
+ exports.TableHeader = TableHeader;
80
+ exports.TableRow = TableRow;
@@ -0,0 +1,10 @@
1
+ import { TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps, TableProps, TableRowProps } from "./types.cjs";
2
+ //#region src/components/Table/Table.d.ts
3
+ declare function Table({ columns, headerVisibleFrom, theme, cssOverrides, children, ...props }: TableProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ declare function TableHeader<T extends object = object>({ theme, cssOverrides, children, ...props }: TableHeaderProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
5
+ declare function TableBody<T extends object = object>({ cssOverrides, children, ...props }: TableBodyProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ declare function TableRow<T extends object = object>({ theme, cssOverrides, children, ...props }: TableRowProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
7
+ declare function TableColumnHeader({ theme, cssOverrides, children, ...props }: TableColumnHeaderProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ declare function TableCell({ compactLabel, gridColumn, gridRow, theme, cssOverrides, children, ...props }: TableCellProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ //#endregion
10
+ export { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow };
@@ -0,0 +1,10 @@
1
+ import { TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps, TableProps, TableRowProps } from "./types.js";
2
+ //#region src/components/Table/Table.d.ts
3
+ declare function Table({ columns, headerVisibleFrom, theme, cssOverrides, children, ...props }: TableProps): import("@emotion/react/jsx-runtime").JSX.Element;
4
+ declare function TableHeader<T extends object = object>({ theme, cssOverrides, children, ...props }: TableHeaderProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
5
+ declare function TableBody<T extends object = object>({ cssOverrides, children, ...props }: TableBodyProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ declare function TableRow<T extends object = object>({ theme, cssOverrides, children, ...props }: TableRowProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
7
+ declare function TableColumnHeader({ theme, cssOverrides, children, ...props }: TableColumnHeaderProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ declare function TableCell({ compactLabel, gridColumn, gridRow, theme, cssOverrides, children, ...props }: TableCellProps): import("@emotion/react/jsx-runtime").JSX.Element;
9
+ //#endregion
10
+ export { Table, TableBody, TableCell, TableColumnHeader, TableHeader, TableRow };
@@ -0,0 +1,75 @@
1
+ import { mergeDeep } from "../../util/mergeDeep.js";
2
+ import { compactLabelStyles, defaultTableTheme, tableBodyStyles, tableCellStyles, tableColumnHeaderStyles, tableHeaderStyles, tableRowStyles, tableStyles } from "./styles.js";
3
+ import { createContext, useContext } from "react";
4
+ import { Fragment, jsx, jsxs } from "@emotion/react/jsx-runtime";
5
+ import { Cell, Column, Row, Table, TableBody, TableHeader, composeRenderProps } from "react-aria-components";
6
+ //#region src/components/Table/Table.tsx
7
+ const TableContext = createContext({
8
+ columns: { sm: "minmax(0, 1fr)" },
9
+ headerVisibleFrom: "lg",
10
+ theme: defaultTableTheme
11
+ });
12
+ function Table$1({ columns, headerVisibleFrom = "lg", theme = {}, cssOverrides, children, ...props }) {
13
+ const mergedTheme = mergeDeep(defaultTableTheme, theme);
14
+ return /* @__PURE__ */ jsx(TableContext.Provider, {
15
+ value: {
16
+ columns,
17
+ headerVisibleFrom,
18
+ theme: mergedTheme
19
+ },
20
+ children: /* @__PURE__ */ jsx(Table, {
21
+ css: [tableStyles(mergedTheme), cssOverrides],
22
+ ...props,
23
+ children
24
+ })
25
+ });
26
+ }
27
+ function TableHeader$1({ theme = {}, cssOverrides, children, ...props }) {
28
+ const context = useContext(TableContext);
29
+ const mergedTheme = mergeDeep(context.theme, theme);
30
+ return /* @__PURE__ */ jsx(TableHeader, {
31
+ css: [tableHeaderStyles(mergedTheme, context.columns, context.headerVisibleFrom), cssOverrides],
32
+ ...props,
33
+ children
34
+ });
35
+ }
36
+ function TableBody$1({ cssOverrides, children, ...props }) {
37
+ return /* @__PURE__ */ jsx(TableBody, {
38
+ css: [tableBodyStyles, cssOverrides],
39
+ ...props,
40
+ children
41
+ });
42
+ }
43
+ function TableRow({ theme = {}, cssOverrides, children, ...props }) {
44
+ const context = useContext(TableContext);
45
+ const mergedTheme = mergeDeep(context.theme, theme);
46
+ return /* @__PURE__ */ jsx(Row, {
47
+ css: [tableRowStyles(mergedTheme, context.columns), cssOverrides],
48
+ ...props,
49
+ children
50
+ });
51
+ }
52
+ function TableColumnHeader({ theme = {}, cssOverrides, children, ...props }) {
53
+ const context = useContext(TableContext);
54
+ const mergedTheme = mergeDeep(context.theme, theme);
55
+ return /* @__PURE__ */ jsx(Column, {
56
+ css: [tableColumnHeaderStyles(mergedTheme), cssOverrides],
57
+ ...props,
58
+ children
59
+ });
60
+ }
61
+ function TableCell({ compactLabel, gridColumn, gridRow, theme = {}, cssOverrides, children, ...props }) {
62
+ const context = useContext(TableContext);
63
+ const mergedTheme = mergeDeep(context.theme, theme);
64
+ return /* @__PURE__ */ jsx(Cell, {
65
+ css: [tableCellStyles(mergedTheme, gridColumn, gridRow), cssOverrides],
66
+ ...props,
67
+ children: composeRenderProps(children, (children) => /* @__PURE__ */ jsxs(Fragment, { children: [compactLabel && /* @__PURE__ */ jsx("span", {
68
+ css: compactLabelStyles(mergedTheme, context.headerVisibleFrom),
69
+ "aria-hidden": "true",
70
+ children: compactLabel
71
+ }), children] }))
72
+ });
73
+ }
74
+ //#endregion
75
+ export { Table$1 as Table, TableBody$1 as TableBody, TableCell, TableColumnHeader, TableHeader$1 as TableHeader, TableRow };
@@ -0,0 +1,133 @@
1
+ const require_typography = require("../../styleD/utils/semantic/typography.cjs");
2
+ const require_mq = require("../../styleD/utils/semantic/mq.cjs");
3
+ const require_table = require("../../styleD/build/typescript/component/table.cjs");
4
+ let _emotion_react = require("@emotion/react");
5
+ //#region src/components/Table/styles.ts
6
+ const defaultTableTheme = require_table.componentTable;
7
+ const responsiveValue = (value, breakpoint) => {
8
+ if (breakpoint === "lg") return value.lg ?? value.md ?? value.sm;
9
+ if (breakpoint === "md") return value.md ?? value.sm;
10
+ return value.sm;
11
+ };
12
+ const gridTemplateStyles = (columns) => _emotion_react.css`
13
+ grid-template-columns: ${responsiveValue(columns, "sm") ?? "minmax(0, 1fr)"};
14
+
15
+ ${require_mq.from.md} {
16
+ grid-template-columns: ${responsiveValue(columns, "md") ?? "minmax(0, 1fr)"};
17
+ }
18
+
19
+ ${require_mq.from.lg} {
20
+ grid-template-columns: ${responsiveValue(columns, "lg") ?? "minmax(0, 1fr)"};
21
+ }
22
+ `;
23
+ const visuallyHiddenStyles = _emotion_react.css`
24
+ position: absolute;
25
+ width: 1px;
26
+ height: 1px;
27
+ padding: 0;
28
+ margin: -1px;
29
+ overflow: hidden;
30
+ clip: rect(0, 0, 0, 0);
31
+ white-space: nowrap;
32
+ border: 0;
33
+ `;
34
+ const tableStyles = (theme) => _emotion_react.css`
35
+ display: block;
36
+ box-sizing: border-box;
37
+ width: ${theme.table.width};
38
+ border: ${theme.table.border};
39
+ border-radius: ${theme.table.borderRadius};
40
+ border-collapse: collapse;
41
+ border-spacing: 0;
42
+ overflow: hidden;
43
+ background-color: ${theme.table.backgroundColor};
44
+ color: ${theme.table.color};
45
+ `;
46
+ const tableHeaderStyles = (theme, columns, headerVisibleFrom) => _emotion_react.css`
47
+ display: block;
48
+ background-color: ${theme.header.backgroundColor};
49
+ border-bottom: ${theme.header.border};
50
+
51
+ & > tr {
52
+ display: grid;
53
+ ${gridTemplateStyles(columns)}
54
+ }
55
+
56
+ ${headerVisibleFrom === "sm" ? "" : _emotion_react.css`
57
+ ${require_mq.until[headerVisibleFrom]} {
58
+ ${visuallyHiddenStyles}
59
+ }
60
+ `}
61
+ `;
62
+ const tableBodyStyles = _emotion_react.css`
63
+ display: block;
64
+ `;
65
+ const tableRowStyles = (theme, columns) => _emotion_react.css`
66
+ display: grid;
67
+ ${gridTemplateStyles(columns)}
68
+ align-items: center;
69
+ background-color: ${theme.row.backgroundColor};
70
+ border-bottom: ${theme.row.border};
71
+ outline: none;
72
+
73
+ &:last-child {
74
+ border-bottom: 0;
75
+ }
76
+
77
+ &[data-hovered] {
78
+ background-color: ${theme.row.hoverBackgroundColor};
79
+ }
80
+
81
+ &[data-focus-visible] {
82
+ outline: ${theme.row.focusVisible.outline};
83
+ outline-offset: ${theme.row.focusVisible.outlineOffset};
84
+ }
85
+ `;
86
+ const tableColumnHeaderStyles = (theme) => _emotion_react.css`
87
+ min-width: 0;
88
+ padding: ${theme.cell.paddingBlock} ${theme.cell.paddingInline};
89
+ ${require_typography.convertTypographyToEmotionStringStyle(theme.columnHeader.typography)}
90
+
91
+ text-align: left;
92
+ `;
93
+ const responsivePlacementStyles = (gridColumn, gridRow) => _emotion_react.css`
94
+ ${gridColumn?.sm ? `grid-column: ${gridColumn.sm};` : ""}
95
+ ${gridRow?.sm ? `grid-row: ${gridRow.sm};` : ""}
96
+
97
+ ${require_mq.from.md} {
98
+ ${responsiveValue(gridColumn ?? {}, "md") ? `grid-column: ${responsiveValue(gridColumn ?? {}, "md")};` : ""}
99
+ ${responsiveValue(gridRow ?? {}, "md") ? `grid-row: ${responsiveValue(gridRow ?? {}, "md")};` : ""}
100
+ }
101
+
102
+ ${require_mq.from.lg} {
103
+ ${responsiveValue(gridColumn ?? {}, "lg") ? `grid-column: ${responsiveValue(gridColumn ?? {}, "lg")};` : ""}
104
+ ${responsiveValue(gridRow ?? {}, "lg") ? `grid-row: ${responsiveValue(gridRow ?? {}, "lg")};` : ""}
105
+ }
106
+ `;
107
+ const tableCellStyles = (theme, gridColumn, gridRow) => _emotion_react.css`
108
+ min-width: 0;
109
+ box-sizing: border-box;
110
+ overflow-wrap: anywhere;
111
+ padding: ${theme.cell.paddingBlock} ${theme.cell.paddingInline};
112
+ ${require_typography.convertTypographyToEmotionStringStyle(theme.cell.typography)}
113
+ ${responsivePlacementStyles(gridColumn, gridRow)}
114
+ `;
115
+ const compactLabelStyles = (theme, headerVisibleFrom) => _emotion_react.css`
116
+ display: inline;
117
+ margin-right: ${theme.compactLabel.gap};
118
+ color: ${theme.compactLabel.color};
119
+ ${require_typography.convertTypographyToEmotionStringStyle(theme.compactLabel.typography)}
120
+
121
+ ${require_mq.from[headerVisibleFrom]} {
122
+ display: none;
123
+ }
124
+ `;
125
+ //#endregion
126
+ exports.compactLabelStyles = compactLabelStyles;
127
+ exports.defaultTableTheme = defaultTableTheme;
128
+ exports.tableBodyStyles = tableBodyStyles;
129
+ exports.tableCellStyles = tableCellStyles;
130
+ exports.tableColumnHeaderStyles = tableColumnHeaderStyles;
131
+ exports.tableHeaderStyles = tableHeaderStyles;
132
+ exports.tableRowStyles = tableRowStyles;
133
+ exports.tableStyles = tableStyles;
@@ -0,0 +1,8 @@
1
+ import { DeepPartial, Prettify } from "../../util/types.cjs";
2
+ import { ComponentTable } from "../../styleD/build/typescript/component/table.cjs";
3
+ import { SerializedStyles } from "@emotion/react";
4
+ //#region src/components/Table/styles.d.ts
5
+ type TableTheme = Prettify<ComponentTable>;
6
+ type PartialTableTheme = Prettify<DeepPartial<TableTheme>>;
7
+ //#endregion
8
+ export { PartialTableTheme, TableTheme };
@@ -0,0 +1,8 @@
1
+ import { DeepPartial, Prettify } from "../../util/types.js";
2
+ import { ComponentTable } from "../../styleD/build/typescript/component/table.js";
3
+ import { SerializedStyles } from "@emotion/react";
4
+ //#region src/components/Table/styles.d.ts
5
+ type TableTheme = Prettify<ComponentTable>;
6
+ type PartialTableTheme = Prettify<DeepPartial<TableTheme>>;
7
+ //#endregion
8
+ export { PartialTableTheme, TableTheme };
@@ -0,0 +1,126 @@
1
+ import { convertTypographyToEmotionStringStyle } from "../../styleD/utils/semantic/typography.js";
2
+ import { from, until } from "../../styleD/utils/semantic/mq.js";
3
+ import { componentTable } from "../../styleD/build/typescript/component/table.js";
4
+ import { css } from "@emotion/react";
5
+ //#region src/components/Table/styles.ts
6
+ const defaultTableTheme = componentTable;
7
+ const responsiveValue = (value, breakpoint) => {
8
+ if (breakpoint === "lg") return value.lg ?? value.md ?? value.sm;
9
+ if (breakpoint === "md") return value.md ?? value.sm;
10
+ return value.sm;
11
+ };
12
+ const gridTemplateStyles = (columns) => css`
13
+ grid-template-columns: ${responsiveValue(columns, "sm") ?? "minmax(0, 1fr)"};
14
+
15
+ ${from.md} {
16
+ grid-template-columns: ${responsiveValue(columns, "md") ?? "minmax(0, 1fr)"};
17
+ }
18
+
19
+ ${from.lg} {
20
+ grid-template-columns: ${responsiveValue(columns, "lg") ?? "minmax(0, 1fr)"};
21
+ }
22
+ `;
23
+ const visuallyHiddenStyles = css`
24
+ position: absolute;
25
+ width: 1px;
26
+ height: 1px;
27
+ padding: 0;
28
+ margin: -1px;
29
+ overflow: hidden;
30
+ clip: rect(0, 0, 0, 0);
31
+ white-space: nowrap;
32
+ border: 0;
33
+ `;
34
+ const tableStyles = (theme) => css`
35
+ display: block;
36
+ box-sizing: border-box;
37
+ width: ${theme.table.width};
38
+ border: ${theme.table.border};
39
+ border-radius: ${theme.table.borderRadius};
40
+ border-collapse: collapse;
41
+ border-spacing: 0;
42
+ overflow: hidden;
43
+ background-color: ${theme.table.backgroundColor};
44
+ color: ${theme.table.color};
45
+ `;
46
+ const tableHeaderStyles = (theme, columns, headerVisibleFrom) => css`
47
+ display: block;
48
+ background-color: ${theme.header.backgroundColor};
49
+ border-bottom: ${theme.header.border};
50
+
51
+ & > tr {
52
+ display: grid;
53
+ ${gridTemplateStyles(columns)}
54
+ }
55
+
56
+ ${headerVisibleFrom === "sm" ? "" : css`
57
+ ${until[headerVisibleFrom]} {
58
+ ${visuallyHiddenStyles}
59
+ }
60
+ `}
61
+ `;
62
+ const tableBodyStyles = css`
63
+ display: block;
64
+ `;
65
+ const tableRowStyles = (theme, columns) => css`
66
+ display: grid;
67
+ ${gridTemplateStyles(columns)}
68
+ align-items: center;
69
+ background-color: ${theme.row.backgroundColor};
70
+ border-bottom: ${theme.row.border};
71
+ outline: none;
72
+
73
+ &:last-child {
74
+ border-bottom: 0;
75
+ }
76
+
77
+ &[data-hovered] {
78
+ background-color: ${theme.row.hoverBackgroundColor};
79
+ }
80
+
81
+ &[data-focus-visible] {
82
+ outline: ${theme.row.focusVisible.outline};
83
+ outline-offset: ${theme.row.focusVisible.outlineOffset};
84
+ }
85
+ `;
86
+ const tableColumnHeaderStyles = (theme) => css`
87
+ min-width: 0;
88
+ padding: ${theme.cell.paddingBlock} ${theme.cell.paddingInline};
89
+ ${convertTypographyToEmotionStringStyle(theme.columnHeader.typography)}
90
+
91
+ text-align: left;
92
+ `;
93
+ const responsivePlacementStyles = (gridColumn, gridRow) => css`
94
+ ${gridColumn?.sm ? `grid-column: ${gridColumn.sm};` : ""}
95
+ ${gridRow?.sm ? `grid-row: ${gridRow.sm};` : ""}
96
+
97
+ ${from.md} {
98
+ ${responsiveValue(gridColumn ?? {}, "md") ? `grid-column: ${responsiveValue(gridColumn ?? {}, "md")};` : ""}
99
+ ${responsiveValue(gridRow ?? {}, "md") ? `grid-row: ${responsiveValue(gridRow ?? {}, "md")};` : ""}
100
+ }
101
+
102
+ ${from.lg} {
103
+ ${responsiveValue(gridColumn ?? {}, "lg") ? `grid-column: ${responsiveValue(gridColumn ?? {}, "lg")};` : ""}
104
+ ${responsiveValue(gridRow ?? {}, "lg") ? `grid-row: ${responsiveValue(gridRow ?? {}, "lg")};` : ""}
105
+ }
106
+ `;
107
+ const tableCellStyles = (theme, gridColumn, gridRow) => css`
108
+ min-width: 0;
109
+ box-sizing: border-box;
110
+ overflow-wrap: anywhere;
111
+ padding: ${theme.cell.paddingBlock} ${theme.cell.paddingInline};
112
+ ${convertTypographyToEmotionStringStyle(theme.cell.typography)}
113
+ ${responsivePlacementStyles(gridColumn, gridRow)}
114
+ `;
115
+ const compactLabelStyles = (theme, headerVisibleFrom) => css`
116
+ display: inline;
117
+ margin-right: ${theme.compactLabel.gap};
118
+ color: ${theme.compactLabel.color};
119
+ ${convertTypographyToEmotionStringStyle(theme.compactLabel.typography)}
120
+
121
+ ${from[headerVisibleFrom]} {
122
+ display: none;
123
+ }
124
+ `;
125
+ //#endregion
126
+ export { compactLabelStyles, defaultTableTheme, tableBodyStyles, tableCellStyles, tableColumnHeaderStyles, tableHeaderStyles, tableRowStyles, tableStyles };
@@ -0,0 +1,27 @@
1
+ import { DefaultPropsWithChildren } from "../../util/types.cjs";
2
+ import { Breakpoint } from "../../styleD/utils/semantic/mq.cjs";
3
+ import { TableTheme } from "./styles.cjs";
4
+ import { CellProps, ColumnProps, RowProps, TableBodyProps, TableHeaderProps, TableProps } from "react-aria-components";
5
+ import { ReactNode } from "react";
6
+ //#region src/components/Table/types.d.ts
7
+ type ResponsiveTableValue<T> = Partial<Record<Breakpoint, T>>;
8
+ interface TableProps$1 extends DefaultPropsWithChildren<TableTheme>, Omit<TableProps, 'children' | 'className'> {
9
+ /** CSS grid tracks for each responsive breakpoint. Values cascade upward. */
10
+ columns: ResponsiveTableValue<string>;
11
+ /** Breakpoint at which the visible column header is restored. */
12
+ headerVisibleFrom?: Breakpoint;
13
+ }
14
+ interface TableHeaderProps$1<T extends object = object> extends DefaultPropsWithChildren<TableTheme, undefined, TableHeaderProps<T>['children']>, Omit<TableHeaderProps<T>, 'children' | 'className'> {}
15
+ interface TableBodyProps$1<T extends object = object> extends Omit<DefaultPropsWithChildren<TableTheme, undefined, TableBodyProps<T>['children']>, 'theme'>, Omit<TableBodyProps<T>, 'children' | 'className'> {}
16
+ interface TableRowProps<T extends object = object> extends DefaultPropsWithChildren<TableTheme, undefined, RowProps<T>['children']>, Omit<RowProps<T>, 'children' | 'className'> {}
17
+ interface TableColumnHeaderProps extends DefaultPropsWithChildren<TableTheme, undefined, ColumnProps['children']>, Omit<ColumnProps, 'children' | 'className'> {}
18
+ interface TableCellProps extends DefaultPropsWithChildren<TableTheme, undefined, CellProps['children']>, Omit<CellProps, 'children' | 'className'> {
19
+ /** Visual label shown while the column header is visually hidden. */
20
+ compactLabel?: ReactNode;
21
+ /** Responsive CSS `grid-column` placement. */
22
+ gridColumn?: ResponsiveTableValue<string>;
23
+ /** Responsive CSS `grid-row` placement. */
24
+ gridRow?: ResponsiveTableValue<string>;
25
+ }
26
+ //#endregion
27
+ export { ResponsiveTableValue, TableBodyProps$1 as TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps$1 as TableHeaderProps, TableProps$1 as TableProps, TableRowProps };
@@ -0,0 +1,27 @@
1
+ import { DefaultPropsWithChildren } from "../../util/types.js";
2
+ import { Breakpoint } from "../../styleD/utils/semantic/mq.js";
3
+ import { TableTheme } from "./styles.js";
4
+ import { ReactNode } from "react";
5
+ import { CellProps, ColumnProps, RowProps, TableBodyProps, TableHeaderProps, TableProps } from "react-aria-components";
6
+ //#region src/components/Table/types.d.ts
7
+ type ResponsiveTableValue<T> = Partial<Record<Breakpoint, T>>;
8
+ interface TableProps$1 extends DefaultPropsWithChildren<TableTheme>, Omit<TableProps, 'children' | 'className'> {
9
+ /** CSS grid tracks for each responsive breakpoint. Values cascade upward. */
10
+ columns: ResponsiveTableValue<string>;
11
+ /** Breakpoint at which the visible column header is restored. */
12
+ headerVisibleFrom?: Breakpoint;
13
+ }
14
+ interface TableHeaderProps$1<T extends object = object> extends DefaultPropsWithChildren<TableTheme, undefined, TableHeaderProps<T>['children']>, Omit<TableHeaderProps<T>, 'children' | 'className'> {}
15
+ interface TableBodyProps$1<T extends object = object> extends Omit<DefaultPropsWithChildren<TableTheme, undefined, TableBodyProps<T>['children']>, 'theme'>, Omit<TableBodyProps<T>, 'children' | 'className'> {}
16
+ interface TableRowProps<T extends object = object> extends DefaultPropsWithChildren<TableTheme, undefined, RowProps<T>['children']>, Omit<RowProps<T>, 'children' | 'className'> {}
17
+ interface TableColumnHeaderProps extends DefaultPropsWithChildren<TableTheme, undefined, ColumnProps['children']>, Omit<ColumnProps, 'children' | 'className'> {}
18
+ interface TableCellProps extends DefaultPropsWithChildren<TableTheme, undefined, CellProps['children']>, Omit<CellProps, 'children' | 'className'> {
19
+ /** Visual label shown while the column header is visually hidden. */
20
+ compactLabel?: ReactNode;
21
+ /** Responsive CSS `grid-column` placement. */
22
+ gridColumn?: ResponsiveTableValue<string>;
23
+ /** Responsive CSS `grid-row` placement. */
24
+ gridRow?: ResponsiveTableValue<string>;
25
+ }
26
+ //#endregion
27
+ export { ResponsiveTableValue, TableBodyProps$1 as TableBodyProps, TableCellProps, TableColumnHeaderProps, TableHeaderProps$1 as TableHeaderProps, TableProps$1 as TableProps, TableRowProps };
package/dist/index.cjs CHANGED
@@ -15,6 +15,7 @@ const require_intendedAudienceSignifier = require("./styleD/build/typescript/com
15
15
  const require_favicon = require("./styleD/build/typescript/component/favicon.cjs");
16
16
  const require_datePicker = require("./styleD/build/typescript/component/datePicker.cjs");
17
17
  const require_grid = require("./styleD/build/typescript/component/grid.cjs");
18
+ const require_table = require("./styleD/build/typescript/component/table.cjs");
18
19
  const require_form = require("./styleD/build/typescript/component/form.cjs");
19
20
  const require_inlineMessage = require("./styleD/build/typescript/component/inlineMessage.cjs");
20
21
  const require_menu = require("./styleD/build/typescript/component/menu.cjs");
@@ -71,6 +72,7 @@ exports.componentModal = require_modal.componentModal;
71
72
  exports.componentRadioGroup = require_radioGroup.componentRadioGroup;
72
73
  exports.componentSelect = require_select.componentSelect;
73
74
  exports.componentSidebarStepperNavigation = require_sidebarStepperNavigation.componentSidebarStepperNavigation;
75
+ exports.componentTable = require_table.componentTable;
74
76
  exports.componentTabs = require_tabs.componentTabs;
75
77
  exports.componentTagTable = require_tagTable.componentTagTable;
76
78
  exports.componentTextArea = require_textArea.componentTextArea;
package/dist/index.d.cts CHANGED
@@ -22,6 +22,7 @@ import { ComponentModal, componentModal } from "./styleD/build/typescript/compon
22
22
  import { ComponentRadioGroup, componentRadioGroup } from "./styleD/build/typescript/component/radioGroup.cjs";
23
23
  import { ComponentSelect, componentSelect } from "./styleD/build/typescript/component/select.cjs";
24
24
  import { ComponentSidebarStepperNavigation, componentSidebarStepperNavigation } from "./styleD/build/typescript/component/sidebarStepperNavigation.cjs";
25
+ import { ComponentTable, componentTable } from "./styleD/build/typescript/component/table.cjs";
25
26
  import { ComponentTabs, componentTabs } from "./styleD/build/typescript/component/tabs.cjs";
26
27
  import { ComponentAutocomplete, componentAutocomplete } from "./styleD/build/typescript/component/autocomplete.cjs";
27
28
  import { ComponentTagTable, componentTagTable } from "./styleD/build/typescript/component/tagTable.cjs";
@@ -43,4 +44,4 @@ import { SemanticSizing, semanticSizing } from "./styleD/build/typescript/semant
43
44
  import { SemanticShadow, semanticShadow } from "./styleD/build/typescript/semantic/shadow.cjs";
44
45
  import { SemanticRadius, semanticRadius } from "./styleD/build/typescript/semantic/radius.cjs";
45
46
  import { SemanticSpacing, semanticSpacing } from "./styleD/build/typescript/semantic/spacing.cjs";
46
- export { type BaseColors, type BaseRadius, type BaseSizing, type BaseSpacing, type BaseTypography, type ComponentAlertBanner, type ComponentAutocomplete, type ComponentAvatar, type ComponentBadge, type ComponentButton, type ComponentButtonGroup, type ComponentByline, type ComponentCheckbox, type ComponentDatePicker, type ComponentFavicon, type ComponentForm, type ComponentGrid, type ComponentIcon, type ComponentInlineMessage, type ComponentIntendedAudienceSignifier, type ComponentLayout, type ComponentLink, type ComponentMenu, type ComponentModal, type ComponentRadioGroup, type ComponentSelect, type ComponentSidebarStepperNavigation, type ComponentTabs, type ComponentTagTable, type ComponentTextArea, type ComponentTextInput, type ComponentTextListInput, type ComponentTooltip, type ComponentTopBar, type ComponentTypography, type ComponentUserFeedbackSummary, type ComponentUserMenu, type SemanticBreakpoints, type SemanticColors, type SemanticGrid, type SemanticRadius, type SemanticShadow, type SemanticSizing, type SemanticSpacing, type SemanticTypography, baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
47
+ export { type BaseColors, type BaseRadius, type BaseSizing, type BaseSpacing, type BaseTypography, type ComponentAlertBanner, type ComponentAutocomplete, type ComponentAvatar, type ComponentBadge, type ComponentButton, type ComponentButtonGroup, type ComponentByline, type ComponentCheckbox, type ComponentDatePicker, type ComponentFavicon, type ComponentForm, type ComponentGrid, type ComponentIcon, type ComponentInlineMessage, type ComponentIntendedAudienceSignifier, type ComponentLayout, type ComponentLink, type ComponentMenu, type ComponentModal, type ComponentRadioGroup, type ComponentSelect, type ComponentSidebarStepperNavigation, type ComponentTable, type ComponentTabs, type ComponentTagTable, type ComponentTextArea, type ComponentTextInput, type ComponentTextListInput, type ComponentTooltip, type ComponentTopBar, type ComponentTypography, type ComponentUserFeedbackSummary, type ComponentUserMenu, type SemanticBreakpoints, type SemanticColors, type SemanticGrid, type SemanticRadius, type SemanticShadow, type SemanticSizing, type SemanticSpacing, type SemanticTypography, baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTable, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ import { ComponentModal, componentModal } from "./styleD/build/typescript/compon
22
22
  import { ComponentRadioGroup, componentRadioGroup } from "./styleD/build/typescript/component/radioGroup.js";
23
23
  import { ComponentSelect, componentSelect } from "./styleD/build/typescript/component/select.js";
24
24
  import { ComponentSidebarStepperNavigation, componentSidebarStepperNavigation } from "./styleD/build/typescript/component/sidebarStepperNavigation.js";
25
+ import { ComponentTable, componentTable } from "./styleD/build/typescript/component/table.js";
25
26
  import { ComponentTabs, componentTabs } from "./styleD/build/typescript/component/tabs.js";
26
27
  import { ComponentAutocomplete, componentAutocomplete } from "./styleD/build/typescript/component/autocomplete.js";
27
28
  import { ComponentTagTable, componentTagTable } from "./styleD/build/typescript/component/tagTable.js";
@@ -43,4 +44,4 @@ import { SemanticSizing, semanticSizing } from "./styleD/build/typescript/semant
43
44
  import { SemanticShadow, semanticShadow } from "./styleD/build/typescript/semantic/shadow.js";
44
45
  import { SemanticRadius, semanticRadius } from "./styleD/build/typescript/semantic/radius.js";
45
46
  import { SemanticSpacing, semanticSpacing } from "./styleD/build/typescript/semantic/spacing.js";
46
- export { type BaseColors, type BaseRadius, type BaseSizing, type BaseSpacing, type BaseTypography, type ComponentAlertBanner, type ComponentAutocomplete, type ComponentAvatar, type ComponentBadge, type ComponentButton, type ComponentButtonGroup, type ComponentByline, type ComponentCheckbox, type ComponentDatePicker, type ComponentFavicon, type ComponentForm, type ComponentGrid, type ComponentIcon, type ComponentInlineMessage, type ComponentIntendedAudienceSignifier, type ComponentLayout, type ComponentLink, type ComponentMenu, type ComponentModal, type ComponentRadioGroup, type ComponentSelect, type ComponentSidebarStepperNavigation, type ComponentTabs, type ComponentTagTable, type ComponentTextArea, type ComponentTextInput, type ComponentTextListInput, type ComponentTooltip, type ComponentTopBar, type ComponentTypography, type ComponentUserFeedbackSummary, type ComponentUserMenu, type SemanticBreakpoints, type SemanticColors, type SemanticGrid, type SemanticRadius, type SemanticShadow, type SemanticSizing, type SemanticSpacing, type SemanticTypography, baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
47
+ export { type BaseColors, type BaseRadius, type BaseSizing, type BaseSpacing, type BaseTypography, type ComponentAlertBanner, type ComponentAutocomplete, type ComponentAvatar, type ComponentBadge, type ComponentButton, type ComponentButtonGroup, type ComponentByline, type ComponentCheckbox, type ComponentDatePicker, type ComponentFavicon, type ComponentForm, type ComponentGrid, type ComponentIcon, type ComponentInlineMessage, type ComponentIntendedAudienceSignifier, type ComponentLayout, type ComponentLink, type ComponentMenu, type ComponentModal, type ComponentRadioGroup, type ComponentSelect, type ComponentSidebarStepperNavigation, type ComponentTable, type ComponentTabs, type ComponentTagTable, type ComponentTextArea, type ComponentTextInput, type ComponentTextListInput, type ComponentTooltip, type ComponentTopBar, type ComponentTypography, type ComponentUserFeedbackSummary, type ComponentUserMenu, type SemanticBreakpoints, type SemanticColors, type SemanticGrid, type SemanticRadius, type SemanticShadow, type SemanticSizing, type SemanticSpacing, type SemanticTypography, baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTable, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ import { componentIntendedAudienceSignifier } from "./styleD/build/typescript/co
14
14
  import { componentFavicon } from "./styleD/build/typescript/component/favicon.js";
15
15
  import { componentDatePicker } from "./styleD/build/typescript/component/datePicker.js";
16
16
  import { componentGrid } from "./styleD/build/typescript/component/grid.js";
17
+ import { componentTable } from "./styleD/build/typescript/component/table.js";
17
18
  import { componentForm } from "./styleD/build/typescript/component/form.js";
18
19
  import { componentInlineMessage } from "./styleD/build/typescript/component/inlineMessage.js";
19
20
  import { componentMenu } from "./styleD/build/typescript/component/menu.js";
@@ -43,4 +44,4 @@ import { semanticSizing } from "./styleD/build/typescript/semantic/sizing.js";
43
44
  import { semanticShadow } from "./styleD/build/typescript/semantic/shadow.js";
44
45
  import { semanticRadius } from "./styleD/build/typescript/semantic/radius.js";
45
46
  import { semanticSpacing } from "./styleD/build/typescript/semantic/spacing.js";
46
- export { baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
47
+ export { baseColors, baseRadius, baseSizing, baseSpacing, baseTypography, componentAlertBanner, componentAutocomplete, componentAvatar, componentBadge, componentButton, componentButtonGroup, componentByline, componentCheckbox, componentDatePicker, componentFavicon, componentForm, componentGrid, componentIcon, componentInlineMessage, componentIntendedAudienceSignifier, componentLayout, componentLink, componentMenu, componentModal, componentRadioGroup, componentSelect, componentSidebarStepperNavigation, componentTable, componentTabs, componentTagTable, componentTextArea, componentTextInput, componentTextListInput, componentTooltip, componentTopBar, componentTypography, componentUserFeedbackSummary, componentUserMenu, semanticBreakpoints, semanticColors, semanticGrid, semanticRadius, semanticShadow, semanticSizing, semanticSpacing, semanticTypography };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */
4
+
5
+ :root {
6
+ --component-table-table-width: 100%;
7
+ --component-table-table-color: #000000;
8
+ --component-table-table-background-color: #ffffff;
9
+ --component-table-table-border: 0.0625rem solid #cccccc;
10
+ --component-table-table-border-radius: 0.25rem;
11
+ --component-table-header-background-color: #ededed;
12
+ --component-table-header-border: 0.0625rem solid #cccccc;
13
+ --component-table-row-background-color: #ffffff;
14
+ --component-table-row-hover-background-color: #f6f6f6;
15
+ --component-table-row-border: 0.0625rem solid #cccccc;
16
+ --component-table-row-focus-visible-outline: 0.125rem solid #0072a9;
17
+ --component-table-row-focus-visible-outline-offset: -0.0625rem;
18
+ --component-table-cell-padding-block: 0.5rem;
19
+ --component-table-cell-padding-inline: 0.75rem;
20
+ --component-table-cell-typography-font: normal 460 0.875rem/1.3 'Open Sans';
21
+ --component-table-cell-typography-letter-spacing: 0rem;
22
+ --component-table-cell-typography-font-width: 95;
23
+ --component-table-column-header-typography-font: normal 700 0.75rem/1.15
24
+ 'Open Sans';
25
+ --component-table-column-header-typography-letter-spacing: 0rem;
26
+ --component-table-column-header-typography-font-width: 95;
27
+ --component-table-compact-label-color: #545454;
28
+ --component-table-compact-label-gap: 0.25rem;
29
+ --component-table-compact-label-typography-font: normal 460 0.75rem/1.3
30
+ 'Open Sans';
31
+ --component-table-compact-label-typography-letter-spacing: 0rem;
32
+ --component-table-compact-label-typography-font-width: 95;
33
+ }
@@ -0,0 +1,51 @@
1
+ //#region src/styleD/build/typescript/component/table.ts
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ const componentTable = {
6
+ table: {
7
+ width: "100%",
8
+ color: "#000000",
9
+ backgroundColor: "#ffffff",
10
+ border: "0.0625rem solid #cccccc",
11
+ borderRadius: "0.25rem"
12
+ },
13
+ header: {
14
+ backgroundColor: "#ededed",
15
+ border: "0.0625rem solid #cccccc"
16
+ },
17
+ row: {
18
+ backgroundColor: "#ffffff",
19
+ hoverBackgroundColor: "#f6f6f6",
20
+ border: "0.0625rem solid #cccccc",
21
+ focusVisible: {
22
+ outline: "0.125rem solid #0072a9",
23
+ outlineOffset: "-0.0625rem"
24
+ }
25
+ },
26
+ cell: {
27
+ paddingBlock: "0.5rem",
28
+ paddingInline: "0.75rem",
29
+ typography: {
30
+ font: "normal 460 0.875rem/1.3 Open Sans",
31
+ letterSpacing: "0rem",
32
+ fontWidth: 95
33
+ }
34
+ },
35
+ columnHeader: { typography: {
36
+ font: "normal 700 0.75rem/1.15 Open Sans",
37
+ letterSpacing: "0rem",
38
+ fontWidth: 95
39
+ } },
40
+ compactLabel: {
41
+ color: "#545454",
42
+ gap: "0.25rem",
43
+ typography: {
44
+ font: "normal 460 0.75rem/1.3 Open Sans",
45
+ letterSpacing: "0rem",
46
+ fontWidth: 95
47
+ }
48
+ }
49
+ };
50
+ //#endregion
51
+ exports.componentTable = componentTable;
@@ -0,0 +1,54 @@
1
+ //#region src/styleD/build/typescript/component/table.d.ts
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ declare const componentTable: {
6
+ table: {
7
+ width: string;
8
+ color: string;
9
+ backgroundColor: string;
10
+ border: string;
11
+ borderRadius: string;
12
+ };
13
+ header: {
14
+ backgroundColor: string;
15
+ border: string;
16
+ };
17
+ row: {
18
+ backgroundColor: string;
19
+ hoverBackgroundColor: string;
20
+ border: string;
21
+ focusVisible: {
22
+ outline: string;
23
+ outlineOffset: string;
24
+ };
25
+ };
26
+ cell: {
27
+ paddingBlock: string;
28
+ paddingInline: string;
29
+ typography: {
30
+ font: string;
31
+ letterSpacing: string;
32
+ fontWidth: number;
33
+ };
34
+ };
35
+ columnHeader: {
36
+ typography: {
37
+ font: string;
38
+ letterSpacing: string;
39
+ fontWidth: number;
40
+ };
41
+ };
42
+ compactLabel: {
43
+ color: string;
44
+ gap: string;
45
+ typography: {
46
+ font: string;
47
+ letterSpacing: string;
48
+ fontWidth: number;
49
+ };
50
+ };
51
+ };
52
+ type ComponentTable = typeof componentTable;
53
+ //#endregion
54
+ export { ComponentTable, componentTable };
@@ -0,0 +1,54 @@
1
+ //#region src/styleD/build/typescript/component/table.d.ts
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ declare const componentTable: {
6
+ table: {
7
+ width: string;
8
+ color: string;
9
+ backgroundColor: string;
10
+ border: string;
11
+ borderRadius: string;
12
+ };
13
+ header: {
14
+ backgroundColor: string;
15
+ border: string;
16
+ };
17
+ row: {
18
+ backgroundColor: string;
19
+ hoverBackgroundColor: string;
20
+ border: string;
21
+ focusVisible: {
22
+ outline: string;
23
+ outlineOffset: string;
24
+ };
25
+ };
26
+ cell: {
27
+ paddingBlock: string;
28
+ paddingInline: string;
29
+ typography: {
30
+ font: string;
31
+ letterSpacing: string;
32
+ fontWidth: number;
33
+ };
34
+ };
35
+ columnHeader: {
36
+ typography: {
37
+ font: string;
38
+ letterSpacing: string;
39
+ fontWidth: number;
40
+ };
41
+ };
42
+ compactLabel: {
43
+ color: string;
44
+ gap: string;
45
+ typography: {
46
+ font: string;
47
+ letterSpacing: string;
48
+ fontWidth: number;
49
+ };
50
+ };
51
+ };
52
+ type ComponentTable = typeof componentTable;
53
+ //#endregion
54
+ export { ComponentTable, componentTable };
@@ -0,0 +1,51 @@
1
+ //#region src/styleD/build/typescript/component/table.ts
2
+ /**
3
+ * Do not edit directly, this file was auto-generated.
4
+ */
5
+ const componentTable = {
6
+ table: {
7
+ width: "100%",
8
+ color: "#000000",
9
+ backgroundColor: "#ffffff",
10
+ border: "0.0625rem solid #cccccc",
11
+ borderRadius: "0.25rem"
12
+ },
13
+ header: {
14
+ backgroundColor: "#ededed",
15
+ border: "0.0625rem solid #cccccc"
16
+ },
17
+ row: {
18
+ backgroundColor: "#ffffff",
19
+ hoverBackgroundColor: "#f6f6f6",
20
+ border: "0.0625rem solid #cccccc",
21
+ focusVisible: {
22
+ outline: "0.125rem solid #0072a9",
23
+ outlineOffset: "-0.0625rem"
24
+ }
25
+ },
26
+ cell: {
27
+ paddingBlock: "0.5rem",
28
+ paddingInline: "0.75rem",
29
+ typography: {
30
+ font: "normal 460 0.875rem/1.3 Open Sans",
31
+ letterSpacing: "0rem",
32
+ fontWidth: 95
33
+ }
34
+ },
35
+ columnHeader: { typography: {
36
+ font: "normal 700 0.75rem/1.15 Open Sans",
37
+ letterSpacing: "0rem",
38
+ fontWidth: 95
39
+ } },
40
+ compactLabel: {
41
+ color: "#545454",
42
+ gap: "0.25rem",
43
+ typography: {
44
+ font: "normal 460 0.75rem/1.3 Open Sans",
45
+ letterSpacing: "0rem",
46
+ fontWidth: 95
47
+ }
48
+ }
49
+ };
50
+ //#endregion
51
+ export { componentTable };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardian/stand",
3
- "version": "0.0.70",
3
+ "version": "0.0.71",
4
4
  "repository": {
5
5
  "url": "https://github.com/guardian/stand"
6
6
  },
@@ -257,6 +257,16 @@
257
257
  "default": "./dist/Grid.cjs"
258
258
  }
259
259
  },
260
+ "./Table": {
261
+ "import": {
262
+ "types": "./dist/Table.d.ts",
263
+ "default": "./dist/Table.js"
264
+ },
265
+ "require": {
266
+ "types": "./dist/Table.d.cts",
267
+ "default": "./dist/Table.cjs"
268
+ }
269
+ },
260
270
  "./Byline": {
261
271
  "import": {
262
272
  "types": "./dist/Byline.d.ts",
@@ -440,6 +450,7 @@
440
450
  "./component/intendedAudienceSignifier.css": "./dist/styleD/build/css/component/intendedAudienceSignifier.css",
441
451
  "./component/link.css": "./dist/styleD/build/css/component/link.css",
442
452
  "./component/grid.css": "./dist/styleD/build/css/component/grid.css",
453
+ "./component/table.css": "./dist/styleD/build/css/component/table.css",
443
454
  "./component/layout.css": "./dist/styleD/build/css/component/layout.css",
444
455
  "./component/modal.css": "./dist/styleD/build/css/component/modal.css",
445
456
  "./component/tabs.css": "./dist/styleD/build/css/component/tabs.css",
@@ -546,6 +557,9 @@
546
557
  "Grid": [
547
558
  "./dist/Grid.d.ts"
548
559
  ],
560
+ "Table": [
561
+ "./dist/Table.d.ts"
562
+ ],
549
563
  "Layout": [
550
564
  "./dist/Layout.d.ts"
551
565
  ],