{"version":3,"file":"atoms.mjs","names":["BaseUITabs"],"sources":["../../../src/base-ui/Tabs/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { Tabs as BaseUITabs } from '@base-ui/react/tabs';\nimport { cx } from 'antd-style';\nimport { createContext, type FC, use, useMemo } from 'react';\n\nimport { indicatorVariants, listVariants, styles, tabVariants } from './style';\nimport type {\n  TabsIndicatorProps,\n  TabsListProps,\n  TabsPanelProps,\n  TabsRootProps,\n  TabsSize,\n  TabsTabProps,\n  TabsVariant,\n} from './type';\n\ninterface TabsContextValue {\n  size: TabsSize;\n  variant: TabsVariant;\n}\n\nconst TabsContext = createContext<TabsContextValue>({ size: 'middle', variant: 'rounded' });\n\nexport const useTabsContext = () => use(TabsContext);\n\ntype TabsRootInternalProps = TabsRootProps & {\n  size?: TabsSize;\n  variant?: TabsVariant;\n};\n\nexport const TabsRoot: FC<TabsRootInternalProps> = ({\n  children,\n  size = 'middle',\n  variant = 'rounded',\n  ...rest\n}) => {\n  const contextValue = useMemo(() => ({ size, variant }), [size, variant]);\n\n  return (\n    <TabsContext value={contextValue}>\n      <BaseUITabs.Root {...rest}>{children}</BaseUITabs.Root>\n    </TabsContext>\n  );\n};\n\nTabsRoot.displayName = 'TabsRoot';\n\nexport const TabsList: FC<TabsListProps> = ({ className, variant: variantProp, ...rest }) => {\n  const ctx = useTabsContext();\n  const variant = variantProp ?? ctx.variant;\n\n  return <BaseUITabs.List className={cx(listVariants({ variant }), className)} {...rest} />;\n};\n\nTabsList.displayName = 'TabsList';\n\nexport const TabsTab: FC<TabsTabProps> = ({\n  className,\n  size: sizeProp,\n  variant: variantProp,\n  ...rest\n}) => {\n  const ctx = useTabsContext();\n  const size = sizeProp ?? ctx.size;\n  const variant = variantProp ?? ctx.variant;\n\n  return <BaseUITabs.Tab className={cx(tabVariants({ size, variant }), className)} {...rest} />;\n};\n\nTabsTab.displayName = 'TabsTab';\n\nexport const TabsPanel: FC<TabsPanelProps> = ({ className, ...rest }) => {\n  return <BaseUITabs.Panel className={cx(styles.panel, className)} {...rest} />;\n};\n\nTabsPanel.displayName = 'TabsPanel';\n\nexport const TabsIndicator: FC<TabsIndicatorProps> = ({\n  className,\n  variant: variantProp,\n  ...rest\n}) => {\n  const ctx = useTabsContext();\n  const variant = variantProp ?? ctx.variant;\n\n  return (\n    <BaseUITabs.Indicator\n      renderBeforeHydration\n      className={cx(indicatorVariants({ variant }), className)}\n      {...rest}\n    />\n  );\n};\n\nTabsIndicator.displayName = 'TabsIndicator';\n\nexport { styles as tabsStyles } from './style';\n"],"mappings":";;;;;;;AAsBA,MAAM,cAAc,cAAgC;CAAE,MAAM;CAAU,SAAS;CAAW,CAAC;AAE3F,MAAa,uBAAuB,IAAI,YAAY;AAOpD,MAAa,YAAuC,EAClD,UACA,OAAO,UACP,UAAU,WACV,GAAG,WACC;AAGJ,QACE,oBAAC,aAAD;EAAa,OAHM,eAAe;GAAE;GAAM;GAAS,GAAG,CAAC,MAAM,QAAQ,CAGrC;YAC9B,oBAACA,KAAW,MAAZ;GAAiB,GAAI;GAAO;GAA2B,CAAA;EAC3C,CAAA;;AAIlB,SAAS,cAAc;AAEvB,MAAa,YAA+B,EAAE,WAAW,SAAS,aAAa,GAAG,WAAW;CAC3F,MAAM,MAAM,gBAAgB;CAC5B,MAAM,UAAU,eAAe,IAAI;AAEnC,QAAO,oBAACA,KAAW,MAAZ;EAAiB,WAAW,GAAG,aAAa,EAAE,SAAS,CAAC,EAAE,UAAU;EAAE,GAAI;EAAQ,CAAA;;AAG3F,SAAS,cAAc;AAEvB,MAAa,WAA6B,EACxC,WACA,MAAM,UACN,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,gBAAgB;CAC5B,MAAM,OAAO,YAAY,IAAI;CAC7B,MAAM,UAAU,eAAe,IAAI;AAEnC,QAAO,oBAACA,KAAW,KAAZ;EAAgB,WAAW,GAAG,YAAY;GAAE;GAAM;GAAS,CAAC,EAAE,UAAU;EAAE,GAAI;EAAQ,CAAA;;AAG/F,QAAQ,cAAc;AAEtB,MAAa,aAAiC,EAAE,WAAW,GAAG,WAAW;AACvE,QAAO,oBAACA,KAAW,OAAZ;EAAkB,WAAW,GAAG,OAAO,OAAO,UAAU;EAAE,GAAI;EAAQ,CAAA;;AAG/E,UAAU,cAAc;AAExB,MAAa,iBAAyC,EACpD,WACA,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,gBAAgB;CAC5B,MAAM,UAAU,eAAe,IAAI;AAEnC,QACE,oBAACA,KAAW,WAAZ;EACE,uBAAA;EACA,WAAW,GAAG,kBAAkB,EAAE,SAAS,CAAC,EAAE,UAAU;EACxD,GAAI;EACJ,CAAA;;AAIN,cAAc,cAAc"}