Files
react/components/tabs/tabs-context.ts
witt 9e23b4c75b feat(tabs): sync the label and set value to required (#334)
* feat(tabs): sync the label and set value to required

* test(tabs): add testcase for label sync

* docs(tabs): update value to required
2020-07-21 18:45:53 +08:00

22 lines
464 B
TypeScript

import React from 'react'
export interface TabsLabelItem {
value: string
label: string | React.ReactNode
disabled: boolean
}
export interface TabsConfig {
register?: (item: TabsLabelItem) => void
currentValue?: string
inGroup: boolean
}
const defaultContext = {
inGroup: false,
}
export const TabsContext = React.createContext<TabsConfig>(defaultContext)
export const useTabsContext = (): TabsConfig => React.useContext<TabsConfig>(TabsContext)