Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
faa0453
refactor: Separate rows render logic and implement RewGroup component
abhay-keyvalue May 7, 2025
ab7e9a2
Merge pull request #5 from KeyValueSoftwareSystems/refactor/RowGroup
anitta-keyvalue May 7, 2025
2dccd54
refactor: Refactor codebase and updated folder structure
abhay-keyvalue May 7, 2025
2f43cae
refactor: table component code refactor
abhay-keyvalue May 7, 2025
1510794
Merge pull request #6 from KeyValueSoftwareSystems/refactor/folder-st…
anitta-keyvalue May 7, 2025
0f3cc06
feat: Add support for eslint, fix lint errors (#4)
anitta-keyvalue May 8, 2025
a65f7df
feat: Boilerplate using rollup, update docs (#7)
anitta-keyvalue May 12, 2025
af588ec
feat: Implement custom pagination support in MultiLevelTable componen…
abhay-keyvalue May 12, 2025
4a3d29c
feat: Implement sortable functionality in MultiLevelTable component (#8)
athirapbabu May 12, 2025
db3c384
feat: Add support for theming (#10)
anitta-keyvalue May 12, 2025
60898bc
fix: Style fixes (#12)
anitta-keyvalue May 13, 2025
681e3b6
feat: Expand icon, filter theme props (#11)
anitta-keyvalue May 13, 2025
f20903c
refactor: Update theme structure and remove default theme props (#13)
abhay-keyvalue May 13, 2025
c296bd2
Feat/unit tests (#16)
abhay-keyvalue May 13, 2025
9281bc7
Feat/unit tests (#17)
abhay-keyvalue May 13, 2025
f4bc70c
Refactor/mobile responsive (#15)
abhay-keyvalue May 13, 2025
455d56e
chore: Update TypeScript configuration and export interface (#20)
abhay-keyvalue May 13, 2025
ebc9414
feat: Add row selection functionality to MultiLevelTable (#18)
athirapbabu May 13, 2025
c69a2e7
docs: update Readme, example project (#21)
anitta-keyvalue May 15, 2025
64ed321
feat: Add row click functionality
athirapbabu May 15, 2025
da01630
fix: Style issue fixes in client app
athirapbabu May 15, 2025
c2de029
feat: Collapse expanded rows on each action (#24)
anitta-keyvalue May 19, 2025
f282279
Merge remote-tracking branch 'origin' into develop
anitta-keyvalue Jun 10, 2025
cb659ac
feat: Add filter, search and added few style updates
anitta-keyvalue Jul 21, 2025
8c1d446
feat: add components to examples folder and its style files (#29)
fathima-mirza Jul 22, 2025
1dd5450
Feat/update responsive UI (#31)
fathima-mirza Jul 23, 2025
c99a661
feat: Horizontal scroll enabling and pagination view (#32)
fathima-mirza Jul 23, 2025
2396764
fix: Remove unused style file
fathima-mirza Jul 25, 2025
0c83f71
Fix: Responsive UI changes
fathima-mirza Jul 25, 2025
b728a6b
Fix: table row style
fathima-mirza Jul 28, 2025
d9825ee
fix: Filter dropdown responsiveness
fathima-mirza Jul 28, 2025
2f6a6b6
Fix: Optional props
fathima-mirza Jul 29, 2025
a997bac
fix: Update readme, remove unused files (#36)
fathima-mirza Jul 30, 2025
98457e7
build: Update script to publish
anitta-keyvalue Jul 30, 2025
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
24 changes: 0 additions & 24 deletions .eslintrc

This file was deleted.

35 changes: 35 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"root": true,
"env": {
"browser": true,
"es2020": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"prettier"
],
"ignorePatterns": ["dist", ".eslintrc.json"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.json", "./tsconfig.test.json"],
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["react-refresh", "react", "@typescript-eslint"],
"rules": {
"react-refresh/only-export-components": [
"warn",
{ "allowConstantExport": true }
],
"react/react-in-jsx-scope": "off"
},
"settings": {
"react": {
"version": "detect"
}
}
}
44 changes: 44 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
This template outlines the recommended format for creating pull requests within this project. Please fill out all sections before submitting your PR

## Branch Naming:

- Use a descriptive branch name that reflects the change and follows the format: [type]/[brief-description]
- Replace [type] with feature, fix, refactor, hotfix, or other relevant categories
- Keep the description concise and clear

## Commit Guidelines:

- Adhere to the "scope:subject" commit message structure
- Scope can be feat, fix, docs, test, refactor, build, format, etc.
- Use imperative tense (e.g., "fix: User unable to login")
## Pull Request Checklist:

[ ] **Read the contributing guidelines** <br />
[ ] **Branch is up-to-date with the base branch: main (or other designated branch)**<br />
[ ] **Changes pass all tests: npm test or yarn test (or equivalent command)**<br />
[ ] **Documentation has been updated (if applicable)**<br />
## Description:
- Start your pull request summary with a clear and informative heading. Use the Markdown syntax `##` for the heading, like `## Your Heading Here`.
- For the section detailing the changes introduced by this pull request, use the Markdown heading `## Changes`.
- Briefly describe the changes introduced in this pull request.Ensure that the changelog has been updated accordingly
- Explain the motivation and the problem it solves
- Mention any breaking changes
- Link to related issues or internal tickets
## Additional Notes:

- Include any other relevant information, such as limitations, known issues, or future improvements.
## Screenshots (if applicable):

- Add screenshots or GIFs to help visualize your changes.
## Testing Instructions:

- Provide step-by-step instructions on how to test your changes
## Checklist for Reviewers:

[ ] **Code follows project conventions and style guidelines**<br />
[ ] **Changes do not introduce new warnings or errors**<br />
[ ] **Unit tests cover the changes adequately**<br />
[ ] **Documentation is updated correctly and reflects the changes**<br />
Additional Information:

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT License.
12 changes: 6 additions & 6 deletions .github/workflows/test-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ name: Test Suite

on:
pull_request:
branches: [master]
branches: [main, develop]

jobs:
test-and-build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
node-version: [18.x]
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -26,10 +26,10 @@ jobs:
run: npm install

- name: Linting
run: npm run eslint

- name: Run tests
run: npm run lint
- name: Test cases
run: npm run test

- name: Build
run: npm run build
run: npm run build
15 changes: 5 additions & 10 deletions .github/workflows/update-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16.x
node-version: 18.x
scope: '@keyvaluesystems'

- name: Install dependencies
Expand All @@ -43,22 +43,19 @@ jobs:
shell: bash
run: |
BRANCH="${GITHUB_REF#refs/heads/}"
if [ "$BRANCH" == 'master' ]
if [ "$BRANCH" == 'main' ]
then
echo "Branch validation Successful"
else
echo "Releases only taken from master branch"
echo "Releases only taken from main branch"
exit 1
fi

- name: Get Latest version from package.json
run: |
# Get the latest version from package.json
LATEST_VERSION=$(node -p "require('./package.json').version")

# Output the latest version as a workflow env
echo "latest_version=$LATEST_VERSION" >> $GITHUB_ENV

- name: Get new version
id: get_next_version
uses: christian-draeger/[email protected]
Expand All @@ -70,14 +67,12 @@ jobs:
run: |
OLD_VERSION=${{ env.latest_version }}
NEW_VERSION=${{ steps.get_next_version.outputs.next-version }}

npm version $NEW_VERSION --no-git-tag-version
git config user.name github-actions
git config user.email [email protected]
git add package.json package-lock.json
git commit -m "Bump version from $OLD_VERSION to $NEW_VERSION"
git push origin HEAD:master

git push origin HEAD:main
- name: Build Package
run: npm run build

Expand All @@ -90,7 +85,7 @@ jobs:
# Revert package.json and package-lock.json to the previous version
npm version ${{ env.latest_version }} --no-git-tag-version
git commit -am "Revert to version ${{ env.latest_version }}"
git push origin HEAD:master
git push origin HEAD:main
if: failure()

- name: Create GitHub release
Expand Down
72 changes: 23 additions & 49 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,52 +1,26 @@
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore

# Node artifact files
node_modules/
dist/

# Compiled Java class files
*.class

# Compiled Python bytecode
*.py[cod]

# Log files
# Logs
logs
*.log

# Package files
*.jar

# Maven
target/
dist/

# JetBrains IDE
.idea/

# Unit test reports
TEST*.xml

# Generated by MacOS
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Generated by Windows
Thumbs.db

# Applications
*.app
*.exe
*.war

# Large media files
*.mp4
*.tiff
*.avi
*.flv
*.mov
*.wmv

/node_modules
/build
coverage
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npm run lint
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

15 changes: 0 additions & 15 deletions .storybook/main.js

This file was deleted.

9 changes: 0 additions & 9 deletions .storybook/preview.js

This file was deleted.

14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Changelog

All notable changes to this project will be documented in this file.

## 1.0.0

### Added

- Initial release of React Multi Level Table component
- Support for hierarchical data with parent-child relationships
- Sorting functionality for parent rows
- Real-time filtering for specified columns
- Pagination with configurable page sizes
- Custom cell rendering with render functions
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,4 @@ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.ht
[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
https://www.contributor-covenant.org/faq
6 changes: 2 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,5 @@ Please note we have a code of conduct, please follow it in all your interactions

1. Please ensure your proposal will not radically change current functionality or bring along breaking changes.
2. PRs only consisting of typo fixes (or other automated contributions), will not be accepted.
3. Do not add any dependencies to the project.
4. Document your changes thoroughly.
5. Ensure coverage is complete (`npm run coverage` should show 100% coverage) and that none of the tests fail.
6. Be reactive to any comments, reviews or change requests entered in your pull request.
3. Document your changes thoroughly.
4. Be reactive to any comments, reviews or change requests entered in your pull request.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2025 keyvalue software systems
Copyright (c) 2025 KeyValue Software Systems

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading