@instructure/ui-table 10.16.1-pr-snapshot-1744893671793 → 10.16.1-snapshot-0
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/CHANGELOG.md +1 -1
- package/es/Table/Body/index.js +21 -23
- package/es/Table/Cell/index.js +5 -7
- package/es/Table/ColHeader/index.js +14 -18
- package/es/Table/Head/index.js +29 -35
- package/es/Table/Row/index.js +17 -19
- package/es/Table/RowHeader/index.js +5 -7
- package/es/Table/__new-tests__/Table.test.js +53 -170
- package/es/Table/index.js +19 -26
- package/lib/Table/Body/index.js +20 -22
- package/lib/Table/Cell/index.js +4 -6
- package/lib/Table/ColHeader/index.js +14 -17
- package/lib/Table/Head/index.js +28 -34
- package/lib/Table/Row/index.js +16 -18
- package/lib/Table/RowHeader/index.js +4 -6
- package/lib/Table/__new-tests__/Table.test.js +54 -170
- package/lib/Table/index.js +18 -25
- package/package.json +17 -17
- package/src/Table/Body/index.tsx +2 -1
- package/src/Table/Cell/index.tsx +2 -1
- package/src/Table/ColHeader/index.tsx +3 -2
- package/src/Table/ColHeader/props.ts +1 -1
- package/src/Table/Head/index.tsx +2 -1
- package/src/Table/README.md +2 -2
- package/src/Table/Row/index.tsx +2 -1
- package/src/Table/RowHeader/index.tsx +2 -1
- package/src/Table/__new-tests__/Table.test.tsx +5 -5
- package/src/Table/index.tsx +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/types/Table/Body/index.d.ts +3 -1
- package/types/Table/Body/index.d.ts.map +1 -1
- package/types/Table/Cell/index.d.ts +3 -1
- package/types/Table/Cell/index.d.ts.map +1 -1
- package/types/Table/ColHeader/index.d.ts +5 -3
- package/types/Table/ColHeader/index.d.ts.map +1 -1
- package/types/Table/ColHeader/props.d.ts +1 -1
- package/types/Table/ColHeader/props.d.ts.map +1 -1
- package/types/Table/Head/index.d.ts +4 -2
- package/types/Table/Head/index.d.ts.map +1 -1
- package/types/Table/Row/index.d.ts +3 -1
- package/types/Table/Row/index.d.ts.map +1 -1
- package/types/Table/RowHeader/index.d.ts +3 -1
- package/types/Table/RowHeader/index.d.ts.map +1 -1
- package/types/Table/index.d.ts +3 -1
- package/types/Table/index.d.ts.map +1 -1
@@ -23,14 +23,13 @@ var _Table$Head, _Table$Body, _Table, _Table2, _Table3, _span, _span2, _Table$Ro
|
|
23
23
|
* SOFTWARE.
|
24
24
|
*/
|
25
25
|
|
26
|
-
import
|
26
|
+
import React from 'react';
|
27
27
|
import { render, screen, waitFor } from '@testing-library/react';
|
28
28
|
import { vi } from 'vitest';
|
29
29
|
import { userEvent } from '@testing-library/user-event';
|
30
30
|
import '@testing-library/jest-dom';
|
31
31
|
import { Table } from '../index';
|
32
32
|
import { runAxeCheck } from '@instructure/ui-axe-check';
|
33
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
34
33
|
describe('<Table />', async () => {
|
35
34
|
let consoleErrorMock;
|
36
35
|
beforeEach(() => {
|
@@ -40,29 +39,13 @@ describe('<Table />', async () => {
|
|
40
39
|
afterEach(() => {
|
41
40
|
consoleErrorMock.mockRestore();
|
42
41
|
});
|
43
|
-
const renderTable = props => render(
|
44
|
-
caption: "Test table"
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
children: "ColHeader"
|
51
|
-
}), _jsx(Table.ColHeader, {
|
52
|
-
id: "bar",
|
53
|
-
children: "Bar-header"
|
54
|
-
})]
|
55
|
-
})
|
56
|
-
})), _Table$Body || (_Table$Body = _jsx(Table.Body, {
|
57
|
-
children: _jsxs(Table.Row, {
|
58
|
-
children: [_jsx(Table.RowHeader, {
|
59
|
-
children: "RowHeader"
|
60
|
-
}), _jsx(Table.Cell, {
|
61
|
-
children: "Cell"
|
62
|
-
})]
|
63
|
-
})
|
64
|
-
}))]
|
65
|
-
}));
|
42
|
+
const renderTable = props => render(/*#__PURE__*/React.createElement(Table, Object.assign({
|
43
|
+
caption: "Test table"
|
44
|
+
}, props), _Table$Head || (_Table$Head = /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, {
|
45
|
+
id: "foo"
|
46
|
+
}, "ColHeader"), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
47
|
+
id: "bar"
|
48
|
+
}, "Bar-header")))), _Table$Body || (_Table$Body = /*#__PURE__*/React.createElement(Table.Body, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.RowHeader, null, "RowHeader"), /*#__PURE__*/React.createElement(Table.Cell, null, "Cell"))))));
|
66
49
|
it('should render a caption', async () => {
|
67
50
|
const _renderTable = renderTable(),
|
68
51
|
container = _renderTable.container;
|
@@ -120,96 +103,48 @@ describe('<Table />', async () => {
|
|
120
103
|
expect(stackedTable).not.toHaveTextContent('ColHeader');
|
121
104
|
});
|
122
105
|
it('can handle non-existent head in stacked layout', async () => {
|
123
|
-
render(_Table || (_Table =
|
106
|
+
render(_Table || (_Table = /*#__PURE__*/React.createElement(Table, {
|
124
107
|
caption: "Test table",
|
125
|
-
layout: "stacked"
|
126
|
-
|
127
|
-
})));
|
108
|
+
layout: "stacked"
|
109
|
+
}, /*#__PURE__*/React.createElement(Table.Body, null))));
|
128
110
|
const stackedTable = screen.getByRole('table');
|
129
111
|
expect(stackedTable).toBeInTheDocument();
|
130
112
|
});
|
131
113
|
it('can handle empty head in stacked layout', async () => {
|
132
|
-
render(_Table2 || (_Table2 =
|
114
|
+
render(_Table2 || (_Table2 = /*#__PURE__*/React.createElement(Table, {
|
133
115
|
caption: "Test table",
|
134
|
-
layout: "stacked"
|
135
|
-
|
136
|
-
})));
|
116
|
+
layout: "stacked"
|
117
|
+
}, /*#__PURE__*/React.createElement(Table.Head, null))));
|
137
118
|
const stackedTable = screen.getByRole('table');
|
138
119
|
expect(stackedTable).toBeInTheDocument();
|
139
120
|
});
|
140
121
|
it('can handle invalid header in stacked layout', async () => {
|
141
|
-
render(_Table3 || (_Table3 =
|
122
|
+
render(_Table3 || (_Table3 = /*#__PURE__*/React.createElement(Table, {
|
142
123
|
caption: "Test table",
|
143
|
-
layout: "stacked"
|
144
|
-
|
145
|
-
children: _jsx(Table.Row, {
|
146
|
-
children: _jsx(Table.Cell, {
|
147
|
-
children: "Foo"
|
148
|
-
})
|
149
|
-
})
|
150
|
-
})
|
151
|
-
})));
|
124
|
+
layout: "stacked"
|
125
|
+
}, /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.Cell, null, "Foo"))))));
|
152
126
|
const stackedTable = screen.getByRole('table');
|
153
127
|
expect(stackedTable).toBeInTheDocument();
|
154
128
|
expect(stackedTable).not.toHaveTextContent('Foo');
|
155
129
|
});
|
156
130
|
it('does not crash for invalid children', async () => {
|
157
|
-
render(
|
131
|
+
render(/*#__PURE__*/React.createElement(Table, {
|
158
132
|
caption: "Test table",
|
159
|
-
layout: "stacked"
|
160
|
-
|
161
|
-
children: "test"
|
162
|
-
})), _jsxs(Table.Head, {
|
163
|
-
children: [_span2 || (_span2 = _jsx("span", {
|
164
|
-
children: "test"
|
165
|
-
})), "test2", _Table$Row || (_Table$Row = _jsxs(Table.Row, {
|
166
|
-
children: ["test3", _jsx("span", {
|
167
|
-
children: "test"
|
168
|
-
}), _jsx(Table.Cell, {
|
169
|
-
children: "Foo"
|
170
|
-
})]
|
171
|
-
})), "test4", _span3 || (_span3 = _jsx("span", {
|
172
|
-
children: "test"
|
173
|
-
}))]
|
174
|
-
}), "test5", _jsxs(Table.Body, {
|
175
|
-
children: ["test", _span4 || (_span4 = _jsx("span", {
|
176
|
-
children: "test"
|
177
|
-
})), _Table$Row2 || (_Table$Row2 = _jsxs(Table.Row, {
|
178
|
-
children: ["test", _jsx("span", {
|
179
|
-
children: "test"
|
180
|
-
}), _jsx(Table.Cell, {
|
181
|
-
children: "Foo"
|
182
|
-
}), "test", _jsx("span", {
|
183
|
-
children: "test"
|
184
|
-
})]
|
185
|
-
}))]
|
186
|
-
})]
|
187
|
-
}));
|
133
|
+
layout: "stacked"
|
134
|
+
}, "test1", _span || (_span = /*#__PURE__*/React.createElement("span", null, "test")), /*#__PURE__*/React.createElement(Table.Head, null, _span2 || (_span2 = /*#__PURE__*/React.createElement("span", null, "test")), "test2", _Table$Row || (_Table$Row = /*#__PURE__*/React.createElement(Table.Row, null, "test3", /*#__PURE__*/React.createElement("span", null, "test"), /*#__PURE__*/React.createElement(Table.Cell, null, "Foo"))), "test4", _span3 || (_span3 = /*#__PURE__*/React.createElement("span", null, "test"))), "test5", /*#__PURE__*/React.createElement(Table.Body, null, "test", _span4 || (_span4 = /*#__PURE__*/React.createElement("span", null, "test")), _Table$Row2 || (_Table$Row2 = /*#__PURE__*/React.createElement(Table.Row, null, "test", /*#__PURE__*/React.createElement("span", null, "test"), /*#__PURE__*/React.createElement(Table.Cell, null, "Foo"), "test", /*#__PURE__*/React.createElement("span", null, "test"))))));
|
188
135
|
const table = screen.getByRole('table');
|
189
136
|
expect(table).toBeInTheDocument();
|
190
137
|
expect(table).toHaveTextContent('Foo');
|
191
138
|
});
|
192
139
|
describe('when table is sortable', async () => {
|
193
|
-
const renderSortableTable = (props, handlers = {}, layout = 'auto') => render(
|
140
|
+
const renderSortableTable = (props, handlers = {}, layout = 'auto') => render(/*#__PURE__*/React.createElement(Table, {
|
194
141
|
caption: "Sortable table",
|
195
|
-
layout: layout
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
...handlers,
|
202
|
-
children: "Foo"
|
203
|
-
}), _jsx(Table.ColHeader, {
|
204
|
-
id: "bar",
|
205
|
-
...handlers,
|
206
|
-
children: "Bar"
|
207
|
-
})]
|
208
|
-
})
|
209
|
-
}), _Table$Body2 || (_Table$Body2 = _jsxs(Table.Body, {
|
210
|
-
children: [_jsx(Table.Row, {}), _jsx(Table.Row, {})]
|
211
|
-
}))]
|
212
|
-
}));
|
142
|
+
layout: layout
|
143
|
+
}, /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, Object.assign({
|
144
|
+
id: "foo"
|
145
|
+
}, props, handlers), "Foo"), /*#__PURE__*/React.createElement(Table.ColHeader, Object.assign({
|
146
|
+
id: "bar"
|
147
|
+
}, handlers), "Bar"))), _Table$Body2 || (_Table$Body2 = /*#__PURE__*/React.createElement(Table.Body, null, /*#__PURE__*/React.createElement(Table.Row, null), /*#__PURE__*/React.createElement(Table.Row, null)))));
|
213
148
|
it('can render up arrow for ascending order', async () => {
|
214
149
|
const _renderSortableTable = renderSortableTable({
|
215
150
|
id: 'id',
|
@@ -293,57 +228,27 @@ describe('<Table />', async () => {
|
|
293
228
|
describe('when using custom components', () => {
|
294
229
|
it('should render wrapper HOCs', () => {
|
295
230
|
var _CustomTableCell2;
|
296
|
-
class CustomTableCell extends Component {
|
231
|
+
class CustomTableCell extends React.Component {
|
297
232
|
render() {
|
298
|
-
return
|
299
|
-
...this.props,
|
300
|
-
children: this.props.children
|
301
|
-
});
|
233
|
+
return /*#__PURE__*/React.createElement(Table.Cell, this.props, this.props.children);
|
302
234
|
}
|
303
235
|
}
|
304
236
|
CustomTableCell.displayName = "CustomTableCell";
|
305
|
-
class CustomTableRow extends Component {
|
237
|
+
class CustomTableRow extends React.Component {
|
306
238
|
render() {
|
307
|
-
return
|
308
|
-
...this.props,
|
309
|
-
children: [_Table$RowHeader || (_Table$RowHeader = _jsx(Table.RowHeader, {
|
310
|
-
children: "1"
|
311
|
-
})), _Table$Cell || (_Table$Cell = _jsx(Table.Cell, {
|
312
|
-
children: "The Shawshank Redemption"
|
313
|
-
})), _CustomTableCell2 || (_CustomTableCell2 = _jsx(CustomTableCell, {
|
314
|
-
children: "9.3"
|
315
|
-
}))]
|
316
|
-
});
|
239
|
+
return /*#__PURE__*/React.createElement(Table.Row, this.props, _Table$RowHeader || (_Table$RowHeader = /*#__PURE__*/React.createElement(Table.RowHeader, null, "1")), _Table$Cell || (_Table$Cell = /*#__PURE__*/React.createElement(Table.Cell, null, "The Shawshank Redemption")), _CustomTableCell2 || (_CustomTableCell2 = /*#__PURE__*/React.createElement(CustomTableCell, null, "9.3")));
|
317
240
|
}
|
318
241
|
}
|
319
242
|
CustomTableRow.displayName = "CustomTableRow";
|
320
|
-
const table = render(
|
321
|
-
caption: "Test custom table"
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
children: "Bar-header"
|
330
|
-
}), _jsx(Table.ColHeader, {
|
331
|
-
id: "baz",
|
332
|
-
children: "Bar-header"
|
333
|
-
})]
|
334
|
-
})
|
335
|
-
})), _jsxs(Table.Body, {
|
336
|
-
children: [_jsx(CustomTableRow, {}), _Table$Row3 || (_Table$Row3 = _jsxs(Table.Row, {
|
337
|
-
children: [_jsx(Table.RowHeader, {
|
338
|
-
children: "RowHeader"
|
339
|
-
}), _jsx(Table.Cell, {
|
340
|
-
children: "Cell"
|
341
|
-
}), _jsx(Table.Cell, {
|
342
|
-
children: "Cell2"
|
343
|
-
})]
|
344
|
-
}))]
|
345
|
-
})]
|
346
|
-
}));
|
243
|
+
const table = render(/*#__PURE__*/React.createElement(Table, {
|
244
|
+
caption: "Test custom table"
|
245
|
+
}, _Table$Head2 || (_Table$Head2 = /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, {
|
246
|
+
id: "foo"
|
247
|
+
}, "ColHeader"), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
248
|
+
id: "bar"
|
249
|
+
}, "Bar-header"), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
250
|
+
id: "baz"
|
251
|
+
}, "Bar-header")))), /*#__PURE__*/React.createElement(Table.Body, null, /*#__PURE__*/React.createElement(CustomTableRow, null), _Table$Row3 || (_Table$Row3 = /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.RowHeader, null, "RowHeader"), /*#__PURE__*/React.createElement(Table.Cell, null, "Cell"), /*#__PURE__*/React.createElement(Table.Cell, null, "Cell2"))))));
|
347
252
|
const stackedTable = screen.getByRole('table');
|
348
253
|
expect(stackedTable).toBeInTheDocument();
|
349
254
|
const container = table.container;
|
@@ -352,49 +257,27 @@ describe('<Table />', async () => {
|
|
352
257
|
expect(container).toHaveTextContent('9.3');
|
353
258
|
});
|
354
259
|
it('should render fully custom components', () => {
|
355
|
-
class CustomTableCell extends Component {
|
260
|
+
class CustomTableCell extends React.Component {
|
356
261
|
render() {
|
357
|
-
return
|
358
|
-
children: this.props.children
|
359
|
-
});
|
262
|
+
return /*#__PURE__*/React.createElement("td", null, this.props.children);
|
360
263
|
}
|
361
264
|
}
|
362
265
|
CustomTableCell.displayName = "CustomTableCell";
|
363
|
-
class CustomTableRow extends Component {
|
266
|
+
class CustomTableRow extends React.Component {
|
364
267
|
render() {
|
365
|
-
return
|
366
|
-
children: this.props.children
|
367
|
-
});
|
268
|
+
return /*#__PURE__*/React.createElement("tr", null, this.props.children);
|
368
269
|
}
|
369
270
|
}
|
370
271
|
CustomTableRow.displayName = "CustomTableRow";
|
371
|
-
const table = render(
|
372
|
-
caption: "Test custom table"
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
children: "Bar-header"
|
381
|
-
}), _Table$ColHeader || (_Table$ColHeader = _jsx(Table.ColHeader, {
|
382
|
-
id: "baz",
|
383
|
-
children: "Bar-header"
|
384
|
-
}))]
|
385
|
-
})
|
386
|
-
}), _jsx(Table.Body, {
|
387
|
-
children: _jsxs(CustomTableRow, {
|
388
|
-
children: [_Table$RowHeader2 || (_Table$RowHeader2 = _jsx(Table.RowHeader, {
|
389
|
-
children: "RowHeader2"
|
390
|
-
})), _jsx(CustomTableCell, {
|
391
|
-
children: "Cell"
|
392
|
-
}), _Table$Cell2 || (_Table$Cell2 = _jsx(Table.Cell, {
|
393
|
-
children: "Cell2"
|
394
|
-
}))]
|
395
|
-
})
|
396
|
-
})]
|
397
|
-
}));
|
272
|
+
const table = render(/*#__PURE__*/React.createElement(Table, {
|
273
|
+
caption: "Test custom table"
|
274
|
+
}, /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(CustomTableRow, null, /*#__PURE__*/React.createElement(CustomTableCell, {
|
275
|
+
id: "foo"
|
276
|
+
}, "ColHeader"), /*#__PURE__*/React.createElement(CustomTableCell, {
|
277
|
+
id: "bar"
|
278
|
+
}, "Bar-header"), _Table$ColHeader || (_Table$ColHeader = /*#__PURE__*/React.createElement(Table.ColHeader, {
|
279
|
+
id: "baz"
|
280
|
+
}, "Bar-header")))), /*#__PURE__*/React.createElement(Table.Body, null, /*#__PURE__*/React.createElement(CustomTableRow, null, _Table$RowHeader2 || (_Table$RowHeader2 = /*#__PURE__*/React.createElement(Table.RowHeader, null, "RowHeader2")), /*#__PURE__*/React.createElement(CustomTableCell, null, "Cell"), _Table$Cell2 || (_Table$Cell2 = /*#__PURE__*/React.createElement(Table.Cell, null, "Cell2"))))));
|
398
281
|
const stackedTable = screen.getByRole('table');
|
399
282
|
expect(stackedTable).toBeInTheDocument();
|
400
283
|
const container = table.container;
|
package/es/Table/index.js
CHANGED
@@ -24,11 +24,12 @@ var _dec, _class, _Table;
|
|
24
24
|
* SOFTWARE.
|
25
25
|
*/
|
26
26
|
|
27
|
+
/** @jsx jsx */
|
27
28
|
import { Component, Children, isValidElement } from 'react';
|
28
29
|
import { safeCloneElement, omitProps } from '@instructure/ui-react-utils';
|
29
30
|
import { View } from '@instructure/ui-view';
|
30
31
|
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
31
|
-
import { withStyle } from '@instructure/emotion';
|
32
|
+
import { withStyle, jsx } from '@instructure/emotion';
|
32
33
|
import generateStyle from './styles';
|
33
34
|
import generateComponentTheme from './theme';
|
34
35
|
import { Head } from './Head';
|
@@ -45,7 +46,6 @@ import TableContext from './TableContext';
|
|
45
46
|
category: components
|
46
47
|
---
|
47
48
|
**/
|
48
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
49
49
|
let Table = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class = (_Table = class Table extends Component {
|
50
50
|
constructor(...args) {
|
51
51
|
super(...args);
|
@@ -90,34 +90,27 @@ let Table = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_clas
|
|
90
90
|
styles = _this$props3.styles;
|
91
91
|
const isStacked = layout === 'stacked';
|
92
92
|
const headers = isStacked ? this.getHeaders() : void 0;
|
93
|
-
return
|
93
|
+
return jsx(TableContext.Provider, {
|
94
94
|
value: {
|
95
95
|
isStacked: isStacked,
|
96
96
|
hover: hover,
|
97
97
|
headers: headers
|
98
|
-
}
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
key: child.props.name
|
115
|
-
});
|
116
|
-
}
|
117
|
-
return child;
|
118
|
-
})]
|
119
|
-
})
|
120
|
-
});
|
98
|
+
}
|
99
|
+
}, jsx(View, Object.assign({}, View.omitViewProps(omitProps(this.props, Table.allowedProps), Table), {
|
100
|
+
as: isStacked ? 'div' : 'table',
|
101
|
+
margin: margin,
|
102
|
+
elementRef: this.handleRef,
|
103
|
+
css: styles === null || styles === void 0 ? void 0 : styles.table,
|
104
|
+
role: isStacked ? 'table' : void 0,
|
105
|
+
"aria-label": isStacked ? caption : void 0
|
106
|
+
}), !isStacked && jsx("caption", null, jsx(ScreenReaderContent, null, caption)), Children.map(children, child => {
|
107
|
+
if (/*#__PURE__*/isValidElement(child)) {
|
108
|
+
return safeCloneElement(child, {
|
109
|
+
key: child.props.name
|
110
|
+
});
|
111
|
+
}
|
112
|
+
return child;
|
113
|
+
})));
|
121
114
|
}
|
122
115
|
}, _Table.displayName = "Table", _Table.componentId = 'Table', _Table.allowedProps = allowedProps, _Table.propTypes = propTypes, _Table.defaultProps = {
|
123
116
|
children: null,
|
package/lib/Table/Body/index.js
CHANGED
@@ -14,7 +14,6 @@ var _styles = _interopRequireDefault(require("./styles"));
|
|
14
14
|
var _theme = _interopRequireDefault(require("./theme"));
|
15
15
|
var _props = require("./props");
|
16
16
|
var _TableContext = _interopRequireDefault(require("../TableContext"));
|
17
|
-
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
18
17
|
var _dec, _class, _Body;
|
19
18
|
/*
|
20
19
|
* The MIT License (MIT)
|
@@ -39,6 +38,7 @@ var _dec, _class, _Body;
|
|
39
38
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
40
39
|
* SOFTWARE.
|
41
40
|
*/
|
41
|
+
/** @jsx jsx */
|
42
42
|
/**
|
43
43
|
---
|
44
44
|
parent: Table
|
@@ -62,29 +62,27 @@ let Body = exports.Body = (_dec = (0, _emotion.withStyle)(_styles.default, _them
|
|
62
62
|
isStacked = _this$context.isStacked,
|
63
63
|
hover = _this$context.hover,
|
64
64
|
headers = _this$context.headers;
|
65
|
-
return (0,
|
66
|
-
..._View.View.omitViewProps((0, _omitProps.omitProps)(this.props, Body.allowedProps), Body),
|
65
|
+
return (0, _emotion.jsx)(_View.View, Object.assign({}, _View.View.omitViewProps((0, _omitProps.omitProps)(this.props, Body.allowedProps), Body), {
|
67
66
|
as: isStacked ? 'div' : 'tbody',
|
68
67
|
css: styles === null || styles === void 0 ? void 0 : styles.body,
|
69
|
-
role: isStacked ? 'rowgroup' : void 0
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
});
|
68
|
+
role: isStacked ? 'rowgroup' : void 0
|
69
|
+
}), _react.Children.map(children, child => {
|
70
|
+
if (/*#__PURE__*/(0, _react.isValidElement)(child)) {
|
71
|
+
return (0, _safeCloneElement.safeCloneElement)(child, {
|
72
|
+
key: child.props.name,
|
73
|
+
// Sent down for compatibility with custom components
|
74
|
+
// TODO DEPRECATED, remove in v11
|
75
|
+
hover,
|
76
|
+
// Sent down for compatibility with custom components
|
77
|
+
// TODO DEPRECATED, remove in v11
|
78
|
+
isStacked,
|
79
|
+
// Sent down for compatibility with custom components
|
80
|
+
// TODO DEPRECATED, remove in v11
|
81
|
+
headers
|
82
|
+
});
|
83
|
+
}
|
84
|
+
return child;
|
85
|
+
}));
|
88
86
|
}
|
89
87
|
}, _Body.displayName = "Body", _Body.componentId = 'Table.Body', _Body.contextType = _TableContext.default, _Body.allowedProps = _props.allowedProps, _Body.propTypes = _props.propTypes, _Body.defaultProps = {
|
90
88
|
children: null
|
package/lib/Table/Cell/index.js
CHANGED
@@ -14,7 +14,6 @@ var _styles = _interopRequireDefault(require("./styles"));
|
|
14
14
|
var _theme = _interopRequireDefault(require("./theme"));
|
15
15
|
var _props = require("./props");
|
16
16
|
var _TableContext = _interopRequireDefault(require("../TableContext"));
|
17
|
-
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
18
17
|
var _dec, _class, _Cell;
|
19
18
|
/*
|
20
19
|
* The MIT License (MIT)
|
@@ -39,6 +38,7 @@ var _dec, _class, _Cell;
|
|
39
38
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
40
39
|
* SOFTWARE.
|
41
40
|
*/
|
41
|
+
/** @jsx jsx */
|
42
42
|
/**
|
43
43
|
---
|
44
44
|
parent: Table
|
@@ -60,13 +60,11 @@ let Cell = exports.Cell = (_dec = (0, _emotion.withStyle)(_styles.default, _them
|
|
60
60
|
styles = _this$props3.styles,
|
61
61
|
header = _this$props3.header;
|
62
62
|
const isStacked = this.context.isStacked;
|
63
|
-
return (0,
|
64
|
-
..._View.View.omitViewProps((0, _omitProps.omitProps)(this.props, Cell.allowedProps), Cell),
|
63
|
+
return (0, _emotion.jsx)(_View.View, Object.assign({}, _View.View.omitViewProps((0, _omitProps.omitProps)(this.props, Cell.allowedProps), Cell), {
|
65
64
|
as: isStacked ? 'div' : 'td',
|
66
65
|
css: styles === null || styles === void 0 ? void 0 : styles.cell,
|
67
|
-
role: isStacked ? 'cell' : void 0
|
68
|
-
|
69
|
-
});
|
66
|
+
role: isStacked ? 'cell' : void 0
|
67
|
+
}), header && (0, _callRenderProp.callRenderProp)(header), header && ': ', (0, _callRenderProp.callRenderProp)(children));
|
70
68
|
}
|
71
69
|
}, _Cell.displayName = "Cell", _Cell.componentId = 'Table.Cell', _Cell.contextType = _TableContext.default, _Cell.allowedProps = _props.allowedProps, _Cell.propTypes = _props.propTypes, _Cell.defaultProps = {
|
72
70
|
textAlign: 'start',
|
@@ -1,11 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
5
6
|
value: true
|
6
7
|
});
|
7
8
|
exports.default = exports.ColHeader = void 0;
|
8
|
-
var _react = require("react");
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
9
10
|
var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
|
10
11
|
var _callRenderProp = require("@instructure/ui-react-utils/lib/callRenderProp.js");
|
11
12
|
var _IconMiniArrowUpLine = require("@instructure/ui-icons/lib/IconMiniArrowUpLine.js");
|
@@ -15,7 +16,6 @@ var _emotion = require("@instructure/emotion");
|
|
15
16
|
var _styles = _interopRequireDefault(require("./styles"));
|
16
17
|
var _theme = _interopRequireDefault(require("./theme"));
|
17
18
|
var _props = require("./props");
|
18
|
-
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
19
19
|
var _dec, _class, _ColHeader;
|
20
20
|
/*
|
21
21
|
* The MIT License (MIT)
|
@@ -40,6 +40,7 @@ var _dec, _class, _ColHeader;
|
|
40
40
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
41
41
|
* SOFTWARE.
|
42
42
|
*/
|
43
|
+
/** @jsx jsx */
|
43
44
|
/**
|
44
45
|
---
|
45
46
|
parent: Table
|
@@ -72,17 +73,17 @@ let ColHeader = exports.ColHeader = (_dec = (0, _emotion.withStyle)(_styles.defa
|
|
72
73
|
onRequestSort = _this$props4.onRequestSort,
|
73
74
|
styles = _this$props4.styles;
|
74
75
|
if (sortDirection === 'ascending') {
|
75
|
-
return (0,
|
76
|
+
return (0, _emotion.jsx)(_IconMiniArrowUpLine.IconMiniArrowUpLine, {
|
76
77
|
css: styles === null || styles === void 0 ? void 0 : styles.sortedIconColor
|
77
78
|
});
|
78
79
|
}
|
79
80
|
if (sortDirection === 'descending') {
|
80
|
-
return (0,
|
81
|
+
return (0, _emotion.jsx)(_IconMiniArrowDownLine.IconMiniArrowDownLine, {
|
81
82
|
css: styles === null || styles === void 0 ? void 0 : styles.sortedIconColor
|
82
83
|
});
|
83
84
|
}
|
84
85
|
if (onRequestSort) {
|
85
|
-
return (0,
|
86
|
+
return (0, _emotion.jsx)(_IconMiniArrowDoubleLine.IconMiniArrowDoubleLine, {
|
86
87
|
css: styles === null || styles === void 0 ? void 0 : styles.unSortedIconColor
|
87
88
|
});
|
88
89
|
}
|
@@ -96,23 +97,19 @@ let ColHeader = exports.ColHeader = (_dec = (0, _emotion.withStyle)(_styles.defa
|
|
96
97
|
sortDirection = _this$props5.sortDirection,
|
97
98
|
scope = _this$props5.scope,
|
98
99
|
styles = _this$props5.styles;
|
99
|
-
return (0,
|
100
|
-
...(0, _omitProps.omitProps)(this.props, ColHeader.allowedProps),
|
100
|
+
return (0, _emotion.jsx)("th", Object.assign({}, (0, _omitProps.omitProps)(this.props, ColHeader.allowedProps), {
|
101
101
|
css: styles === null || styles === void 0 ? void 0 : styles.colHeader,
|
102
102
|
style: {
|
103
103
|
width
|
104
104
|
},
|
105
105
|
scope: scope,
|
106
|
-
"aria-sort": sortDirection
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
})
|
114
|
-
}), !onRequestSort && children, !onRequestSort && this.renderSortArrow()]
|
115
|
-
});
|
106
|
+
"aria-sort": sortDirection
|
107
|
+
}), onRequestSort && (0, _emotion.jsx)("button", {
|
108
|
+
onClick: this.handleClick,
|
109
|
+
css: styles === null || styles === void 0 ? void 0 : styles.button
|
110
|
+
}, (0, _emotion.jsx)("div", {
|
111
|
+
css: styles === null || styles === void 0 ? void 0 : styles.buttonContent
|
112
|
+
}, (0, _callRenderProp.callRenderProp)(children), this.renderSortArrow())), !onRequestSort && children, !onRequestSort && this.renderSortArrow());
|
116
113
|
}
|
117
114
|
}, _ColHeader.displayName = "ColHeader", _ColHeader.componentId = 'Table.ColHeader', _ColHeader.allowedProps = _props.allowedProps, _ColHeader.propTypes = _props.propTypes, _ColHeader.defaultProps = {
|
118
115
|
textAlign: 'start',
|
package/lib/Table/Head/index.js
CHANGED
@@ -18,7 +18,6 @@ var _styles = _interopRequireDefault(require("./styles"));
|
|
18
18
|
var _theme = _interopRequireDefault(require("./theme"));
|
19
19
|
var _props = require("./props");
|
20
20
|
var _TableContext = _interopRequireDefault(require("../TableContext"));
|
21
|
-
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
22
21
|
var _dec, _class, _Head, _ScreenReaderContent;
|
23
22
|
/*
|
24
23
|
* The MIT License (MIT)
|
@@ -43,6 +42,7 @@ var _dec, _class, _Head, _ScreenReaderContent;
|
|
43
42
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
44
43
|
* SOFTWARE.
|
45
44
|
*/
|
45
|
+
/** @jsx jsx */
|
46
46
|
/**
|
47
47
|
---
|
48
48
|
parent: Table
|
@@ -133,35 +133,31 @@ let Head = exports.Head = (_dec = (0, _emotion.withStyle)(_styles.default, _them
|
|
133
133
|
});
|
134
134
|
}
|
135
135
|
};
|
136
|
-
return (0,
|
137
|
-
role: "rowgroup"
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
children: label
|
160
|
-
}, id))
|
161
|
-
})
|
162
|
-
})
|
136
|
+
return (0, _emotion.jsx)("div", {
|
137
|
+
role: "rowgroup"
|
138
|
+
}, (0, _emotion.jsx)("div", {
|
139
|
+
role: "row"
|
140
|
+
}, (0, _emotion.jsx)("div", {
|
141
|
+
role: "cell",
|
142
|
+
"aria-colspan": count
|
143
|
+
}, (0, _emotion.jsx)(_SimpleSelect.SimpleSelect, {
|
144
|
+
renderLabel: renderSortLabel ? (0, _callRenderProp.callRenderProp)(renderSortLabel) : _ScreenReaderContent || (_ScreenReaderContent = (0, _emotion.jsx)(_ScreenReaderContent2.ScreenReaderContent, null)),
|
145
|
+
renderBeforeInput: selectedOption && _IconCheckLine.IconCheckLine,
|
146
|
+
value: selectedOption,
|
147
|
+
onChange: handleSelect
|
148
|
+
}, options.map(({
|
149
|
+
id,
|
150
|
+
label
|
151
|
+
}) => (0, _emotion.jsx)(_SimpleSelect.SimpleSelect.Option, {
|
152
|
+
id: id,
|
153
|
+
key: id,
|
154
|
+
value: id,
|
155
|
+
renderBeforeLabel: id === selectedOption ? _IconCheckLine.IconCheckLine : () => (0, _emotion.jsx)(_IconCheckLine.IconCheckLine, {
|
156
|
+
style: {
|
157
|
+
color: 'transparent'
|
158
|
+
}
|
163
159
|
})
|
164
|
-
});
|
160
|
+
}, label))))));
|
165
161
|
}
|
166
162
|
render() {
|
167
163
|
const _this$props4 = this.props,
|
@@ -169,11 +165,9 @@ let Head = exports.Head = (_dec = (0, _emotion.withStyle)(_styles.default, _them
|
|
169
165
|
styles = _this$props4.styles;
|
170
166
|
return this.context.isStacked ? this.renderSelect() :
|
171
167
|
// TODO remove 'hover' exclude in v11, its passed down for compatibility with custom components
|
172
|
-
(0,
|
173
|
-
|
174
|
-
|
175
|
-
children: children
|
176
|
-
});
|
168
|
+
(0, _emotion.jsx)("thead", Object.assign({}, (0, _omitProps.omitProps)(this.props, Head.allowedProps, ['hover']), {
|
169
|
+
css: styles === null || styles === void 0 ? void 0 : styles.head
|
170
|
+
}), children);
|
177
171
|
}
|
178
172
|
}, _Head.displayName = "Head", _Head.componentId = 'Table.Head', _Head.contextType = _TableContext.default, _Head.allowedProps = _props.allowedProps, _Head.propTypes = _props.propTypes, _Head.defaultProps = {
|
179
173
|
children: null
|