UNPKG

@kiwicom/orbit-components

Version:

Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.

125 lines (91 loc) 7.55 kB
# Stepper To implement Stepper component into your project you'll need to add the import: ```jsx import Stepper from "@kiwicom/orbit-components/lib/Stepper"; ``` After adding import into your project you can use it simply like: ```jsx <Stepper /> ``` ## Props Table below contains all types of the props available in Stepper component. | Name | Type | Default | Description | | :------------- | :-------------------------- | :------ | :---------------------------------------------------------------------------- | | dataTest | `string` | | Optional prop for testing purposes. | | defaultValue | `number` | `0` | Specifies the value of the Stepper. [See Functional specs](#functional-specs) | | disabled | `boolean` | `false` | If `true`, the Stepper will be disabled. | | maxValue | `number` | `∞` | Specifies the maximum value for the Stepper. | | minValue | `number` | `-∞` | Specifies the minimum value for the Stepper. | | name | `string` | | The name for the Stepper. | | onBlur | `event => void \| Promise` | | Function for handling onBlur event. | | onChange | `number => void \| Promise` | | Function for handling onClick event. | | onFocus | `event => void \| Promise` | | Function for handling onFocus event. | | step | `number` | `1` | Specifies the value of step to increment and decrement. | | titleDecrement | `string | (any => string)` | | Specifies `title` property on decrement `Button`. | | titleIncrement | `string | (any => string)` | | Specifies `title` property on increment `Button`. | ## Functional specs - The prop `defaultValue` sets up the default value when component mounts. If you need to get the current value of Stepper, use arrow function for it. The second parameter `name` is optional. The code may look like this: ```jsx <Stepper onChange={(value, name) => doSomething(value, name)} /> ``` # StepperStateless InputStepper offers a stateless version for your custom solutions. To use `StepperStateless` you'll need to add the import ```jsx import StepperStateless from "@kiwicom/orbit-components/lib/Stepper/StepperStateless"; ``` ## Props Table below contains all types of the props available in `StepperStateless` component. | Name | Type | Default | Description | | :---------------- | :-------------------------- | :------ | :---------------------------------------------------------------------------- | | dataTest | `string` | | Optional prop for testing purposes. | | defaultValue | `number` | `0` | Specifies the value of the Stepper. [See Functional specs](#functional-specs) | | disabled | `boolean` | `false` | If `true`, the Stepper will be disabled. | | disabledIncrement | `boolean` | | If `true`, the increment `Button` will be disabled. | | disabledDecrement | `boolean` | | If `true`, the decrement `Button` will be disabled. | | maxValue | `number` | `∞` | Specifies the maximum value for the Stepper. | | minValue | `number` | `-∞` | Specifies the minimum value for the Stepper. | | name | `string` | | The name for the Stepper. | | onBlur | `event => void \| Promise` | | Function for handling onBlur event. | | onChange | `number => void \| Promise` | | Function for handling onClick event. | | onDecrement | `event => void \| Promise` | | Function for handling decrement event.l | | onFocus | `event => void \| Promise` | | Function for handling onFocus event. | | onIncrement | `event => void \| Promise` | | Function for handling increment event. | | onKeyDown | `event => void \| Promise` | | Function for handling onKeyDown event present on input. | | step | `number` | `1` | Specifies the value of step to increment and decrement. | | titleDecrement | `string | (any => string)` | | Specifies `title` property on decrement `Button`. | | titleIncrement | `string | (any => string)` | | Specifies `title` property on increment `Button`. | | value | `number | string` | | Specifies the value of the StepperStateless. | ### Usage: ```jsx <StepperStateless value={"2 adults"} /> ``` ## Helper functions We provide you with helpers function for validation they can be imported like this: ```jsx import validateIncrement from "@kiwicom/orbit-components/lib/utils/validateIncrement"; import validateDecrement from "@kiwicom/orbit-components/lib/utils/validateDecrement"; ``` ### ValidateIncrement Helper function for validating increment. Can be used with Stateless Stepper to make custom validation easier. #### Arguments | Name | Type | Default | Description | | :------- | :------- | :------ | :--------------------------------------------------------- | | value | `number` | | Specifies the the current value. | | maxValue | `number` | `∞` | Specifies the maximum value for the InputStepperStateless. | | step | `number` | `1` | Specifies the value of step to increment and decrement. | #### Usage ```js validateIncrement({ value, maxValue, step }); ``` ### ValidateDecrement Helper function for validating decrement. Can be used with Stateless Stepper to make custom validation easier. #### Arguments | Name | Type | Default | Description | | :------- | :------- | :------ | :--------------------------------------------------------- | | value | `number` | | Specifies the the current value. | | minValue | `number` | `-∞` | Specifies the minimum value for the InputStepperStateless. | | step | `number` | `1` | Specifies the value of step to increment and decrement. | #### Usage ```js validateDecrement({ value, minValue, step }); ```