Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apprentice Project: Create a new Input component #150

Closed
bsbeeks opened this issue Jan 27, 2016 · 2 comments
Closed

Apprentice Project: Create a new Input component #150

bsbeeks opened this issue Jan 27, 2016 · 2 comments

Comments

@bsbeeks
Copy link
Contributor

bsbeeks commented Jan 27, 2016

Purpose

The main purpose of this project is to gauge your technical and problem solving abilities for acceptance into MX's apprenticeship program. We are looking for clean, discoverable code. We will be evaluating your solution using the following criteria:

  • Does the component address all of the desired functionality
  • Is the code organized and easy to follow
  • Did you follow the outlined process
  • How (if at all) did you go above and beyond...this isn't required, but something we'll look at

Please feel free to comment on this Issue with any question or clarification.

Process

  • Fork the mx-react-components repo
  • Build the component (Refer to CONTRIBUTING.md)
  • Create a pull request against the mx-react-components repo master branch
  • Once the PR is open we'll review it and get back to you

Design Requirements

Input designs usually vary from project to project. Because of this the component should have a bare but configurable design. That being said, if you'd like to provide an option on the component to use a predefined design you are more than welcome to.

Desired Functionality

The component should include at least the following criteria:

  • Validation based on field type
  • Prefix and suffix options (Example: the ability to add a static currency symbol)
  • Hover and focus states
  • Label option
  • Responsive width. The component should fill the width of it's containing element.
  • onChange handler. A way for parent elements to know when the value changes
  • Placeholder option
  • Default value option

Other Requirements

  • Name it Input
  • Use createClass instead of ES6 classes
  • Exposed it for use inIndex.js
  • Add an example to demo/app.js
  • Utilize ES6 syntax and features where appropriate
  • Utilize constants/Style where appropriate
  • Provide a detailed explanation of the component in your pull request. See Add TypeAhead Component #17 for an example.
@pjtatlow
Copy link

Do you want the suffix to be fixed to the end of the input? Or would you rather it move toward the back as you type?

@bsbeeks
Copy link
Contributor Author

bsbeeks commented Mar 11, 2016

@payhota your call 😄. I can see pros and cons to both approaches.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants