@sproutsocial/seeds-react-table 1.0.3 → 1.0.5

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 (93) hide show
  1. package/.turbo/turbo-build.log +51 -35
  2. package/CHANGELOG.md +152 -0
  3. package/dist/Table-BzLSa3jk.d.ts +27 -0
  4. package/dist/Table-C6yuMYZA.d.mts +27 -0
  5. package/dist/{TableTypes-Dg7QrcGt.d.ts → TableTypes-DIUHC_FW.d.ts} +1 -1
  6. package/dist/{TableTypes-jS0O3bwQ.d.mts → TableTypes-i1Uir0xI.d.mts} +1 -1
  7. package/dist/esm/chunk-F73BV5I2.js +100 -0
  8. package/dist/esm/chunk-F73BV5I2.js.map +1 -0
  9. package/dist/esm/{chunk-SMHAMHIP.js → chunk-T7WTUUPA.js} +7 -7
  10. package/dist/esm/chunk-T7WTUUPA.js.map +1 -0
  11. package/dist/esm/{chunk-XJMS6762.js → chunk-WGM7UCXV.js} +6 -6
  12. package/dist/esm/chunk-WGM7UCXV.js.map +1 -0
  13. package/dist/esm/index.js +7 -97
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/{tableCell.js → v1/TableCell/index.js} +2 -2
  16. package/dist/esm/{tableHeaderCell.js → v1/TableHeaderCell/index.js} +2 -2
  17. package/dist/esm/{tableRowAccordion.js → v1/TableRowAccordion/index.js} +7 -7
  18. package/dist/esm/v1/TableRowAccordion/index.js.map +1 -0
  19. package/dist/esm/v1/index.js +13 -0
  20. package/dist/esm/v1/index.js.map +1 -0
  21. package/dist/esm/v2/index.js +138 -0
  22. package/dist/esm/v2/index.js.map +1 -0
  23. package/dist/index.d.mts +7 -26
  24. package/dist/index.d.ts +7 -26
  25. package/dist/index.js +20 -20
  26. package/dist/index.js.map +1 -1
  27. package/dist/{tableCell.d.ts → v1/TableCell/index.d.mts} +2 -2
  28. package/dist/{tableCell.d.mts → v1/TableCell/index.d.ts} +2 -2
  29. package/dist/{tableCell.js → v1/TableCell/index.js} +7 -7
  30. package/dist/v1/TableCell/index.js.map +1 -0
  31. package/dist/{tableHeaderCell.d.ts → v1/TableHeaderCell/index.d.mts} +3 -3
  32. package/dist/{tableHeaderCell.d.mts → v1/TableHeaderCell/index.d.ts} +3 -3
  33. package/dist/{tableHeaderCell.js → v1/TableHeaderCell/index.js} +8 -8
  34. package/dist/v1/TableHeaderCell/index.js.map +1 -0
  35. package/dist/{tableRowAccordion.d.mts → v1/TableRowAccordion/index.d.mts} +3 -3
  36. package/dist/{tableRowAccordion.d.ts → v1/TableRowAccordion/index.d.ts} +3 -3
  37. package/dist/{tableRowAccordion.js → v1/TableRowAccordion/index.js} +12 -12
  38. package/dist/v1/TableRowAccordion/index.js.map +1 -0
  39. package/dist/v1/index.d.mts +13 -0
  40. package/dist/v1/index.d.ts +13 -0
  41. package/dist/v1/index.js +323 -0
  42. package/dist/v1/index.js.map +1 -0
  43. package/dist/v2/index.d.mts +42 -0
  44. package/dist/v2/index.d.ts +42 -0
  45. package/dist/v2/index.js +189 -0
  46. package/dist/v2/index.js.map +1 -0
  47. package/package.json +24 -13
  48. package/src/index.ts +3 -2
  49. package/src/v1/index.ts +13 -0
  50. package/src/v2/TableV2.stories.tsx +242 -0
  51. package/src/v2/TableV2.tsx +91 -0
  52. package/src/v2/TableV2Types.ts +12 -0
  53. package/src/v2/__tests__/TableV2.typetest.tsx +109 -0
  54. package/src/v2/__tests__/table-v2.test.tsx +374 -0
  55. package/src/v2/index.ts +20 -0
  56. package/src/v2/styles.ts +82 -0
  57. package/tsup.config.ts +8 -6
  58. package/dist/esm/chunk-SMHAMHIP.js.map +0 -1
  59. package/dist/esm/chunk-XJMS6762.js.map +0 -1
  60. package/dist/esm/tableRowAccordion.js.map +0 -1
  61. package/dist/tableCell.js.map +0 -1
  62. package/dist/tableHeaderCell.js.map +0 -1
  63. package/dist/tableRowAccordion.js.map +0 -1
  64. /package/dist/esm/{tableCell.js.map → v1/TableCell/index.js.map} +0 -0
  65. /package/dist/esm/{tableHeaderCell.js.map → v1/TableHeaderCell/index.js.map} +0 -0
  66. /package/src/{Table.stories.tsx → v1/Table.stories.tsx} +0 -0
  67. /package/src/{Table.tsx → v1/Table.tsx} +0 -0
  68. /package/src/{TableCell → v1/TableCell}/TableCell.stories.tsx +0 -0
  69. /package/src/{TableCell → v1/TableCell}/TableCell.tsx +0 -0
  70. /package/src/{TableCell → v1/TableCell}/TableCellTypes.ts +0 -0
  71. /package/src/{TableCell → v1/TableCell}/__tests__/TabelCell.test.tsx +0 -0
  72. /package/src/{TableCell → v1/TableCell}/__tests__/TableCell.typetest.tsx +0 -0
  73. /package/src/{TableCell → v1/TableCell}/index.ts +0 -0
  74. /package/src/{TableCell → v1/TableCell}/styles.ts +0 -0
  75. /package/src/{TableHeaderCell → v1/TableHeaderCell}/TableHeaderCell.stories.tsx +0 -0
  76. /package/src/{TableHeaderCell → v1/TableHeaderCell}/TableHeaderCell.tsx +0 -0
  77. /package/src/{TableHeaderCell → v1/TableHeaderCell}/TableHeaderCellTypes.ts +0 -0
  78. /package/src/{TableHeaderCell → v1/TableHeaderCell}/__tests__/TableHeaderCell.test.tsx +0 -0
  79. /package/src/{TableHeaderCell → v1/TableHeaderCell}/__tests__/TableHeaderCell.typetest.tsx +0 -0
  80. /package/src/{TableHeaderCell → v1/TableHeaderCell}/constants.ts +0 -0
  81. /package/src/{TableHeaderCell → v1/TableHeaderCell}/index.ts +0 -0
  82. /package/src/{TableHeaderCell → v1/TableHeaderCell}/styles.ts +0 -0
  83. /package/src/{TableRowAccordion → v1/TableRowAccordion}/TableRowAccordion.stories.tsx +0 -0
  84. /package/src/{TableRowAccordion → v1/TableRowAccordion}/TableRowAccordion.tsx +0 -0
  85. /package/src/{TableRowAccordion → v1/TableRowAccordion}/TableRowAccordionTypes.ts +0 -0
  86. /package/src/{TableRowAccordion → v1/TableRowAccordion}/__tests__/TableRowAccordion.test.tsx +0 -0
  87. /package/src/{TableRowAccordion → v1/TableRowAccordion}/__tests__/TableRowAccordion.typetest.tsx +0 -0
  88. /package/src/{TableRowAccordion → v1/TableRowAccordion}/index.ts +0 -0
  89. /package/src/{TableRowAccordion → v1/TableRowAccordion}/styles.ts +0 -0
  90. /package/src/{TableTypes.ts → v1/TableTypes.ts} +0 -0
  91. /package/src/{__tests__ → v1/__tests__}/Table.test.tsx +0 -0
  92. /package/src/{__tests__ → v1/__tests__}/Table.typetest.tsx +0 -0
  93. /package/src/{styles.ts → v1/styles.ts} +0 -0
@@ -0,0 +1,374 @@
1
+ import React from "react";
2
+ import { render, screen } from "@sproutsocial/seeds-react-testing-library";
3
+ import TableV2, {
4
+ TableWrapper,
5
+ Table,
6
+ TableRoot,
7
+ TableCaption,
8
+ TableHeader,
9
+ TableBody,
10
+ TableRow,
11
+ TableHeaderCell,
12
+ TableCell,
13
+ } from "../TableV2";
14
+
15
+ // Mock ResizeObserver for scrolling functionality
16
+ global.ResizeObserver = jest.fn().mockImplementation(() => ({
17
+ observe: jest.fn(),
18
+ unobserve: jest.fn(),
19
+ disconnect: jest.fn(),
20
+ }));
21
+
22
+ describe("TableV2", () => {
23
+ const mockColumns = ["Name", "Age", "Occupation"];
24
+ const mockData = [
25
+ ["John Doe", "30", "Engineer"],
26
+ ["Jane Smith", "25", "Designer"],
27
+ ["Bob Johnson", "35", "Manager"],
28
+ ];
29
+
30
+ beforeEach(() => {
31
+ jest.clearAllMocks();
32
+ });
33
+
34
+ describe("Basic Rendering", () => {
35
+ it("renders table with columns and data", () => {
36
+ render(
37
+ <TableV2 caption="User Data" columns={mockColumns} data={mockData} />
38
+ );
39
+
40
+ expect(screen.getByRole("table")).toBeInTheDocument();
41
+ expect(screen.getByText("User Data")).toBeInTheDocument();
42
+ });
43
+
44
+ it("renders all column headers", () => {
45
+ render(
46
+ <TableV2 caption="User Data" columns={mockColumns} data={mockData} />
47
+ );
48
+
49
+ expect(
50
+ screen.getByRole("columnheader", { name: "Name" })
51
+ ).toBeInTheDocument();
52
+ expect(
53
+ screen.getByRole("columnheader", { name: "Age" })
54
+ ).toBeInTheDocument();
55
+ expect(
56
+ screen.getByRole("columnheader", { name: "Occupation" })
57
+ ).toBeInTheDocument();
58
+ });
59
+
60
+ it("renders all data cells", () => {
61
+ render(
62
+ <TableV2 caption="User Data" columns={mockColumns} data={mockData} />
63
+ );
64
+
65
+ // Check first row
66
+ expect(screen.getByText("John Doe")).toBeInTheDocument();
67
+ expect(screen.getByText("30")).toBeInTheDocument();
68
+ expect(screen.getByText("Engineer")).toBeInTheDocument();
69
+
70
+ // Check second row
71
+ expect(screen.getByText("Jane Smith")).toBeInTheDocument();
72
+ expect(screen.getByText("25")).toBeInTheDocument();
73
+ expect(screen.getByText("Designer")).toBeInTheDocument();
74
+
75
+ // Check third row
76
+ expect(screen.getByText("Bob Johnson")).toBeInTheDocument();
77
+ expect(screen.getByText("35")).toBeInTheDocument();
78
+ expect(screen.getByText("Manager")).toBeInTheDocument();
79
+ });
80
+
81
+ it("renders correct number of rows", () => {
82
+ render(
83
+ <TableV2 caption="User Data" columns={mockColumns} data={mockData} />
84
+ );
85
+
86
+ const rows = screen.getAllByRole("row");
87
+ // 1 header row + 3 data rows
88
+ expect(rows).toHaveLength(4);
89
+ });
90
+
91
+ it("renders empty table with no data", () => {
92
+ render(<TableV2 caption="Empty Table" columns={mockColumns} data={[]} />);
93
+
94
+ expect(screen.getByRole("table")).toBeInTheDocument();
95
+ expect(screen.getByText("Empty Table")).toBeInTheDocument();
96
+
97
+ const rows = screen.getAllByRole("row");
98
+ // Only 1 header row
99
+ expect(rows).toHaveLength(1);
100
+ });
101
+ });
102
+
103
+ describe("Caption Display", () => {
104
+ it("displays caption by default", () => {
105
+ render(
106
+ <TableV2
107
+ caption="Visible Caption"
108
+ columns={mockColumns}
109
+ data={mockData}
110
+ />
111
+ );
112
+
113
+ const caption = screen.getByText("Visible Caption");
114
+ expect(caption).toBeInTheDocument();
115
+ expect(caption).toBeVisible();
116
+ });
117
+
118
+ it("hides caption when displayCaption is false", () => {
119
+ render(
120
+ <TableV2
121
+ caption="Hidden Caption"
122
+ displayCaption={false}
123
+ columns={mockColumns}
124
+ data={mockData}
125
+ />
126
+ );
127
+
128
+ const caption = screen.getByText("Hidden Caption");
129
+ expect(caption).toBeInTheDocument();
130
+ // Caption exists for accessibility but is visually hidden
131
+ });
132
+
133
+ it("shows caption when displayCaption is explicitly true", () => {
134
+ render(
135
+ <TableV2
136
+ caption="Explicit Caption"
137
+ displayCaption={true}
138
+ columns={mockColumns}
139
+ data={mockData}
140
+ />
141
+ );
142
+
143
+ const caption = screen.getByText("Explicit Caption");
144
+ expect(caption).toBeInTheDocument();
145
+ expect(caption).toBeVisible();
146
+ });
147
+ });
148
+
149
+ describe("JSX Elements", () => {
150
+ it("renders JSX elements in column headers", () => {
151
+ const jsxColumns = [
152
+ <strong key="name" data-testid="bold-header">
153
+ Name
154
+ </strong>,
155
+ "Age",
156
+ "Occupation",
157
+ ];
158
+
159
+ render(
160
+ <TableV2 caption="JSX Headers" columns={jsxColumns} data={mockData} />
161
+ );
162
+
163
+ expect(screen.getByTestId("bold-header")).toBeInTheDocument();
164
+ expect(screen.getByText("Name")).toBeInTheDocument();
165
+ });
166
+
167
+ it("renders JSX elements in data cells", () => {
168
+ const jsxData = [
169
+ [
170
+ <strong key="john" data-testid="bold-name">
171
+ John Doe
172
+ </strong>,
173
+ "30",
174
+ "Engineer",
175
+ ],
176
+ ];
177
+
178
+ render(
179
+ <TableV2 caption="JSX Data" columns={mockColumns} data={jsxData} />
180
+ );
181
+
182
+ expect(screen.getByTestId("bold-name")).toBeInTheDocument();
183
+ expect(screen.getByText("John Doe")).toBeInTheDocument();
184
+ });
185
+
186
+ it("handles mixed JSX and string content", () => {
187
+ const mixedColumns = [
188
+ <span key="col1" data-testid="jsx-column">
189
+ Name
190
+ </span>,
191
+ "Age",
192
+ ];
193
+ const mixedData = [
194
+ [
195
+ <strong key="cell1" data-testid="jsx-cell">
196
+ John
197
+ </strong>,
198
+ "30",
199
+ ],
200
+ ];
201
+
202
+ render(
203
+ <TableV2
204
+ caption="Mixed Content"
205
+ columns={mixedColumns}
206
+ data={mixedData}
207
+ />
208
+ );
209
+
210
+ expect(screen.getByTestId("jsx-column")).toBeInTheDocument();
211
+ expect(screen.getByTestId("jsx-cell")).toBeInTheDocument();
212
+ expect(screen.getByText("Age")).toBeInTheDocument();
213
+ expect(screen.getByText("30")).toBeInTheDocument();
214
+ });
215
+ });
216
+
217
+ describe("Accessibility", () => {
218
+ it("renders with correct table role", () => {
219
+ render(
220
+ <TableV2
221
+ caption="Accessible Table"
222
+ columns={mockColumns}
223
+ data={mockData}
224
+ />
225
+ );
226
+
227
+ expect(screen.getByRole("table")).toBeInTheDocument();
228
+ });
229
+
230
+ it("renders caption for screen readers", () => {
231
+ render(
232
+ <TableV2
233
+ caption="Screen Reader Caption"
234
+ displayCaption={false}
235
+ columns={mockColumns}
236
+ data={mockData}
237
+ />
238
+ );
239
+
240
+ // Caption should exist even when hidden
241
+ expect(screen.getByText("Screen Reader Caption")).toBeInTheDocument();
242
+ });
243
+
244
+ it("renders column headers with correct scope", () => {
245
+ render(<TableV2 caption="Table" columns={mockColumns} data={mockData} />);
246
+
247
+ const headers = screen.getAllByRole("columnheader");
248
+ headers.forEach((header) => {
249
+ expect(header).toHaveAttribute("scope", "col");
250
+ });
251
+ });
252
+
253
+ it("renders container with region role", () => {
254
+ render(<TableV2 caption="Table" columns={mockColumns} data={mockData} />);
255
+
256
+ const region = screen.getByRole("region");
257
+ expect(region).toBeInTheDocument();
258
+ expect(region).toHaveAttribute("tabIndex", "0");
259
+ });
260
+ });
261
+
262
+ describe("Compound Components", () => {
263
+ it("exports TableWrapper component", () => {
264
+ expect(TableWrapper).toBeDefined();
265
+ });
266
+
267
+ it("exports Table component", () => {
268
+ expect(Table).toBeDefined();
269
+ });
270
+
271
+ it("exports TableCaption component", () => {
272
+ expect(TableCaption).toBeDefined();
273
+ });
274
+
275
+ it("exports TableHeader component", () => {
276
+ expect(TableHeader).toBeDefined();
277
+ });
278
+
279
+ it("exports TableBody component", () => {
280
+ expect(TableBody).toBeDefined();
281
+ });
282
+
283
+ it("exports TableRow component", () => {
284
+ expect(TableRow).toBeDefined();
285
+ });
286
+
287
+ it("exports TableHeaderCell component", () => {
288
+ expect(TableHeaderCell).toBeDefined();
289
+ });
290
+
291
+ it("exports TableCell component", () => {
292
+ expect(TableCell).toBeDefined();
293
+ });
294
+
295
+ it("can use compound components to build custom table", () => {
296
+ render(
297
+ <TableWrapper>
298
+ <TableRoot>
299
+ <TableCaption isVisible={true}>Custom Table</TableCaption>
300
+ <TableHeader>
301
+ <TableRow>
302
+ <TableHeaderCell scope="col">Header</TableHeaderCell>
303
+ </TableRow>
304
+ </TableHeader>
305
+ <TableBody>
306
+ <TableRow>
307
+ <TableCell>Data</TableCell>
308
+ </TableRow>
309
+ </TableBody>
310
+ </TableRoot>
311
+ </TableWrapper>
312
+ );
313
+
314
+ expect(screen.getByText("Custom Table")).toBeInTheDocument();
315
+ expect(screen.getByText("Header")).toBeInTheDocument();
316
+ expect(screen.getByText("Data")).toBeInTheDocument();
317
+ });
318
+ });
319
+
320
+ describe("Edge Cases", () => {
321
+ it("handles single column", () => {
322
+ render(
323
+ <TableV2
324
+ caption="Single Column"
325
+ columns={["Name"]}
326
+ data={[["John"], ["Jane"]]}
327
+ />
328
+ );
329
+
330
+ expect(
331
+ screen.getByRole("columnheader", { name: "Name" })
332
+ ).toBeInTheDocument();
333
+ expect(screen.getByText("John")).toBeInTheDocument();
334
+ expect(screen.getByText("Jane")).toBeInTheDocument();
335
+ });
336
+
337
+ it("handles single row", () => {
338
+ render(
339
+ <TableV2
340
+ caption="Single Row"
341
+ columns={mockColumns}
342
+ data={[["John Doe", "30", "Engineer"]]}
343
+ />
344
+ );
345
+
346
+ expect(screen.getByText("John Doe")).toBeInTheDocument();
347
+ expect(screen.getByText("30")).toBeInTheDocument();
348
+ expect(screen.getByText("Engineer")).toBeInTheDocument();
349
+ });
350
+
351
+ it("handles large dataset", () => {
352
+ const largeData = Array.from({ length: 100 }, (_, i) => [
353
+ `Person ${i}`,
354
+ `${20 + i}`,
355
+ "Engineer",
356
+ ]);
357
+
358
+ render(
359
+ <TableV2
360
+ caption="Large Dataset"
361
+ columns={mockColumns}
362
+ data={largeData}
363
+ />
364
+ );
365
+
366
+ expect(screen.getByText("Person 0")).toBeInTheDocument();
367
+ expect(screen.getByText("Person 99")).toBeInTheDocument();
368
+
369
+ const rows = screen.getAllByRole("row");
370
+ // 1 header + 100 data rows
371
+ expect(rows).toHaveLength(101);
372
+ });
373
+ });
374
+ });
@@ -0,0 +1,20 @@
1
+ // V2 Table - Explicit flat exports for optimal tree shaking
2
+ export {
3
+ Table,
4
+ TableRoot,
5
+ TableWrapper,
6
+ TableCaption,
7
+ TableHeader,
8
+ TableBody,
9
+ TableRow,
10
+ TableHeaderCell,
11
+ TableCell,
12
+ useTableContainerId,
13
+ default as TableV2,
14
+ } from "./TableV2";
15
+
16
+ // Explicit type exports
17
+ export type { TableV2Props, ColumnHeader, RowData } from "./TableV2Types";
18
+
19
+ // Explicit style exports
20
+ export * from "./styles";
@@ -0,0 +1,82 @@
1
+ import styled, { css } from "styled-components";
2
+ import {
3
+ COMMON,
4
+ LAYOUT,
5
+ TYPOGRAPHY,
6
+ } from "@sproutsocial/seeds-react-system-props";
7
+
8
+ export const StyledTableV2Container = styled.div`
9
+ ${COMMON}
10
+ ${LAYOUT}
11
+ overflow-x: auto;
12
+ max-width: 100%;
13
+ `;
14
+
15
+ export const StyledTableV2 = styled.table`
16
+ width: 100%;
17
+ border-collapse: collapse;
18
+ color: ${(props) => props.theme.colors.text.body};
19
+ font-family: ${(props) => props.theme.fontFamily};
20
+ `;
21
+
22
+ StyledTableV2.displayName = "TableV2.Table";
23
+
24
+ export const StyledCaption = styled.caption<{ isVisible: boolean }>`
25
+ ${TYPOGRAPHY}
26
+ text-align: left;
27
+ ${(props) => props.theme.typography[400]}
28
+ font-weight: ${(props) => props.theme.fontWeights.semibold};
29
+ padding: ${(props) => props.theme.space[300]};
30
+ margin-top: ${(props) => props.theme.space[200]};
31
+ ${({ isVisible }) =>
32
+ !isVisible &&
33
+ css`
34
+ position: absolute;
35
+ width: 1px;
36
+ height: 1px;
37
+ padding: 0;
38
+ margin: -1px;
39
+ overflow: hidden;
40
+ clip: rect(0, 0, 0, 0);
41
+ border: 0;
42
+ `}
43
+ `;
44
+
45
+ StyledCaption.displayName = "TableV2.Caption";
46
+
47
+ export const StyledTableHeader = styled.thead`
48
+ vertical-align: bottom;
49
+ border-bottom: 1px solid
50
+ ${(props) => props.theme.colors.container.border.base};
51
+ `;
52
+
53
+ StyledTableHeader.displayName = "TableV2.TableHeader";
54
+
55
+ export const StyledTableBody = styled.tbody``;
56
+
57
+ StyledTableBody.displayName = "TableV2.TableBody";
58
+
59
+ export const StyledTableRow = styled.tr`
60
+ border-bottom: 1px solid
61
+ ${(props) => props.theme.colors.container.border.base};
62
+ `;
63
+
64
+ StyledTableRow.displayName = "TableV2.TableRow";
65
+
66
+ export const StyledTableHeaderCell = styled.th`
67
+ ${(props) => props.theme.typography[100]}
68
+ font-weight: ${(props) => props.theme.fontWeights.semibold};
69
+ padding: ${(props) => props.theme.space[300]};
70
+ text-align: left;
71
+ `;
72
+
73
+ StyledTableHeaderCell.displayName = "TableV2.TableHeaderCell";
74
+
75
+ export const StyledTableCell = styled.td`
76
+ ${(props) => props.theme.typography[200]}
77
+ font-weight: ${(props) => props.theme.fontWeights.normal};
78
+ padding: ${(props) => props.theme.space[300]};
79
+ text-align: left;
80
+ `;
81
+
82
+ StyledTableCell.displayName = "TableV2.TableCell";
package/tsup.config.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { defineConfig } from "tsup";
2
2
 
3
3
  export default defineConfig((options) => ({
4
- entry: {
5
- index: "src/index.ts",
6
- tableCell: "src/TableCell/index.ts",
7
- tableHeaderCell: "src/TableHeaderCell/index.ts",
8
- tableRowAccordion: "src/TableRowAccordion/index.ts",
9
- },
4
+ entry: [
5
+ "src/index.ts",
6
+ "src/v1/index.ts",
7
+ "src/v2/index.ts",
8
+ "src/v1/TableCell/index.ts",
9
+ "src/v1/TableHeaderCell/index.ts",
10
+ "src/v1/TableRowAccordion/index.ts",
11
+ ],
10
12
  format: ["cjs", "esm"],
11
13
  clean: true,
12
14
  legacyOutput: true,
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TableHeaderCell/TableHeaderCell.tsx","../../src/TableHeaderCell/styles.ts","../../src/TableHeaderCell/constants.ts","../../src/TableHeaderCell/TableHeaderCellTypes.ts","../../src/TableHeaderCell/index.ts"],"sourcesContent":["import * as React from \"react\";\nimport Icon, { type TypeIconName } from \"@sproutsocial/seeds-react-icon\";\nimport Container, { SortIcon, UnstyledButton } from \"./styles\";\nimport { SORT_DIRECTIONS } from \"./constants\";\nimport type { TypeTableHeaderCellProps } from \"./TableHeaderCellTypes\";\n\nexport class TableHeaderCell extends React.Component<TypeTableHeaderCellProps> {\n static displayName: string;\n\n getSortIcon = (\n isSorted: boolean,\n ariaSortDirection: \"ascending\" | \"descending\" | undefined\n ) => {\n const { sortDirection } = this.props;\n let iconName: TypeIconName = \"caret-up-down-outline\";\n\n if (isSorted && sortDirection === SORT_DIRECTIONS.ASC) {\n iconName = \"caret-up-solid\";\n } else if (isSorted && sortDirection === SORT_DIRECTIONS.DESC) {\n iconName = \"caret-down-solid\";\n }\n\n return (\n <SortIcon>\n <Icon size=\"mini\" name={iconName} aria-label={ariaSortDirection} />\n </SortIcon>\n );\n };\n\n // @ts-note: If this is set to an HTMLButtonElement event, then the `Container` freaks out\n handleClick = (\n e: React.MouseEvent<HTMLTableCellElement | HTMLButtonElement>\n ) => {\n const { onClick, onSort, isSortable, id } = this.props;\n\n if (onClick || isSortable) {\n e.preventDefault();\n }\n\n if (onClick) {\n // @ts-note: Right now the `onClick` is incorrectly set to consume an HTMLButtonElement event\n onClick(e as unknown as React.MouseEvent<HTMLButtonElement>);\n return;\n }\n\n if (!isSortable || !onSort) return;\n onSort(id);\n };\n\n override render() {\n const {\n id,\n content,\n colSpan,\n width,\n align,\n isSortable,\n sortId,\n sortDirection,\n children,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n shouldTruncate,\n onSort,\n onClick,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n color,\n ...rest\n } = this.props;\n\n const isSorted = sortId === id;\n const ariaSort = isSorted\n ? sortDirection === SORT_DIRECTIONS.ASC\n ? \"ascending\"\n : \"descending\"\n : undefined;\n\n const buttonProps = isSortable\n ? {\n role: \"button\",\n onClick: this.handleClick,\n }\n : {};\n\n const scope = colSpan ? \"colgroup\" : \"col\";\n\n return (\n <Container\n {...rest}\n key={id}\n alignment={align || \"left\"}\n sortable={isSortable}\n colSpan={colSpan}\n scope={scope}\n width={width}\n onClick={this.handleClick}\n data-tableheadercell-sortable={isSortable}\n data-qa-table-header-cell=\"\"\n data-qa-table-header-cell-sortdirection={sortDirection}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n aria-sort={ariaSort}\n >\n {isSortable ? (\n <UnstyledButton {...buttonProps}>\n <div aria-live=\"polite\" role=\"status\">\n {children || content}\n {!children && this.getSortIcon(id === sortId, ariaSort)}\n </div>\n </UnstyledButton>\n ) : (\n children || content\n )}\n </Container>\n );\n }\n}\n\nexport default TableHeaderCell;\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableHeaderCellProps } from \"./TableHeaderCellTypes\";\n\nconst Container = styled.th<{\n sortable?: boolean;\n alignment: TypeTableHeaderCellProps[\"align\"];\n width: TypeTableHeaderCellProps[\"width\"];\n}>`\n ${(props) => props.theme.typography[100]}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n padding: ${(props) => props.theme.space[300]};\n text-align: ${(props) => props.alignment};\n\n ${(props) =>\n props.sortable &&\n css`\n position: relative;\n cursor: pointer;\n `}\n\n ${COMMON}\n`;\n\nexport const SortIcon = styled.span`\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0;\n padding: 0 ${(props) => props.theme.space[200]};\n`;\n\nexport const UnstyledButton = styled.button`\n background: none;\n border: none;\n color: inherit;\n font: inherit;\n line-height: normal;\n overflow: visible;\n padding: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n cursor: pointer;\n`;\n\nexport default Container;\n","export const SORT_DIRECTIONS = {\n ASC: \"ASC\",\n DESC: \"DESC\",\n} as const;\n","import * as React from \"react\";\nimport type { TypeTableCellProps } from \"../TableCell/TableCellTypes\";\nimport { SORT_DIRECTIONS } from \"./constants\";\n\nexport type TypeEnumSortDirections = keyof typeof SORT_DIRECTIONS;\n\nexport interface TypeTableHeaderCellProps\n extends Omit<TypeTableCellProps, \"onClick\"> {\n /** Legacy Deteremines if a table column is sortable (optional) */\n isSortable?: boolean;\n\n /** Truncates text into a singular line with ellipsis (optional) */\n shouldTruncate?: boolean;\n\n /** Legacy: Callback for Sorting Table Columns (optional) */\n onSort?: (id: string) => void;\n\n /** Legacy: Controls which column is being sorted (optional) */\n sortId?: string;\n\n /** Legacy: Controls the current sort direction (optional) */\n sortDirection?: TypeEnumSortDirections;\n\n /** Callback for Click Events. If Included will override onSort prop */\n onClick?: (e: React.SyntheticEvent<HTMLButtonElement>) => void;\n}\n","import TableHeaderCell from \"./TableHeaderCell\";\n\nexport default TableHeaderCell;\nexport { TableHeaderCell };\nexport * from \"./TableHeaderCellTypes\";\nexport * from \"./constants\";\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,OAAO,UAAiC;;;ACDxC,OAAO,UAAU,WAAW;AAC5B,SAAS,cAAc;AAGvB,IAAM,YAAY,OAAO;AAAA,IAKrB,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,iBACzB,CAAC,UAAU,MAAM,MAAM,YAAY,QAAQ;AAAA,aAC/C,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,gBAC9B,CAAC,UAAU,MAAM,SAAS;AAAA;AAAA,IAEtC,CAAC,UACD,MAAM,YACN;AAAA;AAAA;AAAA,KAGC;AAAA;AAAA,IAED,MAAM;AAAA;AAGH,IAAM,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,eAKhB,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA;AAGzC,IAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAarC,IAAO,iBAAQ;;;AC7CR,IAAM,kBAAkB;AAAA,EAC7B,KAAK;AAAA,EACL,MAAM;AACR;;;AFqBQ,cAkFI,YAlFJ;AA8DF;AAhFC,IAAM,kBAAN,cAAoC,gBAAoC;AAAA,EAC7E,OAAO;AAAA,EAEP,cAAc,CACZ,UACA,sBACG;AACH,UAAM,EAAE,cAAc,IAAI,KAAK;AAC/B,QAAI,WAAyB;AAE7B,QAAI,YAAY,kBAAkB,gBAAgB,KAAK;AACrD,iBAAW;AAAA,IACb,WAAW,YAAY,kBAAkB,gBAAgB,MAAM;AAC7D,iBAAW;AAAA,IACb;AAEA,WACE,oBAAC,YACC,8BAAC,QAAK,MAAK,QAAO,MAAM,UAAU,cAAY,mBAAmB,GACnE;AAAA,EAEJ;AAAA;AAAA,EAGA,cAAc,CACZ,MACG;AACH,UAAM,EAAE,SAAS,QAAQ,YAAY,GAAG,IAAI,KAAK;AAEjD,QAAI,WAAW,YAAY;AACzB,QAAE,eAAe;AAAA,IACnB;AAEA,QAAI,SAAS;AAEX,cAAQ,CAAmD;AAC3D;AAAA,IACF;AAEA,QAAI,CAAC,cAAc,CAAC,OAAQ;AAC5B,WAAO,EAAE;AAAA,EACX;AAAA,EAES,SAAS;AAChB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,KAAK;AAET,UAAM,WAAW,WAAW;AAC5B,UAAM,WAAW,WACb,kBAAkB,gBAAgB,MAChC,cACA,eACF;AAEJ,UAAM,cAAc,aAChB;AAAA,MACE,MAAM;AAAA,MACN,SAAS,KAAK;AAAA,IAChB,IACA,CAAC;AAEL,UAAM,QAAQ,UAAU,aAAa;AAErC,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,SAAS;AAAA,QACpB,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,KAAK;AAAA,QACd,iCAA+B;AAAA,QAC/B,6BAA0B;AAAA,QAC1B,2CAAyC;AAAA,QAIzC;AAAA,QACA,aAAW;AAAA;AAAA,MAEV,aACC,oBAAC,kBAAgB,GAAG,aAClB,+BAAC,SAAI,aAAU,UAAS,MAAK,UAC1B;AAAA,oBAAY;AAAA,QACZ,CAAC,YAAY,KAAK,YAAY,OAAO,QAAQ,QAAQ;AAAA,SACxD,GACF,IAEA,YAAY;AAAA,IAEhB;AAAA,EAEJ;AACF;AAEA,IAAO,0BAAQ;;;AGvHf,OAAuB;;;ACEvB,IAAOA,2BAAQ;","names":["TableHeaderCell_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TableCell/TableCell.tsx","../../src/TableCell/styles.ts","../../src/TableCell/TableCellTypes.ts","../../src/TableCell/index.ts"],"sourcesContent":["import * as React from \"react\";\nimport Container from \"./styles\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\n/**\n * The table cell component is for rendering table cells and is meant to be used with the table component.\n */\nexport class TableCell extends React.Component<TypeTableCellProps> {\n static displayName: string;\n override render() {\n const {\n id,\n content,\n colSpan,\n width,\n align,\n scope,\n children,\n color,\n ...rest\n } = this.props;\n return (\n <Container\n {...rest}\n // If the `scope` property is passed we must render the element as a <th>\n as={scope ? \"th\" : \"td\"}\n scope={scope ? scope : undefined}\n alignment={align || \"left\"}\n key={id}\n colSpan={colSpan}\n width={width}\n data-qa-table-cell=\"\"\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n >\n {children || content}\n </Container>\n );\n }\n}\n\nexport default TableCell;\n","import styled from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\nconst Container = styled.td<{\n alignment: TypeTableCellProps[\"align\"];\n}>`\n ${(props) => props.theme.typography[200]}\n font-weight: ${(props) => props.theme.fontWeights.normal};\n padding: ${(props) => props.theme.space[300]};\n text-align: ${(props) => props.alignment};\n\n ${COMMON}\n`;\n\nexport default Container;\n","import * as React from \"react\";\nimport type { TypeSystemCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport interface TypeTableCellProps\n extends TypeSystemCommonProps,\n Omit<\n React.ComponentPropsWithoutRef<\"td\">,\n keyof TypeSystemCommonProps | \"content\"\n > {\n /** Table Cell Id */\n id: string;\n\n /** Content is deprecated. Please use children instead. Content to be render */\n content?: React.ReactNode;\n\n /** Controls the colSpan attribute (optional) */\n colSpan?: number;\n\n /** Controls the width attribute (optional) */\n width?: number;\n\n /** Controls the CSS text-align property (optional) */\n align?: \"left\" | \"right\" | \"center\" | \"justify\";\n\n /** Controls the scope attribute. If set, will change the element from a <td> to a <th>. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#scope (optional) */\n scope?: \"row\" | \"col\" | \"rowGroup\" | \"colGroup\";\n\n /** Children to be rendered */\n children?: React.ReactNode;\n}\n","import TableCell from \"./TableCell\";\n\nexport default TableCell;\nexport { TableCell };\nexport * from \"./TableCellTypes\";\n"],"mappings":";AAAA,YAAY,WAAW;;;ACAvB,OAAO,YAAY;AACnB,SAAS,cAAc;AAGvB,IAAM,YAAY,OAAO;AAAA,IAGrB,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,iBACzB,CAAC,UAAU,MAAM,MAAM,YAAY,MAAM;AAAA,aAC7C,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,gBAC9B,CAAC,UAAU,MAAM,SAAS;AAAA;AAAA,IAEtC,MAAM;AAAA;AAGV,IAAO,iBAAQ;;;ADOT;AAfC,IAAM,YAAN,cAA8B,gBAA8B;AAAA,EACjE,OAAO;AAAA,EACE,SAAS;AAChB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,KAAK;AACT,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QAEJ,IAAI,QAAQ,OAAO;AAAA,QACnB,OAAO,QAAQ,QAAQ;AAAA,QACvB,WAAW,SAAS;AAAA,QACpB,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,sBAAmB;AAAA,QAInB;AAAA;AAAA,MAEC,YAAY;AAAA,IACf;AAAA,EAEJ;AACF;AAEA,IAAO,oBAAQ;;;AE3Cf,OAAuB;;;ACEvB,IAAOA,qBAAQ;","names":["TableCell_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/TableRowAccordion/TableRowAccordion.tsx","../../src/TableRowAccordion/styles.ts","../../src/TableRowAccordion/TableRowAccordionTypes.ts","../../src/TableRowAccordion/index.ts"],"sourcesContent":["import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport TableCell from \"../TableCell\";\nimport Container, { Detail, Trigger } from \"./styles\";\nimport type { TypeTableRowAccordionProps } from \"./TableRowAccordionTypes\";\n\n/**\n * The table row accordion component allows for rendering a row of tabular data along with a addtional content to be rendered inside of an accordion drawer. This component is meant to be used with the table components rowRender mentod.\n */\nexport default class TableRowAccordion extends React.Component<TypeTableRowAccordionProps> {\n handleToggle: React.MouseEventHandler<HTMLTableRowElement> = (e) => {\n const { onToggle, id } = this.props;\n e.stopPropagation();\n\n if (onToggle) {\n onToggle(id);\n }\n };\n\n override render() {\n const {\n id,\n cells,\n detail,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onToggle,\n isExpanded,\n color,\n ...rest\n } = this.props;\n\n return (\n <Container\n {...rest}\n data-qa-table-row-accordion={isExpanded}\n key={id}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n >\n <tr data-tablerowaccordion-summary onClick={this.handleToggle}>\n {cells.map((td) => {\n return <TableCell {...td} key={td.id} />;\n })}\n <TableCell\n id=\"tableRowAccordion_trigger\"\n content={\n // TODO: This trigger needs an accessible label passed in via props\n <Trigger\n data-tablerowaccordion-trigger\n onClick={this.handleToggle}\n role=\"button\"\n >\n <Icon\n name={\n isExpanded ? \"chevron-up-outline\" : \"chevron-down-outline\"\n }\n aria-hidden\n />\n </Trigger>\n }\n />\n </tr>\n <Detail isExpanded={isExpanded} data-tablerowaccordion-detail>\n <TableCell\n id=\"tableRowAccordion_detail\"\n colSpan={100}\n content={detail}\n />\n </Detail>\n </Container>\n );\n }\n}\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\n\nconst Container = styled.tbody`\n border-bottom: 1px solid\n ${(props) => props.theme.colors.container.border.base};\n\n ${COMMON}\n`;\n\nexport const Detail = styled.tr<{ isExpanded: boolean }>`\n display: none;\n\n ${(props) =>\n props.isExpanded &&\n css`\n display: table-row;\n `}\n`;\n\nexport const Trigger = styled.div`\n cursor: pointer;\n`;\n\nexport default Container;\n","import * as React from \"react\";\nimport type { TypeSystemCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableRow } from \"../TableTypes\";\n\nexport interface TypeTableRowAccordionProps\n extends TypeTableRow,\n TypeSystemCommonProps,\n Omit<\n React.ComponentPropsWithoutRef<\"tbody\">,\n keyof TypeTableRow | keyof TypeSystemCommonProps\n > {\n /** Content to be rendered in accordion drawer */\n detail: React.ReactNode;\n\n /** Controls the display state of the accordion drawer */\n isExpanded: boolean;\n\n /** Callback for toggling the accordion drawer state */\n onToggle: (id: string) => void;\n}\n","import TableRowAccordion from \"./TableRowAccordion\";\n\nexport default TableRowAccordion;\nexport { TableRowAccordion };\nexport * from \"./TableRowAccordionTypes\";\n"],"mappings":";;;;;AAAA,YAAY,WAAW;AACvB,OAAO,UAAU;;;ACDjB,OAAO,UAAU,WAAW;AAC5B,SAAS,cAAc;AAEvB,IAAM,YAAY,OAAO;AAAA;AAAA,MAEnB,CAAC,UAAU,MAAM,MAAM,OAAO,UAAU,OAAO,IAAI;AAAA;AAAA,IAErD,MAAM;AAAA;AAGH,IAAM,SAAS,OAAO;AAAA;AAAA;AAAA,IAGzB,CAAC,UACD,MAAM,cACN;AAAA;AAAA,KAEC;AAAA;AAGE,IAAM,UAAU,OAAO;AAAA;AAAA;AAI9B,IAAO,iBAAQ;;;ADiBP,SAaQ,KAbR;AAEW;AAlCnB,IAAqB,oBAArB,cAAqD,gBAAsC;AAAA,EACzF,eAA6D,CAAC,MAAM;AAClE,UAAM,EAAE,UAAU,GAAG,IAAI,KAAK;AAC9B,MAAE,gBAAgB;AAElB,QAAI,UAAU;AACZ,eAAS,EAAE;AAAA,IACb;AAAA,EACF;AAAA,EAES,SAAS;AAChB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,KAAK;AAET,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,+BAA6B;AAAA,QAC7B,KAAK;AAAA,QAIL;AAAA;AAAA,MAEA,qBAAC,QAAG,kCAA8B,MAAC,SAAS,KAAK,cAC9C;AAAA,cAAM,IAAI,CAAC,OAAO;AACjB,iBAAO,8BAAC,qBAAW,GAAG,IAAI,KAAK,GAAG,IAAI;AAAA,QACxC,CAAC;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,IAAG;AAAA,YACH;AAAA;AAAA,cAEE;AAAA,gBAAC;AAAA;AAAA,kBACC,kCAA8B;AAAA,kBAC9B,SAAS,KAAK;AAAA,kBACd,MAAK;AAAA,kBAEL;AAAA,oBAAC;AAAA;AAAA,sBACC,MACE,aAAa,uBAAuB;AAAA,sBAEtC,eAAW;AAAA;AAAA,kBACb;AAAA;AAAA,cACF;AAAA;AAAA;AAAA,QAEJ;AAAA,SACF;AAAA,MACA,oBAAC,UAAO,YAAwB,iCAA6B,MAC3D;AAAA,QAAC;AAAA;AAAA,UACC,IAAG;AAAA,UACH,SAAS;AAAA,UACT,SAAS;AAAA;AAAA,MACX,GACF;AAAA,IACF;AAAA,EAEJ;AACF;;;AE1EA,OAAuB;;;ACEvB,IAAO,4BAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/TableCell/index.ts","../src/TableCell/TableCell.tsx","../src/TableCell/styles.ts","../src/TableCell/TableCellTypes.ts"],"sourcesContent":["import TableCell from \"./TableCell\";\n\nexport default TableCell;\nexport { TableCell };\nexport * from \"./TableCellTypes\";\n","import * as React from \"react\";\nimport Container from \"./styles\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\n/**\n * The table cell component is for rendering table cells and is meant to be used with the table component.\n */\nexport class TableCell extends React.Component<TypeTableCellProps> {\n static displayName: string;\n override render() {\n const {\n id,\n content,\n colSpan,\n width,\n align,\n scope,\n children,\n color,\n ...rest\n } = this.props;\n return (\n <Container\n {...rest}\n // If the `scope` property is passed we must render the element as a <th>\n as={scope ? \"th\" : \"td\"}\n scope={scope ? scope : undefined}\n alignment={align || \"left\"}\n key={id}\n colSpan={colSpan}\n width={width}\n data-qa-table-cell=\"\"\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n >\n {children || content}\n </Container>\n );\n }\n}\n\nexport default TableCell;\n","import styled from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\nconst Container = styled.td<{\n alignment: TypeTableCellProps[\"align\"];\n}>`\n ${(props) => props.theme.typography[200]}\n font-weight: ${(props) => props.theme.fontWeights.normal};\n padding: ${(props) => props.theme.space[300]};\n text-align: ${(props) => props.alignment};\n\n ${COMMON}\n`;\n\nexport default Container;\n","import * as React from \"react\";\nimport type { TypeSystemCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport interface TypeTableCellProps\n extends TypeSystemCommonProps,\n Omit<\n React.ComponentPropsWithoutRef<\"td\">,\n keyof TypeSystemCommonProps | \"content\"\n > {\n /** Table Cell Id */\n id: string;\n\n /** Content is deprecated. Please use children instead. Content to be render */\n content?: React.ReactNode;\n\n /** Controls the colSpan attribute (optional) */\n colSpan?: number;\n\n /** Controls the width attribute (optional) */\n width?: number;\n\n /** Controls the CSS text-align property (optional) */\n align?: \"left\" | \"right\" | \"center\" | \"justify\";\n\n /** Controls the scope attribute. If set, will change the element from a <td> to a <th>. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#scope (optional) */\n scope?: \"row\" | \"col\" | \"rowGroup\" | \"colGroup\";\n\n /** Children to be rendered */\n children?: React.ReactNode;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA;AAAA;;;ACAA,YAAuB;;;ACAvB,+BAAmB;AACnB,sCAAuB;AAGvB,IAAM,YAAY,yBAAAC,QAAO;AAAA,IAGrB,CAAC,UAAU,MAAM,MAAM,WAAW,GAAG,CAAC;AAAA,iBACzB,CAAC,UAAU,MAAM,MAAM,YAAY,MAAM;AAAA,aAC7C,CAAC,UAAU,MAAM,MAAM,MAAM,GAAG,CAAC;AAAA,gBAC9B,CAAC,UAAU,MAAM,SAAS;AAAA;AAAA,IAEtC,sCAAM;AAAA;AAGV,IAAO,iBAAQ;;;ADOT;AAfC,IAAM,YAAN,cAA8B,gBAA8B;AAAA,EACjE,OAAO;AAAA,EACE,SAAS;AAChB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,KAAK;AACT,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QAEJ,IAAI,QAAQ,OAAO;AAAA,QACnB,OAAO,QAAQ,QAAQ;AAAA,QACvB,WAAW,SAAS;AAAA,QACpB,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA,sBAAmB;AAAA,QAInB;AAAA;AAAA,MAEC,YAAY;AAAA,IACf;AAAA,EAEJ;AACF;AAEA,IAAO,oBAAQ;;;AE3Cf,IAAAC,SAAuB;;;AHEvB,IAAOC,qBAAQ;","names":["TableCell_default","styled","React","TableCell_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/TableHeaderCell/index.ts","../src/TableHeaderCell/TableHeaderCell.tsx","../src/TableHeaderCell/styles.ts","../src/TableHeaderCell/constants.ts","../src/TableHeaderCell/TableHeaderCellTypes.ts"],"sourcesContent":["import TableHeaderCell from \"./TableHeaderCell\";\n\nexport default TableHeaderCell;\nexport { TableHeaderCell };\nexport * from \"./TableHeaderCellTypes\";\nexport * from \"./constants\";\n","import * as React from \"react\";\nimport Icon, { type TypeIconName } from \"@sproutsocial/seeds-react-icon\";\nimport Container, { SortIcon, UnstyledButton } from \"./styles\";\nimport { SORT_DIRECTIONS } from \"./constants\";\nimport type { TypeTableHeaderCellProps } from \"./TableHeaderCellTypes\";\n\nexport class TableHeaderCell extends React.Component<TypeTableHeaderCellProps> {\n static displayName: string;\n\n getSortIcon = (\n isSorted: boolean,\n ariaSortDirection: \"ascending\" | \"descending\" | undefined\n ) => {\n const { sortDirection } = this.props;\n let iconName: TypeIconName = \"caret-up-down-outline\";\n\n if (isSorted && sortDirection === SORT_DIRECTIONS.ASC) {\n iconName = \"caret-up-solid\";\n } else if (isSorted && sortDirection === SORT_DIRECTIONS.DESC) {\n iconName = \"caret-down-solid\";\n }\n\n return (\n <SortIcon>\n <Icon size=\"mini\" name={iconName} aria-label={ariaSortDirection} />\n </SortIcon>\n );\n };\n\n // @ts-note: If this is set to an HTMLButtonElement event, then the `Container` freaks out\n handleClick = (\n e: React.MouseEvent<HTMLTableCellElement | HTMLButtonElement>\n ) => {\n const { onClick, onSort, isSortable, id } = this.props;\n\n if (onClick || isSortable) {\n e.preventDefault();\n }\n\n if (onClick) {\n // @ts-note: Right now the `onClick` is incorrectly set to consume an HTMLButtonElement event\n onClick(e as unknown as React.MouseEvent<HTMLButtonElement>);\n return;\n }\n\n if (!isSortable || !onSort) return;\n onSort(id);\n };\n\n override render() {\n const {\n id,\n content,\n colSpan,\n width,\n align,\n isSortable,\n sortId,\n sortDirection,\n children,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n shouldTruncate,\n onSort,\n onClick,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n color,\n ...rest\n } = this.props;\n\n const isSorted = sortId === id;\n const ariaSort = isSorted\n ? sortDirection === SORT_DIRECTIONS.ASC\n ? \"ascending\"\n : \"descending\"\n : undefined;\n\n const buttonProps = isSortable\n ? {\n role: \"button\",\n onClick: this.handleClick,\n }\n : {};\n\n const scope = colSpan ? \"colgroup\" : \"col\";\n\n return (\n <Container\n {...rest}\n key={id}\n alignment={align || \"left\"}\n sortable={isSortable}\n colSpan={colSpan}\n scope={scope}\n width={width}\n onClick={this.handleClick}\n data-tableheadercell-sortable={isSortable}\n data-qa-table-header-cell=\"\"\n data-qa-table-header-cell-sortdirection={sortDirection}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n aria-sort={ariaSort}\n >\n {isSortable ? (\n <UnstyledButton {...buttonProps}>\n <div aria-live=\"polite\" role=\"status\">\n {children || content}\n {!children && this.getSortIcon(id === sortId, ariaSort)}\n </div>\n </UnstyledButton>\n ) : (\n children || content\n )}\n </Container>\n );\n }\n}\n\nexport default TableHeaderCell;\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableHeaderCellProps } from \"./TableHeaderCellTypes\";\n\nconst Container = styled.th<{\n sortable?: boolean;\n alignment: TypeTableHeaderCellProps[\"align\"];\n width: TypeTableHeaderCellProps[\"width\"];\n}>`\n ${(props) => props.theme.typography[100]}\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n padding: ${(props) => props.theme.space[300]};\n text-align: ${(props) => props.alignment};\n\n ${(props) =>\n props.sortable &&\n css`\n position: relative;\n cursor: pointer;\n `}\n\n ${COMMON}\n`;\n\nexport const SortIcon = styled.span`\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0;\n padding: 0 ${(props) => props.theme.space[200]};\n`;\n\nexport const UnstyledButton = styled.button`\n background: none;\n border: none;\n color: inherit;\n font: inherit;\n line-height: normal;\n overflow: visible;\n padding: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n cursor: pointer;\n`;\n\nexport default Container;\n","export const SORT_DIRECTIONS = {\n ASC: \"ASC\",\n DESC: \"DESC\",\n} as const;\n","import * as React from \"react\";\nimport type { TypeTableCellProps } from \"../TableCell/TableCellTypes\";\nimport { SORT_DIRECTIONS } from \"./constants\";\n\nexport type TypeEnumSortDirections = keyof typeof SORT_DIRECTIONS;\n\nexport interface TypeTableHeaderCellProps\n extends Omit<TypeTableCellProps, \"onClick\"> {\n /** Legacy Deteremines if a table column is sortable (optional) */\n isSortable?: boolean;\n\n /** Truncates text into a singular line with ellipsis (optional) */\n shouldTruncate?: boolean;\n\n /** Legacy: Callback for Sorting Table Columns (optional) */\n onSort?: (id: string) => void;\n\n /** Legacy: Controls which column is being sorted (optional) */\n sortId?: string;\n\n /** Legacy: Controls the current sort direction (optional) */\n sortDirection?: TypeEnumSortDirections;\n\n /** Callback for Click Events. If Included will override onSort prop */\n onClick?: (e: React.SyntheticEvent<HTMLButtonElement>) => void;\n}\n"],"mappings":"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","names":["TableHeaderCell_default","styled","Icon","React","TableHeaderCell_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/TableRowAccordion/index.ts","../src/TableRowAccordion/TableRowAccordion.tsx","../src/TableCell/TableCell.tsx","../src/TableCell/styles.ts","../src/TableCell/TableCellTypes.ts","../src/TableCell/index.ts","../src/TableRowAccordion/styles.ts","../src/TableRowAccordion/TableRowAccordionTypes.ts"],"sourcesContent":["import TableRowAccordion from \"./TableRowAccordion\";\n\nexport default TableRowAccordion;\nexport { TableRowAccordion };\nexport * from \"./TableRowAccordionTypes\";\n","import * as React from \"react\";\nimport Icon from \"@sproutsocial/seeds-react-icon\";\nimport TableCell from \"../TableCell\";\nimport Container, { Detail, Trigger } from \"./styles\";\nimport type { TypeTableRowAccordionProps } from \"./TableRowAccordionTypes\";\n\n/**\n * The table row accordion component allows for rendering a row of tabular data along with a addtional content to be rendered inside of an accordion drawer. This component is meant to be used with the table components rowRender mentod.\n */\nexport default class TableRowAccordion extends React.Component<TypeTableRowAccordionProps> {\n handleToggle: React.MouseEventHandler<HTMLTableRowElement> = (e) => {\n const { onToggle, id } = this.props;\n e.stopPropagation();\n\n if (onToggle) {\n onToggle(id);\n }\n };\n\n override render() {\n const {\n id,\n cells,\n detail,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onToggle,\n isExpanded,\n color,\n ...rest\n } = this.props;\n\n return (\n <Container\n {...rest}\n data-qa-table-row-accordion={isExpanded}\n key={id}\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n >\n <tr data-tablerowaccordion-summary onClick={this.handleToggle}>\n {cells.map((td) => {\n return <TableCell {...td} key={td.id} />;\n })}\n <TableCell\n id=\"tableRowAccordion_trigger\"\n content={\n // TODO: This trigger needs an accessible label passed in via props\n <Trigger\n data-tablerowaccordion-trigger\n onClick={this.handleToggle}\n role=\"button\"\n >\n <Icon\n name={\n isExpanded ? \"chevron-up-outline\" : \"chevron-down-outline\"\n }\n aria-hidden\n />\n </Trigger>\n }\n />\n </tr>\n <Detail isExpanded={isExpanded} data-tablerowaccordion-detail>\n <TableCell\n id=\"tableRowAccordion_detail\"\n colSpan={100}\n content={detail}\n />\n </Detail>\n </Container>\n );\n }\n}\n","import * as React from \"react\";\nimport Container from \"./styles\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\n/**\n * The table cell component is for rendering table cells and is meant to be used with the table component.\n */\nexport class TableCell extends React.Component<TypeTableCellProps> {\n static displayName: string;\n override render() {\n const {\n id,\n content,\n colSpan,\n width,\n align,\n scope,\n children,\n color,\n ...rest\n } = this.props;\n return (\n <Container\n {...rest}\n // If the `scope` property is passed we must render the element as a <th>\n as={scope ? \"th\" : \"td\"}\n scope={scope ? scope : undefined}\n alignment={align || \"left\"}\n key={id}\n colSpan={colSpan}\n width={width}\n data-qa-table-cell=\"\"\n // TODO: fix this type since `color` should be valid here. TS can't resolve the correct type.\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n color={color}\n >\n {children || content}\n </Container>\n );\n }\n}\n\nexport default TableCell;\n","import styled from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableCellProps } from \"./TableCellTypes\";\n\nconst Container = styled.td<{\n alignment: TypeTableCellProps[\"align\"];\n}>`\n ${(props) => props.theme.typography[200]}\n font-weight: ${(props) => props.theme.fontWeights.normal};\n padding: ${(props) => props.theme.space[300]};\n text-align: ${(props) => props.alignment};\n\n ${COMMON}\n`;\n\nexport default Container;\n","import * as React from \"react\";\nimport type { TypeSystemCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport interface TypeTableCellProps\n extends TypeSystemCommonProps,\n Omit<\n React.ComponentPropsWithoutRef<\"td\">,\n keyof TypeSystemCommonProps | \"content\"\n > {\n /** Table Cell Id */\n id: string;\n\n /** Content is deprecated. Please use children instead. Content to be render */\n content?: React.ReactNode;\n\n /** Controls the colSpan attribute (optional) */\n colSpan?: number;\n\n /** Controls the width attribute (optional) */\n width?: number;\n\n /** Controls the CSS text-align property (optional) */\n align?: \"left\" | \"right\" | \"center\" | \"justify\";\n\n /** Controls the scope attribute. If set, will change the element from a <td> to a <th>. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#scope (optional) */\n scope?: \"row\" | \"col\" | \"rowGroup\" | \"colGroup\";\n\n /** Children to be rendered */\n children?: React.ReactNode;\n}\n","import TableCell from \"./TableCell\";\n\nexport default TableCell;\nexport { TableCell };\nexport * from \"./TableCellTypes\";\n","import styled, { css } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\n\nconst Container = styled.tbody`\n border-bottom: 1px solid\n ${(props) => props.theme.colors.container.border.base};\n\n ${COMMON}\n`;\n\nexport const Detail = styled.tr<{ isExpanded: boolean }>`\n display: none;\n\n ${(props) =>\n props.isExpanded &&\n css`\n display: table-row;\n `}\n`;\n\nexport const Trigger = styled.div`\n cursor: pointer;\n`;\n\nexport default Container;\n","import * as React from \"react\";\nimport type { TypeSystemCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeTableRow } from \"../TableTypes\";\n\nexport interface TypeTableRowAccordionProps\n extends TypeTableRow,\n TypeSystemCommonProps,\n Omit<\n React.ComponentPropsWithoutRef<\"tbody\">,\n keyof TypeTableRow | keyof TypeSystemCommonProps\n > {\n /** Content to be rendered in accordion drawer */\n detail: React.ReactNode;\n\n /** Controls the display state of the accordion drawer */\n isExpanded: boolean;\n\n /** Callback for toggling the accordion drawer state */\n onToggle: (id: string) => void;\n}\n"],"mappings":"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","names":["React","styled","React","TableCell_default","import_styled_components","import_seeds_react_system_props","Container","styled","styles_default","import_react","styles_default","TableCell_default","Icon","React"]}
File without changes
File without changes
File without changes
File without changes
File without changes