Giter VIP home page Giter VIP logo

reactackle's People

Contributors

dmitriy-bizyaev avatar dmitrymalakhov avatar netmenya avatar nickmaltsev avatar piroszhog avatar sergeimonakhov avatar vnadygin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reactackle's Issues

Accessibility best practices seem to not be present

I spent a minute or two and found several accessibility issues with the components immediately, for example:

  • not trapping tab navigation in dialogs
  • no aria attributes on checkboxes
  • missing outline/active styles on checkboxes, buttons, etc.
  • arrow buttons don't change Select dropdown choices
  • focusing other elements doesn't close custom select dropdowns

This signals to me that you folks haven't done much with accessibility (that's fine, few have). Or maybe you're just saving that work for later (good luck, that usually doesn't go well 😑).

I don't have time to do a full audit, and the amount of code that needs to change is probably pretty considerable. So I'm opening this issue to point you to a document that can help you dive deeper into accessibility.

https://www.w3.org/TR/wai-aria-practices-1.1/

I'd just encourage you to spend a day studying this document, then implement the proper attributes and behavior to create a more accessible web. If your components aren't highly accessible, you've only done half the job of a library like this 🤗

add support virtualized for large option list

I propose add a prop virtualizeOptionList to Select Box. If virtualizeOptionList set true, then rendering using react-virtualized or a similar approach. It's very nice for large options list.

Parse linked props

Ex. defaultProps in Tabs - now we can't parse such props as DefaultLinkComponent in example:

const defaultProps = {
  linkComponent: DefaultLinkComponent,
};

image

Tooltip enhancement

  1. Make mouse following optional. In this case tooltip can be shown by hovering or focusing parent component & positioned with AutoPosition component. Hide tooltip on blur.
  2. Add possibility to add more complex content to the tooltip.

Dialog enter press handling.

Add enterHandling flag that define should we press focused button on enter key press.
Add focusedButton prop that determine which button to focus.
Remove onEnterKeyPress prop.

Add ability to override styles not only via themes

Hi guys.
Here is the complain with a bit of tips that may help :)
From what I can see now, those components styles are impossible to override using
Button.extend styled-components API. It's fine for something sophisticated like Checkboxes and other stuff, but for things that can be easily extend this way (Buttons, Inputs, Forms etc), I think it's very important.
Also styled(Button)won't work too, since you don't pass down className to the core component (in this case Button itself).
For things like styling of nested elements you can use something like labelStyles props where you can inject compiled CSS chunk via css function from styled-components.
And then import them at the bottom of the Label this way.

export const Label =styled.label`
  ${props => props.css}
`;

So you can override its properties without any className hooks, like labelClass prop so you pass it to label and then inject it like

const NewForm = styled(Form).attrs({
  labelClass: "overriden-form-label"
})`
  & .overriden-form-label {
    font-size: 20px;
  }
`

This flexibility is VERY important :)
Hope my suggestions will help with that.

Expand type support in TextField

We have correct support but need to add missing attributes for:

  • date
  • datetime-local
  • email
  • month
  • number
  • password
  • search
  • tel
  • text
  • url
  • week

We have correct support but need to add missing attributes and styling for:

  • file
  • range
  • color
  • hidden

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.