├── .babelrc.json ├── .github └── ISSUE_TEMPLATE │ ├── bug-report.md │ └── feature-request.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── assets └── logos │ ├── angular-tailwind-logo.png │ ├── chrome-logo.png │ ├── edge-logo.png │ ├── firefox-logo.png │ ├── javascript-tailwind-logo.png │ ├── opera-logo.png │ ├── reactjs-tailwind-logo.png │ ├── safari-logo.png │ ├── svelte-tailwind-logo.png │ └── vuejs-tailwind-logo.png ├── dist ├── Alert.js ├── Button.js ├── Dropdown.js ├── DropdownItem.js ├── DropdownMenu.js ├── DropdownToggle.js ├── Modal.js ├── ModalBody.js ├── ModalContent.js ├── ModalDialog.js ├── ModalFooter.js ├── ModalHead.js ├── ModalTitle.js ├── Navbar.js ├── NavbarBrand.js ├── NavbarCollapse.js ├── NavbarContainer.js ├── NavbarItem.js ├── NavbarLink.js ├── NavbarNav.js ├── NavbarToggler.js ├── Popover.js ├── PopoverBody.js ├── PopoverHead.js ├── TabContainer.js ├── TabContent.js ├── TabItem.js ├── TabLink.js ├── Tooltip.js └── index.js ├── package.json └── src ├── Alert.js ├── Button.js ├── Dropdown.js ├── DropdownItem.js ├── DropdownMenu.js ├── DropdownToggle.js ├── Modal.js ├── ModalBody.js ├── ModalContent.js ├── ModalDialog.js ├── ModalFooter.js ├── ModalHead.js ├── ModalTitle.js ├── Navbar.js ├── NavbarBrand.js ├── NavbarCollapse.js ├── NavbarContainer.js ├── NavbarItem.js ├── NavbarLink.js ├── NavbarNav.js ├── NavbarToggler.js ├── Popover.js ├── PopoverBody.js ├── PopoverHead.js ├── TabContainer.js ├── TabContent.js ├── TabItem.js ├── TabLink.js ├── Tooltip.js └── index.js /.babelrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-env", 4 | "@babel/preset-react" 5 | ], 6 | "plugins": [ 7 | "@babel/plugin-proposal-class-properties", 8 | ["@babel/plugin-proposal-decorators", {"decoratorsBeforeExport": true}], 9 | "@babel/plugin-proposal-do-expressions", 10 | "@babel/plugin-proposal-export-default-from", 11 | "@babel/plugin-proposal-export-namespace-from", 12 | "@babel/plugin-proposal-function-bind", 13 | "@babel/plugin-proposal-function-sent", 14 | "@babel/plugin-proposal-json-strings", 15 | "@babel/plugin-proposal-logical-assignment-operators", 16 | "@babel/plugin-proposal-nullish-coalescing-operator", 17 | "@babel/plugin-proposal-numeric-separator", 18 | "@babel/plugin-proposal-optional-chaining", 19 | ["@babel/plugin-proposal-pipeline-operator", {"proposal": "fsharp"}], 20 | "@babel/plugin-proposal-throw-expressions", 21 | "@babel/plugin-syntax-class-properties", 22 | "@babel/plugin-syntax-dynamic-import", 23 | "@babel/plugin-syntax-import-meta" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report Template 3 | about: "For bug reports. Please search for existing issues first. Also see CONTRIBUTING." 4 | --- 5 | 6 | !!! IF YOU DO NOT USE THIS ISSUES TEAMPLATE, YOUR ISSUE IS LIABLE TO BEING IGNORED BY US 7 | 8 | # Prerequisites 9 | 10 | Please answer the following questions for yourself before submitting an issue. 11 | 12 | - [ ] I am running the latest version 13 | - [ ] I checked the documentation and found no answer 14 | - [ ] I checked to make sure that this issue has not already been filed 15 | - [ ] I am sure this is a bug report, and not a feature request 16 | - [ ] I'm reporting the issue to the correct repository (for multi-repository projects) 17 | 18 | # Expected Behavior 19 | 20 | Please describe the behavior you are expecting 21 | 22 | # Current Behavior 23 | 24 | What is the current behavior? 25 | 26 | # Failure Information 27 | 28 | Please help provide information about the failure if this is a bug. 29 | 30 | ## Steps to Reproduce 31 | 32 | Please provide detailed steps for reproducing the issue. 33 | 34 | 1. step 1 35 | 2. step 2 36 | 3. you get it... 37 | 38 | ## Context 39 | 40 | Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. 41 | 42 | * Device: 43 | * NodeJS Version: 44 | * Operating System: 45 | * Browser and Version: 46 | 47 | ## Failure Logs 48 | 49 | Please include any relevant log snippets or files here. 50 | 51 | ## Solution 52 | 53 | If you've found a solution for this bug, but cannot make a PR, please leave it here, and we'll make an update with the fix ASAP. 54 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request Template 3 | about: "For feature requests. Please search for existing issues first. Also see CONTRIBUTING." 4 | --- 5 | 6 | !!! IF YOU DO NOT USE THIS ISSUES TEAMPLATE, YOUR ISSUE IS LIABLE TO BEING IGNORED BY US 7 | 8 | # Prerequisites 9 | 10 | Please answer the following questions for yourself before submitting an issue. 11 | 12 | - [ ] I am running the latest version 13 | - [ ] I checked the documentation and found no answer 14 | - [ ] I checked to make sure that this issue has not already been filed 15 | - [ ] I am sure this is a feature request, and not a bug report 16 | - [ ] I'm reporting the issue to the correct repository (for multi-repository projects) 17 | 18 | # Please describe the problem you've encountered 19 | 20 | Please present a concise description of the problem to be addressed by this feature request. 21 | Please be clear what parts of the problem are considered to be in-scope and out-of-scope. 22 | 23 | # (Optional) Suggest a solution 24 | 25 | A concise description of your preferred solution. Things to address include: 26 | * Details of the technical implementation 27 | * Tradeoffs made in design decisions 28 | * Caveats and considerations for the future 29 | 30 | If there are multiple solutions, please present each one separately. Save comparisons for the very end. 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /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 contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at allframeworkscomponents@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][https://www.contributor-covenant.org/], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 44 | 45 | [homepage]: https://www.contributor-covenant.org 46 | 47 | For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq 48 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for your interest in contributing! Please feel free to put up a PR for any issue, feature request or enhancement. 4 | 5 | Even if you have little to no experience with Tailwindcss, JavaScript or React, we'd be more than happy to help you with any information or guidance in order to fulfill your PR. 6 | 7 | ## Reporting issues & features requests 8 | 9 | If you notice any bugs in the code, see some code that can be improved, or have features you would like to be added, please create a [bug report](https://github.com/afc-org/react-tailwind/issues/new?template=bug-report---.md) or a [feature request](https://github.com/afc-org/react-tailwind/issues/new?template=feature-request---.md)! 10 | 11 | If you want to open a PR that fixes a bug or adds a feature, then we can't thank you enough! 12 | 13 | ## Working on issues 14 | 15 | Please feel free to take on any issue that's currently open. Just send a comment in order to let us know you're working on it so we can assign that specific issue to you. 16 | 17 | ## Submitting a pull request 18 | 19 | **@afc-org/react-tailwind** is an open-source project, so pull requests are always welcomed (_always_ ❤️). 20 | What we ask you, is that before working on a large change, it is best to open an issue first to discuss it with the maintainers or if an issue was already opened, comment your intention of opening up a PR. 21 | 22 | When in doubt, keep your pull requests small. To give a PR the best chance of getting accepted, don't bundle more than one feature or bug fix per pull request. It's always best to create two smaller PRs than one big one. 23 | 24 | ### Branch types 25 | 26 | 1. **Feature** - New implementation code that is required for product development. Everything that is not considered a defect and brings value is considered a feature. Example: **feature/GBXB-483-enable-SSR** 27 | 2. **Bug** - Defects, either flagged by the QA team or any of the parties involved in the project, missing functionality or wrongly implemented functionality, they all fall into the “bug” category. Branches that solve such defects should be prefixed with the **bug** prefix. Example: **bug/GBXB-441-fix-double-spending** 28 | 3. **Chore** — Miscellaneous work not related to the project code. For example, updating node module versions, renaming an environment configuration file or removing unused variables. Example: **chore/rename-dotenv-preference-file** 29 | 4. **Docs** — Any work that relates to project-level and code-level documentation. Whether it is work related to the project **README**, or code-level documentation, branches that host this type of work should use this prefix. Example: **docs/GBXB-483-enable-SSR** 30 | 31 | ### Commit formatting 32 | Every file changed should have its own commit message and each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: 33 | ``` 34 | (): 35 | 36 | 37 | 38 |