Replies: 9 comments 47 replies
-
|
praise: thanks for all the work you've put into this design doc @ksolanki7 👏 Overallquestion: In your code snippet above, you show a suggestion: I would recommend delaying the selection state management until after the a11y work has been done. suggestion: Personally, I think we should have a clear plan for how we deal with the a11y concerns before we invest in implementing any of the atoms you've outlined. I would suck to do all this work implementing the atoms only to discover a bunch of changes are now need to facilitate good a11y. Toolbarsuggestion: I think we could make this component a simple atom that has two props
TableHeadersuggestion: question: TableRowsuggestion: It could be nice to rely on suggestion: question: Do you have an idea on how we'll handle the a11y for tables that involve hyperlinked rows (which will be most tables)? It's okay if you don't yet, just curious. TableCellquestion: How do the single row and double row cell components relate to the question: Why do we need cells to have a href/link? Is this a futurism or has design expressed this as a specific requirement? If content in a cell needs to link to another page, I'd expect design to make the primary text in the cell a hyperlink instead of the whole cell 🤔 |
Beta Was this translation helpful? Give feedback.
-
|
Thank you @kurtdoherty for the detailed feedback.
There is a mention of Table Head row, and I am following the standards which can be found over mdn doc for the Table structure.
This is how the actual rendered HTML would look like
I am working on POC for this and will represent to the team for feedback on it.
They are just a table specific atoms and not generic elements other than that there is no relation directly to TableCell
I agree; it's preferable for the cell content to contain the link, rather than having the entire cell act as a link. Regarding your suggestions. |
Beta Was this translation helpful? Give feedback.
-
|
@kurtdoherty Thank you again.
Oops, my bad, I accidentally swapped those across.
I like the idea of using React context so that consumers have less to decide about what to use and when. But I believe we won't be considering this as TableRow also supports
Noted.
I prefer |
Beta Was this translation helpful? Give feedback.
-
|
Hi @kurtdoherty & @ksolanki7 Please check my design solution and the POC for the Table Row Selection component. Table Row Selection Solution DesignThe table row selection will have the following prop interface.
The table context will have the following prop interface.
The table provider will have the following prop interface.
Component Code Structure (Pseudocode):The whole table component will be wrapped inside the |
Beta Was this translation helpful? Give feedback.
-
|
Hello Genks, From the Figma design, Here's my proposed solution for Table: Table Atoms Solution Design1 tableThe Table will have the following main prop interface
2 table-bodyThe table-body will have the following main prop interface
3 table-cellThe table-cell is come from two element, its td and div, since td didnt have absolute style, so i wrate the table-cell using div, its will have the following main prop interface 4 table-headThe table-head is come from th element, its will have the following main prop interface
5 table-header-cellThe table-header-cell is come from two element, its td and div, since td didnt have absolute style, so i wrate the table-header-cell using div, its will have the following main prop interface
6 table-rowThe part will used @DanishAli-Reapit code, see Danish POC Code Conceptto see the detail implementation, you can check it here (POC) please let me know if the link didnt work |
Beta Was this translation helpful? Give feedback.
-
|
hi @ksolanki7 as your feedback, here my new PR notes: i create component as simple as i can, and for table-cell (narrowLabel) if you have sugestion about new name, please let me know. |
Beta Was this translation helpful? Give feedback.
-
|
hi @kurtdoherty , i already split the PR, i mark the PR with bumber, here the list |
Beta Was this translation helpful? Give feedback.
-
|
Hi @kurtdoherty & @ksolanki7 Please review my Single and Double Row Cell POC and Solution Design Single Row CellThe Single Row Cell will have the following main prop interface
Double Row CellThe Double Row Cell will have the following main prop interface
|
Beta Was this translation helpful? Give feedback.
-
|
Hi @ksolanki7, I have updated my POC reflecting your suggestions. Introduced:
|
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I have reviewed Table DS over Figma, and trying to come up with a solution design that may best suit the elements. Please review and provide feedback.
Below is the suggested component structure
Component Structure
1. TableToolbar
2. Table
3. TablePagination
Atomic and Molecular Components within Table
Both table-specific and generic components will be played as is own tickets and will be consumed by Table component.
Table-Specific Atoms/Molecules:
General UI Components:
Each of these components supports reusability across the elements and aligns with the design requirements for accessibility and modularity.
Toolbar
This will be a new molecule and subset of Table, i.e., a Table-specific atom.
The toolbar will consist of text, a button group with buttons, and a menu.
The toolbar will have the following main prop interface
85 propertiesor21 contacts).and standard rest props like
classNameand any extra prop interface required.Suggestion:
totalItemvalue is not provided, indicating that items are still loading.ReactNodefor each option, eliminating the need to define default or custom page size options explicitly.Note: The atoms below and their prop interface do not include accessibility, which needs to be done separately in its own PR.
TableContainer
divwrapper encompassing the toolbar, table, and pagination, with a fixed width.Table
table, structured with standard table elements, includingtheadandtbody.TableHeader
theadwill optional prop interfaceTableRow
trof the table which encapsulates TableCellTableCell
tdof the table which accepts different components as childrenNote: Need to discuss width-related props in detail when picking up TableCell work. May require an enum to define enum for the type of width a cell has i.e. Fluid v/s Fixed v/s Fluid with min/max width, and hug content
PRs
Component Code Structure (Pseudocode):
Beta Was this translation helpful? Give feedback.
All reactions