Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 0 additions & 49 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

85 changes: 85 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Bug report
description: Create a report to help us improve
title: "[BUG]: "
labels: ["bug"]
body:
- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I agree to the [Code of Conduct](https://github.com/jbetancur/react-data-table-component/blob/master/CODE-OF-CONDUCT.md)
required: true
- label: I searched [existing issues](https://github.com/jbetancur/react-data-table-component/issues?q=is%3Aissue) and this is not a duplicate
required: true
- label: I read the [documentation](https://reactdatatable.com)
required: true

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Steps to reproduce the behavior.
placeholder: |
1.
2.
3.
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
description: What you expected to happen.
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
description: What actually happens.
validations:
required: true

- type: input
id: minimal-repro
attributes:
label: Minimal reproduction
description: A public GitHub repo, StackBlitz, or a self-contained code snippet that reproduces the issue. **Required — issues without one may be closed.**
placeholder: https://stackblitz.com/edit/...
validations:
required: true

- type: input
id: rdt-version
attributes:
label: react-data-table-component version
placeholder: e.g. 8.4.1
validations:
required: true

- type: input
id: react-version
attributes:
label: React version
placeholder: e.g. 18.3.1
validations:
required: true

- type: input
id: environment
attributes:
label: Browser & OS
placeholder: e.g. Chrome 126 on macOS 15
validations:
required: true
3 changes: 0 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,3 @@ contact_links:
- name: Documentation & Recipes
url: https://reactdatatable.com
about: Check the docs and recipes — most questions are already answered here.
- name: GitHub Discussions
url: https://github.com/jbetancur/react-data-table-component/discussions
about: Ask usage questions, share ideas, or get help from the community.
32 changes: 0 additions & 32 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Feature request
description: Suggest an idea for this project
title: "[FEATURE]: "
labels: ["enhancement"]
body:
- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I agree to the [Code of Conduct](https://github.com/jbetancur/react-data-table-component/blob/master/CODE-OF-CONDUCT.md)
required: true
- label: I searched [existing issues](https://github.com/jbetancur/react-data-table-component/issues?q=is%3Aissue) and this has not been requested before
required: true
- label: I read the [documentation](https://reactdatatable.com) and this feature does not already exist
required: true
- label: I considered whether this could be solved with a documentation example or recipe instead
required: true
- label: I considered the maintenance burden and value for all library users
required: true

- type: textarea
id: problem
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is.
validations:
required: true

- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Any alternative solutions or workarounds you've considered.
validations:
required: false

- type: textarea
id: context
attributes:
label: Additional context
description: Screenshots, examples, or any other context about the feature request.
validations:
required: false
19 changes: 0 additions & 19 deletions .github/ISSUE_TEMPLATE/usage_question.md

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ jobs:
echo "EOF" >> $GITHUB_OUTPUT

- name: Create GitHub release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
tag_name: v${{ steps.version.outputs.value }}
name: v${{ steps.version.outputs.value }}
Expand Down
3 changes: 2 additions & 1 deletion .markdownlint.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"MD013": false,
"MD024": { "siblings_only": true }
"MD024": { "siblings_only": true },
"MD025": false
}
28 changes: 0 additions & 28 deletions .travis.yml

This file was deleted.

20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,26 @@

A summary of notable changes per release. For the full commit history see the [repository on GitHub](https://github.com/jbetancur/react-data-table-component/commits/master).

## 8.4.2

### Behavior changes

- The expandable-row toggle button's hover/focus highlight is now sized to the icon instead of filling the entire cell.

### Bug fixes

- Fixed `selectableRowsComponentProps` resolving only the last entry when multiple function-valued props were passed — all function props now resolve correctly. → [Row selection](/docs/selection)

---

## 8.4.1

### Bug fixes

- Fixed a crash (`Cannot read properties of null (reading 'columnId')`) that tore down the table at the end of nearly every column resize drag under React 18. ([#1326](https://github.com/jbetancur/react-data-table-component/pull/1326))

---

## 8.4.0

### New features
Expand Down
23 changes: 23 additions & 0 deletions apps/docs/src/components/DocsTable.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
interface Props {
headers: string[];
rows: string[][];
}

const { headers, rows } = Astro.props;
---

<table>
<thead>
<tr>
{headers.map(header => <th set:html={header} />)}
</tr>
</thead>
<tbody>
{rows.map(row => (
<tr>
{row.map(cell => <td set:html={cell} />)}
</tr>
))}
</tbody>
</table>
7 changes: 6 additions & 1 deletion apps/docs/src/components/demos/ColumnsDemo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ export default function ColumnsDemo() {
const [showDept, setShowDept] = useState(true);
const [showSalary, setShowSalary] = useState(true);
const [filterable, setFilterable] = useState(false);
const [dense, setDense] = useState(false);

const columns: TableColumn<Employee>[] = [
{
Expand Down Expand Up @@ -126,8 +127,12 @@ export default function ColumnsDemo() {
<button className={`${btnBase} ${filterable ? btnOn : btnOff}`} onClick={() => setFilterable(p => !p)}>
filterable
</button>
<span className="text-gray-300 mx-1">|</span>
<button className={`${btnBase} ${dense ? btnOn : btnOff}`} onClick={() => setDense(p => !p)}>
dense
</button>
</div>
<DataTable columns={columns} data={data} defaultSortFieldId="name" highlightOnHover dense />
<DataTable columns={columns} data={data} defaultSortFieldId="name" highlightOnHover dense={dense} />
</div>
);
}
3 changes: 2 additions & 1 deletion apps/docs/src/components/demos/HeadlessDemo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,15 @@ export default function HeadlessDemo() {
onChangeRowsPerPage: () => {},
});

const { selectedColumn, sortDirection, currentPage, rowsPerPage } = tableState;
const { selectedColumn, sortDirection, sortColumns, currentPage, rowsPerPage } = tableState;

// 3. Sorted + paginated rows
const { sortedData, tableRows } = useTableData<Employee>({
data,
columns: tableColumns,
selectedColumn,
sortDirection,
sortColumns,
currentPage,
rowsPerPage,
pagination: true,
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/pages/docs/accessibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Sortable column headers expose `aria-sort` so screen readers announce the curren
| Sorted Z → A / high → low | `"descending"` |
| Column not sortable | attribute omitted |

**Keyboard**: sortable headers receive `tabIndex={0}`. Press **Enter** to toggle the sort direction. Non-sortable headers are removed from the tab order.
**Keyboard**: sortable headers receive `tabIndex={0}`. Press **Enter** to toggle the sort direction. Non-sortable headers are removed from the tab order. Keyboard focus is indicated with a visible `:focus-visible` outline in the theme's primary color.

---

Expand Down
Loading
Loading