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: 4.2.0-a11y.0 

/ src / components / molecules / AccordionBlock / typings.ts

import { ReactNode } from 'react'
import { EventHandlerArg } from 'typings/generic'
import { AccordionTitleProps } from './AccordionTitle'

export type AccordionEventHandlerArgs = EventHandlerArg<
  AccordionBlockProps,
  AccordionBlockState
>

export interface AccordionOnToggle extends Function {
  (args: AccordionEventHandlerArgs): void
}

export interface AccordionRenderProp extends Function {
  (props: AccordionBlockProps, state: AccordionBlockState): ReactNode
}

export interface StandardProps {
  children?: ReactNode
  className?: string
}

export interface AccordionBlockProps extends StandardProps {
  state?: AccordionBlockState
  title: string
  activeTitle?: string
  qa?: string
  isVisible?: boolean
  isDisabled?: boolean
  isDefaultVisible?: boolean
  isPlusMinus?: boolean
  shouldShowArrowIcon?: boolean
  id?: string
  ariaLevel?: number
  /**
   * @invalid - naming for event ExtensionPoints are ON
   */
  onToggle?: AccordionOnToggle
  render?: AccordionRenderProp
  renderWrapper?: AccordionTitleProps
  renderIcon?: AccordionTitleProps
}

// @todo
export interface AccordionBlockState {
  isVisible: boolean
}