Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / @skava/ui   js

Repository URL to install this package:

Version: 2.8.8 

/ src / components / organisms / RangeSlider / typings.ts

import { ReactNode, ReactEventHandler } from 'react'

export interface RangeSliderRenderProp extends Function {
  (props: RangeSliderProps, state?: RangeSliderState): ReactNode
}

// @todo @sadiq - This typing is not required, remove it when tyou change the styles
export interface RangeSliderAttributeProps {
  max: number
  min: number
  step: number
  selectedValue: number
  stepValue: number
  initialMaxValue: number
}

export interface RangeSliderCommonProps {
  maxValue?: number
  minWidth?: number
  maxWidth?: number
  selectedMinValue: number
  selectedMaxValue: number
  selectedValue?: number
  stepValue?: number
}

export interface RangeSliderProps extends RangeSliderCommonProps {
  className?: string
  children?: ReactNode
  dataQa?: string
  state?: RangeSliderState
  //
  currencyType: string
  currencyOrder: string
  color?: string
  //
  renderRangeValues: RangeSliderRenderProp
  renderSliderInput?: RangeSliderRenderProp
  renderBox?: RangeSliderRenderProp
  renderWrapper?: RangeSliderRenderProp
  renderOption?: RangeSliderRenderProp
  //
  onMinChange?: ReactEventHandler<HTMLButtonElement>
  onMaxChange?: ReactEventHandler<HTMLButtonElement>
}

export interface RangeSliderState extends RangeSliderCommonProps {
  initialMaxValue?: number
  minValue?: number
  setSelectedMin(targetValue: number): void
  setSelectedMax(targetValue: number): void
  optionList?(maxValue: number): Array<Object>
  setSelectedValue(): void
}