Comments (5)
👍 thanks, all good feedback and suggestions! I'll update this issue with the new AC and create some followup issues. agreed this is where it would be helpful to have epics.. but for now I'll use the example
label on this work.
@haworku my thinking behind including Redux was to show an example of how you might want to control UI such as a Modal being open/closed.
from react-uswds.
The example application would specifically highlight how react-uswds
can integrate with other widely used react dependencies - perhaps libraries for building tables, forms, etc.
from react-uswds.
Ok here's my initial proposal:
- create a directory in the project root called
example
,kitchensink
, something of that sort - set up the directory with a basic react application, maybe using create react app?
- throw in with some libs commonly used with react, such as react router, redux, formik, and react hook form
- using USWDS components, create a basic page / navigation layout so that individual pages can be created easily
- add some initial pages with content that shows how to use some of the more complex components (modal, forms with different libraries, etc.)
All of the above is probably too much for one issue 🙃 SO if that sounds like a good plan, I would suggest let this issue represent the first TWO steps above, and then create follow-up issues for the others. how does that sound?
from react-uswds.
Here are my thoughts on the proposal:
- I agree with having the project in an example directory. I believe this is fairly common.
- It seems smart to use create-react-app. This also seems like a jumping off point for a lot of react projects.
- I think throwing in some common libraries would be good as long as it doesn't make it overly complicated and distract from the actual implementation of react-uswds.
- Sounds good!
- Also sounds good :) I don't think we need to show every component
I think we should make it clear you don't have to use any other specific library to use react-uswds and we aren't prescribing the example libraries we use. It would also be neat if we were able to use the example project as some form of documentation. I am not sure how to achieve this though :)
I definitely think this should be broken into different issues. There are a lot of steps to create this.
from react-uswds.
This sounds good to me.
Additional libs to consider:
moment
(maybe worth showing how you could take a db time and translate for use in the various data/time components)react-table
or other table libraries- an i18n library - maybe
react-i18next
orreact-intl
Also wondering why bother with redux
? I'm less clear this is needed because I don't see how redux relates to component UI. Maybe I'm thinking about this wrong though.
Other things to maybe implement:
- A form with strict validation and warnings (maybe a payment form or somethign that needs text, phone numbers, emails, credit cards in a certain format)
- something simple that shows off loading states - components that load async
Seeing this list I think that would make it easier to develop is if we had a simple plan documented somewhere (so once new Trussels are working on the repo there's a clear single place that collects ideas for what to implement next- in case we don't get to some things now). This is where an epic would be helpful haha.
from react-uswds.
Related Issues (20)
- [feat] Provide mechanism for GA tracking interactive components
- [docs] Make id and name optional
- [feat] Consistently `export` component props (CheckboxProps, etc) so they can be easily overridden HOT 2
- [docs] Not possible to see the React code of stories HOT 1
- [fix] the name attribute should be on the <input> not the <select>
- [fix] Language selector for two languages has invalid ARIA attribute
- [fix]: Make icons render accessibly and as intended by USWDS
- [build] Group dependency update PRs HOT 1
- [fix] <Search/> component does not have "X" to clear HOT 3
- [build] Fix USWDS.svg 404 in storybook HOT 1
- [fix] StepIndicator has hard-coded English status "[not] completed"
- [docs] Storybook: odd styling for label with required marker HOT 2
- [fix] smooth scrolling css leaks from component to whole package
- [feat] Automated accessibility check to our development pipeline. HOT 4
- [fix] Character counts announced excessively by screen readers
- [fix]: Pagination a11y issue on role attribute
- [fix] DatePicker component uses defaultProps which is to be deprecated and causes console warning. HOT 2
- Button component doesn't accept className prop when consumed
- [feat] The TimePicker component should support 24 hour time formats
- [feat] Add Page Number Value to Pagination Buttons
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-uswds.