├── .all-contributorsrc ├── .gitattributes ├── .github └── workflows │ ├── links-test.yml │ └── tests-and-publish.yml ├── .gitignore ├── .npmignore ├── .npmrc ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── babel.config.js ├── configs └── tests │ └── setup.js ├── docs ├── useCellRangeSelection.md ├── useColumnSummary.md └── useExportData.md ├── examples ├── cell-range-selection │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── sanbox.config.json │ ├── src │ │ ├── App.js │ │ ├── App.test.js │ │ ├── Usage.js │ │ ├── index.css │ │ ├── index.js │ │ └── makeData.js │ └── yarn.lock ├── column-summary │ ├── .babelrc │ ├── .env │ ├── .eslintrc │ ├── .gitignore │ ├── .rescriptsrc.js │ ├── README.md │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ ├── src │ │ ├── App.js │ │ ├── App.test.js │ │ ├── index.css │ │ ├── index.js │ │ └── makeData.js │ └── yarn.lock └── export-data │ ├── .babelrc │ ├── .env │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt │ ├── sandbox.config.json │ ├── src │ ├── App.js │ ├── App.test.js │ ├── index.css │ ├── index.js │ ├── makeData.js │ └── setupTests.js │ └── yarn.lock ├── jest.config.js ├── package.json ├── prettier.config.js ├── rollup.config.js ├── src ├── aggregations.js ├── index.js ├── plugins │ ├── tests │ │ └── useColumnSummary.test.js │ ├── useCellRangeSelection.js │ ├── useColumnSummary.js │ └── useExportData.js └── utils.js └── yarn.lock /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | "README.md" 4 | ], 5 | "imageSize": 100, 6 | "commit": false, 7 | "contributors": [ 8 | { 9 | "login": "gargroh", 10 | "name": "Rohit Garg", 11 | "avatar_url": "https://avatars3.githubusercontent.com/u/42495927?v=4", 12 | "profile": "https://github.com/gargroh", 13 | "contributions": [ 14 | "code", 15 | "example", 16 | "plugin", 17 | "review", 18 | "tool" 19 | ] 20 | }, 21 | { 22 | "login": "07harish", 23 | "name": "Harish Kulkarni", 24 | "avatar_url": "https://avatars3.githubusercontent.com/u/27046938?v=4", 25 | "profile": "https://github.com/07harish", 26 | "contributions": [ 27 | "code", 28 | "example", 29 | "plugin" 30 | ] 31 | }, 32 | { 33 | "login": "colinasquith", 34 | "name": "Colin Asquith", 35 | "avatar_url": "https://avatars1.githubusercontent.com/u/119640?v=4", 36 | "profile": "http://www.propellersoftware.net", 37 | "contributions": [ 38 | "doc" 39 | ] 40 | }, 41 | { 42 | "login": "brisibe", 43 | "name": "Joseph Brisibe", 44 | "avatar_url": "https://avatars1.githubusercontent.com/u/43288228?v=4", 45 | "profile": "https://github.com/brisibe", 46 | "contributions": [ 47 | "example" 48 | ] 49 | } 50 | ], 51 | "contributorsPerLine": 7, 52 | "projectName": "react-table-plugins", 53 | "projectOwner": "gargroh", 54 | "repoType": "github", 55 | "repoHost": "https://github.com", 56 | "skipCi": true 57 | } 58 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /.github/workflows/links-test.yml: -------------------------------------------------------------------------------- 1 | name: Broken Link Checker 2 | 3 | on: 4 | push: 5 | branches: 6 | - "master" 7 | pull_request: 8 | 9 | jobs: 10 | links-test: 11 | name: "Check all .md files" 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | with: 16 | fetch-depth: 1 17 | - uses: urlstechie/urlchecker-action@0.0.27 18 | with: 19 | # A subfolder or path to navigate to in the present or cloned repository 20 | subfolder: /github/workspace/ 21 | 22 | # A comma-separated list of file types to cover in the URL checks 23 | file_types: .md,.mdx 24 | 25 | # Choose whether to include file with no URLs in the prints. 26 | print_all: false 27 | 28 | # The timeout seconds to provide to requests, defaults to 5 seconds 29 | timeout: 5 30 | 31 | # How many times to retry a failed request (each is logged, defaults to 1) 32 | retry_count: 1 33 | 34 | # A comma separated links to exclude during URL checks 35 | white_listed_urls: 36 | 37 | # A comma separated patterns to exclude during URL checks 38 | white_listed_patterns: 39 | 40 | # choose if the force pass or not 41 | force_pass: false 42 | -------------------------------------------------------------------------------- /.github/workflows/tests-and-publish.yml: -------------------------------------------------------------------------------- 1 | name: react-table-plugins tests and publish 2 | 3 | on: 4 | push: 5 | branches: 6 | - "master" 7 | pull_request: 8 | 9 | jobs: 10 | test: 11 | name: "node ${{ matrix.node }} ${{ matrix.os }} " 12 | runs-on: "${{ matrix.os }}" 13 | strategy: 14 | matrix: 15 | os: [ubuntu-latest] 16 | node: [12, 10] 17 | steps: 18 | - uses: actions/setup-node@v1 19 | with: 20 | node-version: ${{ matrix.node }} 21 | - uses: actions/checkout@v2 22 | with: 23 | fetch-depth: 1 24 | - run: npm i -g yarn 25 | - run: yarn --frozen-lockfile 26 | # - run: yarn test:ci 27 | 28 | publish-module: 29 | name: "Publish Module to NPM" 30 | needs: test 31 | if: github.ref == 'refs/heads/master' #publish only when merged in master, not on PR 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v2 35 | with: 36 | fetch-depth: 1 37 | - uses: actions/setup-node@v1 38 | with: 39 | node-version: 12 40 | registry-url: https://registry.npmjs.org/ 41 | - run: npm i -g yarn 42 | - run: yarn --frozen-lockfile 43 | - run: yarn build 44 | - run: npx semantic-release@17 45 | env: 46 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 47 | GH_TOKEN: ${{secrets.GH_TOKEN}} 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | dist 14 | 15 | # misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /examples 2 | /.github 3 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # React Table Plugins Changelog 2 | 3 | Please visit [releases page](https://github.com/gargroh/react-table-plugins/releases) 4 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | - Using welcoming and inclusive language 18 | - Being respectful of differing viewpoints and experiences 19 | - Gracefully accepting constructive criticism 20 | - Focusing on what is best for the community 21 | - Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | - The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | - Trolling, insulting/derogatory comments, and personal or political attacks 28 | - Public or private harassment 29 | - Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | - Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at ROHIT08133@GMAIL.COM. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## Development 4 | 5 | If you have been assigned to fix an issue or develop a new feature, please follow these steps to get started: 6 | 7 | - Fork this repository 8 | - Install dependencies by running `$ yarn` 9 | - Link `react-table-plugins` locally by running `$ yarn link` 10 | - Auto-build files as you edit by running `$ yarn start` 11 | - Implement your changes and tests to files in the `src/` directory and corresponding test files 12 | - To run examples, follow their individual directions. Usually this is just `$ yarn && yarn start`. 13 | - To run examples using your local build, link to the local `react-table-plugins` by running `$ yarn link react-table-plugins` from the example's directory 14 | - Document your changes in the appropriate doc page 15 | - Git stage your required changes and commit (see below commit guidelines) 16 | - Submit PR for review 17 | 18 | ## Commit message conventions 19 | 20 | `react-table-plugins` is using [Angular Commit Message Conventions](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines). 21 | 22 | We have very precise rules over how our git commit messages can be formatted. This leads to **more readable messages** that are easy to follow when looking through the **project history**. 23 | 24 | ### Commit Message Format 25 | 26 | Each commit message consists of a **header**, a **body** and a **footer**. The header has a special 27 | format that includes a **type**, a **scope** and a **subject**: 28 | 29 | ``` 30 | (): 31 | 32 | 33 | 34 |