UNPKG

@yamada-ui/tabs

Version:

Yamada UI tabs component

1 lines 1.95 kB
{"version":3,"sources":["../src/tabs-context.tsx"],"sourcesContent":["import type { CSSUIObject } from \"@yamada-ui/core\"\nimport type { Dispatch, SetStateAction } from \"react\"\nimport type { TabsOptions } from \"./tabs\"\nimport { createDescendant } from \"@yamada-ui/use-descendant\"\nimport { createContext } from \"@yamada-ui/utils\"\n\nexport const {\n DescendantsContextProvider: TabDescendantsContextProvider,\n useDescendant: useTabDescendant,\n useDescendants: useTabDescendants,\n useDescendantsContext: useTabDescendantsContext,\n} = createDescendant<HTMLButtonElement>()\n\nexport const {\n DescendantsContextProvider: TabPanelDescendantsContextProvider,\n useDescendant: useTabPanelDescendant,\n useDescendants: useTabPanelDescendants,\n useDescendantsContext: useTabPanelDescendantsContext,\n} = createDescendant<HTMLDivElement>()\n\ninterface TabsContext\n extends Omit<TabsOptions, \"defaultIndex\" | \"index\" | \"onChange\"> {\n disableRipple: boolean\n focusedIndex: number\n selectedIndex: number\n setFocusedIndex: Dispatch<SetStateAction<number>>\n setSelectedIndex: Dispatch<SetStateAction<number>>\n styles: { [key: string]: CSSUIObject | undefined }\n}\n\nexport const [TabsProvider, useTabsContext] = createContext<TabsContext>({\n name: \"TabsContext\",\n errorMessage: `useTabsContext returned is 'undefined'. Seems you forgot to wrap the components in \"<Tabs />\"`,\n})\n\nexport const [TabPanelProvider, useTabPanelContext] = createContext<{\n index: number\n selected: boolean\n selectedIndex: number\n}>({})\n"],"mappings":";;;AAGA,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAEvB,IAAM;AAAA,EACX,4BAA4B;AAAA,EAC5B,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,uBAAuB;AACzB,IAAI,iBAAoC;AAEjC,IAAM;AAAA,EACX,4BAA4B;AAAA,EAC5B,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,uBAAuB;AACzB,IAAI,iBAAiC;AAY9B,IAAM,CAAC,cAAc,cAAc,IAAI,cAA2B;AAAA,EACvE,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;AAEM,IAAM,CAAC,kBAAkB,kBAAkB,IAAI,cAInD,CAAC,CAAC;","names":[]}